Секция интеллектуальных систем
УДК 681.3.001.63
Б.К. Лебедев, В.Б. Лебедев ПЛАНИРОВАНИЕ СБИС НА ОСНОВЕ ЭВОЛЮЦИОННОЙ АДАПТАЦИИ*
Задача планирования СБИС заключается в размещении на поле кристалла блоков, полученных на этапе разбиения, имеющих заданную площадь и не имеющих фиксированных размеров. При планировании решаются сразу две задачи: определяется взаимное расположение блоков друг относительно друга, т.е. их разме-, . строится план кристалла, представляющий собой охватывающий прямоугольник, разделенный горизонтальными и вертикальными сегментами на не налагающиеся прямоугольники, в которых следует поместить соответствующие блоки [1].
Процесс синтеза плана включает два этапа. На первом этапе синтезируется дерево разрезов. Второй этап заключается в метризации плана, т.е. в определении размеров областей и всего плана, удовлетворяющих дереву разрезов и ограничени-.
, -
.
В настоящее время сложились два основных подхода к построению плана - на основе “гильотинного разреза” и “не гильотинного разреза”.
Рассмотрим принципы кодирования хромосом при планировании на основе “гильотинного разреза”. В работе используется два типа разрезов - бинарный и п.
Решение кодируется набором Я из четырех хромосом: Я = {Н1,Н2,Н3,Н4}. Хромосома Н1 несёт информацию о разметке м ножества вершин дерева разрезов. Хромосома Н2 содержит информацию о структуре дерева. Хромосома Н3 содер-
. Н4 -
НИЯХ ОТНОШеНИЯ ВЫСОТЫ К Ширине - 21.
Рассмотрим структуру хромосомы Н2. Структуру бинарного дерева разрезов можно задать, используя на базе алфавита А = {О, •} постфиксную запись, где знак операнда О соответствует листьям дерева разрезов (областям), а знак операции • -соответствует внутренним вершинам дерева (р^резам). Запись для деревьев имеет следующий вид: О О • О О • О • • . Для восстановления дерева запись последовательно просматривается слева направо, и отыскиваются буквы типа •, соответствующие разрезам. Каждый такой разрез объединяет два ближайших подграфа, расположенных в записи слева от знака • и образованных на предыдущих шагах.
Пусть пх - число элементов записи типа О, а п. - число элементов типа •. Для дерева разрезов пх = п. + 1. В постфиксной записи слева от знака • число знаков О
* Работа выполнена при частичной финансовой поддержке программы развития научного потенциала высшей школы 2006-2008 годы (проекты РНП.2.1.2.2238, РНП 2.1.2.3193).
всегда больше числа знаков •. Пронумеруем позиции между знаками О: ОО 1 О 2
О 3 О 4 ... пх-2 О п*-!. Максимальное число знаков • в позиции равно номеру .
Для представления постфиксной записи разработана структура хромосомы, имеющая вид Н2 = < g1, g2,.., gn >. Число генов в хромосоме равно п. , т.е. числу знаков ‘.’. Значение гена gi колеблется в пределах от г до п., т.е. г < 2( gi) < п.. Значение гена указывает номер позиции в записи, в которую необходимо поместить знак .. Например: пусть для п. = 4 имеется хромосома Н2 = < 4,2,2,4 >. Запись, соответствующая хромосоме, имеет вид О О О . . О О . ..
Рассмотрим теперь структуру и принципы формирования линейной записи п- .
элементов А={аг | г=1,2,...,1}, где I- число вершин дерева. п элементов а{ е А0 соответствуют листьям дерева, а т элементов аг е Ау соответствуют внутренним вершинам п-арного дерева разрезов п+т=1, А=АуиАу.
Древовидная запись организована так, что каждая внутренняя вершина х1 с одной стороны является корнем некоторого поддерева для вершин расположенных слева от хг, а с другой стороны может быть дочерней вершиной для некоторой внутренней вершины, расположенной в соответствии с записью справа от хг.
Значением элемента аг е Ау соответствующего внутренней вершине хг является число поддеревьев, корни которых являются дочерними вершинами вершины х. Описания поддеревьев расположены в линейной записи непосредственно слева от а. Если аг е А0, то аг = 0, т.е. хг является листом дерева.
Рассмотрим запись 0,0,0,3,0,0,2,0,0,2,0,0,0,2,3,3. Выделим с помощью скобок иерархически вложенные друг в друга поддеревья, образованные при просмотре записи слева направо: ((0,0,0,3),(0,0,2),((0,0,2),0,(0,0,2),3),3).
п- :
к к
2 аг< к; 2 а= 1-1,
г=1 г=1
где к - номер позиции ; если а{ е А„ , то аг>2.
Используем множество элементов аг с нулевым значением в качестве опорного множества для построения древовидной записи при декодировании хромосомы. Расположим между этими элементами множество позиций: 0 0 1 0 2 0 3 ... п-2
0 п-1.
Если число элементов аг е А0 равно п, то число позиций равно п-1. В каждую позицию может быть помещено несколько элементов с ненулевыми значениями, но при этом должны быть соблюдены вышеперечисленные свойства.
Разработанная хромосома имеет вид Н=^{ | г=1,2,..., п-1}, где п - число листьев дерева. Ген gi может принимать значение в интервале от г до п-1, кроме того, ген либо помечен либо нет. Значение гена указывает номер позиции. Если ген не помечен, то в позицию, соответствующую значению гена, к ненулевым элементам последним справа записывается элемент со значением, равным двум. Если же ген ,
элемента увеличивается на единицу, а при отсутствии в позиции ненулевых элементов в нее записывается элемент со значением, равным двум. Метки хромосом задаются вектором M={mi | г=1,2,..., п-1}. Таким образом, древовидная запись кодируется парой хромосом. Пример: пусть задана пара хромосом Н =
{2,2,4,6,9,9,9,9,9}; М = {0,1,0,0,0,0,1,0,1}. После декодирования пары хромосом Н
и М полученная древовидная запись имеет вид
((0,0,0,3),(0,0,2),((0,0,2),0,(0,0,2),3),3).
Размеры областей и описывающего прямоугольника плана определяются путем последовательной свертки областей по дереву разрезов, исходя из размеров модулей, помещаемых в эти области.
Рассмотрены три варианта задания значений размеров модулей - фиксиро-, ( ) , применения разработанных алгоритмов.
Для задания гибких размеров модулей используется хромосома Н4= g42,
Я4з, я!4}, где п - число модулей. Значение гена g4i определяет значение соотношения высоты к ширине модуля.
Данные с нечеткостью состоят из списков распределения ширины Wi (1 < i < п) и списков распределения высоты Hi (1 < i < п), где п - число модулей. Необходимо построить план, причем такой, чтобы математическое ожидание площади описывающего прямоугольника (площади плана) было минимальным. Каждый список распределений содержит пары чисел: ширина (или высота) модуля и её вероятность [4].
тъ>-
Wi = Ь»! Р&П И (2, Р(2 и-- , Р^т„. № , '£р(,] ) = 1 .
i i 3=1
т,
Нг ={( Р(,1 Л (2, Р(2 Л.- (,т, , Р (,т, ))} . ^Р^у ) = 1 •
i i 3=1
1, -лениями W1 и Н1, с модулем 2, определяемым распределениям W2 и Н2, даёт следующее распределение ширины и высоты для модуля:
Wlл = w © W2; н 1,2 = н 1 ® н2.
Операции © и ®, называемые соответственно сложение распределений и максимум распределений, определяются следующим образом:
А © £2 = ( (2( ,Р(а\г )*Р(23 ))|(<^1/,p(d1i ))е £1 и (2( ,Р(2] ))е £2 }
А
и
<4> Р(<4 )* Е Р( 2 і ) ( ’ Р(Л1і ))Є А « (2(, Р( 2 і ))Є А [и
і МЛ
2
\
Л 2 і, Р( 2 і )* Е Р(Л1і ) ( ’ Р(Л1і ))Є А« (Р (2 і ))є А
іМЛі
)
Результаты исследований показали, что “не гильотинный” план значительно сложнее “гильотинного”. Идет интенсивный поиск сравнимого или даже лучшего представления “не гильотинного” плана.
Приемлемое размещение можно изображать с помощью упорядоченного дерева (УД). УД для заданного размещения является граф 0=(В,Е), где вершины В -элементы размещения плюс четыре дополнительных ограничивающих вершины и
2
Е - ребра. Ребра ориентированы. Существует два типа ребер: в направлении слева направо (между вершинами) и снизу вверх. Вес ребра - расстояние между вершинами. В работе Guo [2] описана процедура получения размещения по УД.
Большое распространение получила предложенная Murata [3] концепция размещения элементов методом последовательных пар. Переход от последовательной пары к размещению выполняется в два этапа. Сначала осуществляется переход к графу ограничений или упорядоченному дереву, а затем по дереву строится план или размещение элементов.
,
плана лежит дерево. В связи с этим актуальной проблемой является проблема представления самого дерева. Ниже приводится новая методика кодирования дерева в виде хромосом для использования такого представления в процедурах генети-.
Запись представляет собой набор элементов A={ai | i=1,2,...,n}, где n - число вершин дерева. Каждому элементу at древовидной записи соответствует вершина х{. Древовидная запись организована так, что каждая вершина xi с одной стороны является корнем некоторого поддерева для вершин, расположенных слева от х, а с другой стороны может быть дочерней вершиной для некоторой вершины, расположенной в соответствии с записью справа от х. Значением at является число поддеревьев, корни которых являются дочерними вершинами вершины х. Если at = 0, то xi является листом дерева, т.е. концевой вершиной. Описания поддеревьев рас-
ai.
Рассмотрим запись 0,0,2,0,1,0,2,0,0,3,0,3. Древовидная запись обладает сле-:
k
2ai < k, где k = 1,2,...,n.
i=1
Простейший способ получения древовидной записи заключается в последовательном наращивании значений элементов a. В начале все ai имеют нулевое значение. Число шагов равно n-1, где n - число вершин дерева. На i-м шаге увеличивается на единицу один из элементов ai+1, ai+2,..., an.
Хромосома для хранения информации о древовидной записи имеет вид H={gi li=1,2,..., n-1}. Значение гена - номер элемента ai, который надо увеличить на единицу. В исходном состоянии все ai равны нулю. Ген g,- может принять любое значение в интервале от i+1 до n. Хромосоме H={3,3,5,7,7,10,10,10,12,12,12} соответствует запись 0,0,2,0,1,0,2,0,0,3,0,3.
Предложенные структуры хромосом имеют линейную пространственную сложность. Трудоемкость td декодирования хромосом имеет вид - O(n).
Обозначим как Ri={ Hj \j=1,2,...,n} набор хромосом, задающих решение. В
1 2.
1
хромосом родительской пары. Просматриваются последовательно хромосомы от H1 до Н4 и с вероятностью Pk1 осуществляется обмен гомологичными хромосомами родительской пары. С помощью кроссинговера К2 новые решения образуются путём обмена генами между гомологичными хромосомами родительской пары. Просматриваем последовательно, начиная с первого, локусы хромосом. С вероят-Pk2 .
3
R1 R2 2 1. 3 , -
2 Pk2 .
Оператор мутации выполняется следующим образом. Задаётся вероятность мутации - Рм. Просматриваются последовательно локусы хромосом решения. С P . -
чается в принятии геном случайного значения из заданного диапазона значений для гена в данном локусе.
В основу селекции как для выбора пары хромосом при кроссинговере, так и при отборе популяции положен “принцип рулетки”.
Представление решения набором хромосом дает возможность организации поиска решений в различных постановках, оставляя отдельные виды хромосом неизменными в процессе генетического поиска [5].
При фиксированном значении управляющих параметров трудоёмкость алгоритма имеет линейную зависимость и пропорциональна O(n), где n- число блоков.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Naveed Sherwani. Algorithms for VLSI physical design automation. Kluwer academic publishers. Boston /Dordrecht/ London. 1995.
2. Guo P.N., Cheng C.K.. and Yoshimura T. "An O-tree reprfseniation of nonslicing floorplans and its applications." in Proc. Design Automation Conf., June 1999. pp. 268-273.
3. Murata H. and Kuh E.S. "Sequence-pair based placement method for hard/soft/pre-placed modules," in Pmc. Int. Smp. Phvsical Design, Apr. 1998, pp. 167-172.
4. Bazargan K., Kim S., and Sarrafzadeh M., “Nostradamus: A.Floorplanner of Uncertain Designs,” IEEE Trans. Computer - Aided Design, vol.18, No 4, 1999, p.p. 389-397.
5. . .
//Международная научно-техническая конференция “IEEE AIS’02, CAD - 2002”. - Москва, Физматлит, 2002. С. 398-404.
УДК 321.3
В.В. Курейчик, П.В. Сороколетов
О ПОСТРОЕНИИ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ*
В основе интеллектуальных систем поддержки принятия решений (ИСППР)
( ).
организацией знаний об окружающем мире в виде математических структур, например, множеств, графов, алгоритмов, которые отражают реальные связи и отно-
( , ). Под ИСППР понимают организационно-техническую систему, состоящую из интеллектуального комплекса средств поддержки принятия решений взаимосвязанного и взаимодействующего с пользователями и сетями ЭВМ, и выполняющую решения заданных задач [1-3].
Укрупненная структура ИСППР по аналогии с другими интеллектуальными системами будет состоять из четырех подсистем: адаптивной подсистемы; интерактивной подсистемы; обрабатывающей подсистемы; подсистемы управления.
: -, - . На каждом из этих уровней происходит моделирование эволюций и адаптация ал-
* Работа выполнена за счет финансирования РНП.2.1.2.3193