ф]
n2[s], при min[LT] ) h; n3 [s], при min[LT] < h и s Ф m * k; c * (P(1))3, при s = m * k, k = 1,2,3,...
Предложенные алгоритмы отличаются от известных в литературе введением периода между рождением и возможностью дать потомство. Это позволяет отобрать для оператора репродукции элементы, прожившие несколько генераций за счет более высокой целевой функции.
ЛИТЕРАТУРА
1. Курейчик В.М. Генетические алгоритмы. Таганрог: ТРТУ, 1998. 242 с.
2. Куре йчик В.М., Зинченко Л.А. Эволюционное моделирован ие с динамическим изменением параметров // Труды VII национальной конференции по искусственному интеллекту. М.: Физматлит, 2000. C.516-523.
3. Chambers. Practical Handbook of Genetic Algorithms. Editor I. Washington,USA, CRC Press, 1999.
4. Goldberg D. E., Richardson J. J. Genetic algorithms with sharing for multimodal function optimization. Genetic algorithms and their applications: Proceedings of the Second International Conference on Genetic Algorithms, 1987. 41-49.
5. . . . // . .
и системы управления, 1995. № 2. C. 181-182.
УДК 681.3.001.63
В. Б. Лебедев1
ПЛАНИРОВАНИЕ СБИС НА ОСНОВЕ МНОГОУРОВНЕВОЙ ЭВОЛЮЦИИ
1. Постановка зада чи планирования. Планирование СБИС заключается в размещении на поле кристалла модулей, имеющих заданную площадь и не имеющих фиксированных размеров [1]. Модули и кристалл имеют форму прямоугольников. В результате планирования решаются сразу две задачи: определяется взаимное расположение модулей друг относительно друга, т.е. их размещение, и фиксируются размеры каждого модуля.
Проблема планирования формулируется следующим образом [2].
Имеется множество модулей М = {да,|/'=1,2,...,п}. Каждый модуль характеризуется тройкой <8Ь1^>, где - площадь модуля, а параметры ^ и /{ задают нижнюю и верхнюю границу значения
Н Н
т.е. и < ^ , (1)
wi wi
где к , - это высота модуля; w, - ширина модуля; = к , w, .
В качестве плана кристалла будем использовать план, получаемый путём рекурсивного использования «гильотинного разреза», т.е. последовательного разрезания прямоугольников на две части. Каждая область г, имеет размеры х, и у, .
,
Si <х, у,, Wi <х,, к<у, . (2)
1 Работа выполнена при поддержке РФФИ, грант №99-01-00050
В результате планирования строится план кристалла, представляющий собой
,
сегментами на неналагающиеся прямоугольники, в которые следует поместить
.
общей площади кристалла.
В данной работе рассматриваются генетические процедуры для решения за, , для более полного учёта специфики представляется четырьмя хромосомами, что увеличивает возможности целенаправленного комбинирования. С другой стороны, гены в одних и тех же локусах хромосом являются гомологичными, что упрощает выполнение генетических операторов кроссинговера и мутации
2. Принципы кодирования и декодирования хромосом при планировании. Плану кристалла на основе «гильотинного разреза» соответствует дерево разрезов, листьями которого являются вершины, соответствующие блокам, а внутренние вершины дерева соответствуют разрезам[3]. Процесс синтеза плана включает . . -ся в метризации плана, т.е. в определении размеров областей, удовлетворяющих дереву разрезов и ограничениям (1),(2).
Задать дерево разрезов - это, во-первых, задать структуру этого дерева, т.е. последовательность бинарных разрезов, во-вторых, для внутренних вершин дерева, соответствующих разрезам, указать тип разреза Н - горизонтальный или V - верти, - , ( )
[3]. Обозначим через Е = {| /' = 1,2,..,п } множество висячих вершин дерева разрезов, которые располагаются в горизонтальном ряду слева направо. Задать разметку блоков можно с помощью вектора Q = < д,■ | /' = 1,2,.,п >, где д, - номер .
Основу генетического алгоритма составляют принципы кодирования и деко, . В работе решение кодируется набором Я из четырех хромосом: Я={Н1,Н2,Н3,Н4}. Хромосома Н1 несёт информацию о разметке множества вершин Е. Хромосома Н2 содержит информацию о структуре дерева. Хромосома Н3 содержит информацию
о типах разрезов (Н или V). Хромосома Н4 содержит информацию о значениях
- к
соотношении —.
Пусть п - число областей плана (число вершин множества Е). Хромосома Н1 Имеет ВИД Н1 = < §1, §2,..., Яп-1 > .
Каждый ген §, может принимать значение в интервале от 1 до (п+Ы). Например: для п = 8; 1 < §1 < 8; 1 < §2 < 7; 1 < §3 < 6;.; 1 < §7 <2.
Н1 .
п = 8 имеется хромосома Н1 = < 3,5,3,4,4,2,2 > , и пусть имеется опорный вектор В1 = < 1,2,3,4,5,6,7,8 >, число элементов которого равно п, а значения элементов из-1 п.
их значениями выбираем элементы в опорном векторе и записываем их в порядке выборки в вектор Q.
Значение g1 = 3. Выбираем в Б1 элемент Ь^ (_/'= g1 =3, Ь13 =3) и записываем его на первое место формируемого вектора Q, т.е. д1 = Ь13 =3.
Удаляем элемент Ь13 из Б1 и получаем вектор Б2 = < 1,2,4,5,6,7,8 >, содержащий 7 элементов. Следующим выбирается g2 , g2 = 5. Отыскиваем элемент Ь25 вектора Б2 . Ь25 =6. Следовательно, д2 = 6. Удаляем из Б2 элемент Ь25 , получаем вектор Б3 = < 1,2,4,5,7,8 >. Далее:
Яз=3, Ъ3з=4, qз=4, В4=<1,2,5,7,8> ; g4=4, Ь44=7, q4=7, В5=<1,2,5,8>;
И5 =4, Ь54=8, q5=8, В6=<1,2,5>; g6=2, Ь62=2, q6=2, В7=<1,5>; g7=5, Ь72=5, q7=5, В8=<1>; и, наконец, q8=b81=1.
В итоге получаем вектор Q = < 3,6,4,7,8,2,5,1 >, задающий разметку множества вершин Е.
Рис.1
Рассмотрим структуру хромосомы Н2. Введём алфавит А = {X , •}. Структуру дерева разрезов можно задать, используя на базе алфавита А польское выражение для бинарного дерева, где X соответствует листьям дерева разрезов ( областям ), а
• - соответствует внутренним вершинам дерева ( разрезам ). Польские выражения для деревьев, представленных на рис.1,а и 1,Ь, имеют следующий вид:
X X • X X • X • • и X X • X X • • X • .
Процесс восстановления дерева по польскому выражению достаточно прост. Последовательно слева направо просматривается польское выражение и отыски-•, .
два ближайших подграфа, расположенных в полькой записи слева от знака • и образованных на предыдущих шагах. На рис.1,а и 1,Ь показаны контуром подграфы, образованные при просмотре польского выражения.
Отметим основные свойства польского выражения, выполнение которых необходимо, чтобы выражению соответствовало дерево разрезов.Обозначим через пх
- число элементов польского выражения типа X, а через п. - число элементов типа
• .Для дерева разрезов всегда выполняется равенство пх = п. + 1.
Если в польском выражении провести справа от знака • сеч ение, то слева от сечения число знаков X больше числа знаков •, по крайней мере, на единицу. Первый знак • в польском выражении (при просмотре слева направо) может появиться только после двух знаков X. Пронумеруем позиции между знаками X, как показано на рис.2.
XX 1 X 2 X 3 X 4 ... X № -1 .
Рис.2
Максимальное число знаков •, которое может появиться в позиции, равно номеру позиции. Напомним, что общее число п.= пх - 1.
Если польское выражение соответствует вышеперечисленным свойствам, то ему соответствует дерево разрезов.
Хромосома Н2 имеет вид: Н2 = < gI, g2,.., gn >.
Рис.3
В результате декодирования хромосомы строится польское выражение. Число генов в хромосоме равно п. , т.е. числу знаков ‘.’. Значение гена gi колеблется в пределах от г до п., т.е. г <7.(gi) <п.. Значение гена указывает номер позиции в польском выражении, в которую необходимо поместить знак . .
Например: пусть для п. = 4 имеется хромосома Н2 = <4,2,2,4>. Польское выражение, соответствующее хромосоме, имеет вид:
Х Х 1 Х
Х 3 Х
, ,
рис.3,а.
С помощью хромосомы Н3 задаются типы разрезов (Н или V). Число генов Н3 равно п. . Значением гена является 0 или 1, 0 - соответствует Н и 1 - соответст-
б
а
2
4
вует V. Разметка внутренних вершин (определение типа разрезов) осуществляется последовательно в порядке расположения знаков • в польском выражении.
Например: Н3 = < 1,0,0,1 >. Модифицированное с учётом Н3 польское выражение примет вид: X X X H V X X V К Пусть Н1 = < 1,1,1,1,1 >. Соответствующий Н1 вектор Q = < 1,2,3,4,5 >.
Тогда для Н1 = < 1,1,14 >, Н2 = < 4,2,2,4 >, Н3 = < 1,0,0,1 > дерево разрезов имеет вид, представленный на рис.3,Ь. А план разрезов имеет вид, представленный на pиc.4,a.
5 8
Рис.4
Размеры областей и описывающего прямоугольника плана определяются путем последовательной свертки областей по дереву разрезов исходя из размеров , .
Н4= ^41, g42,...,g4п }, где п - число модулей.
и
Значение гена g4i определяет значение соотношения 2г = —, при этом
щг
И
= g4 г * ё, где ё - шаг изменения значения гена хромосомы Н4.
Щг
I X
Значения гена g4г лежат в интервале — < g4г < —.
ё ё
Размеры модуля mi определяются исходя из заданного значения
И
Бг = И * wi и задаваемого хромосомой значения —^ = г1.
Пусть Я4=<0.5; 0.6; 0.75; 1.0; 1.0>, ё=1.£1=32; £> = 15; ^3=12; £4=25;
£5=36.
Тогда: И1 = 4, щ = 8; И2 = 3, щ = 5; И3 = 3, щ = 4; И4 = 5, щ = 5;
И5 = 6, щ = 6.
Метризованный план с размещенными в нем модулями, полученный путем свертки, показан на рис.4,Ъ. Размеры областей (на рис.4,Ъ поставлены сбоку) получили следующие значения: у1 = 6, Х1 = 6 ; у2 = 3, х2 = 5 ; у3 = 3 , х3 = 5 ;
У 4 = 6, Х4 = 5; у5 = 6, Х5 = 8.
Процесс декодирования (построения фенотипа) по хромосомам Н1-Н4 заключается в построении вектора Q по хромосоме Н1, модифицированного польского выражения по Н2,Н3,ъ определении размеров модулей по Н4 и в реализации процедуры последовательной свертки областей. Каждая из перечисленных процедур имеет оценку трудоемкости О(п), где п - число модулей. Таким образом, общая оценка трудоемкости равна О(п). Пространственная сложность для одного решения также имеет оценку О(п).
Линейная оценка временной сложности процедуры декодирования, а также , , -, , организации генетического поиска.
3. Г енетические операто ры при планировании. В работе используются два типа операторов кроссинговера К1 и К2. С помощью К1 новые решения получаются путём комбинирования составами хромосом родительской пары. Задаётся параметр Рк1 - вероятность кроссинговера. Просматриваются последовательно хромосомы от Н1 до Н4 и с вероятностью Ры осуществляется обмен гомологичными хромосомами родительской пары.
С помощью К2 новые решения образуются путём обмена гомологичных хро-. Рк2 - .
Просматриваем последовательно, начиная с первого, локусы хромосом. С вероят-Рк2 .
Комбинированный кроссинговер КЗ реализуется еле дующим образом. Сначала на выбранной родительской паре Я1 и Я2 реализуется кроссинговер К2, т.е.
осуществляется обмен генами. Образуется дочерняя пара Я* и Я'2. Далее эта пара рассматривается как родительская и к ней применяется кроссинговер К1, т.е. осуществляется обмен хромосомами. В результате последовательного применения к родительской паре Я1 и Я2 кроссинговеров К2 и К1 образуется дочерняя пара Я*
и Я>.
3 , 2 -
чайным образом выбирается значение Рк2 (0 < Рк2 < 1).
Оператор мутации выполняется следующим образом. Задаётся параметр Р,м -. -ния. С вероятностью Рм осуществляется мутация гена в текущем локусе. Мутация заключается в принятии геном случайного значения из заданного диапазона значений для гена в данном локусе.
В основу селекции как для выбора пары хромосом при кроссинговере, так и при отборе популяции положен “принцип рулетки”. В соответствии с этим принципом для всех решений устанавливается вероятность выбора. Вероятность выбора решения Я = { Н11, Н2г, Н3{ , Н4г} осуществляется по формуле
Р,
¥г
где ¥ г = 1-
¥г + 1
Решения с большими значениями фитнесса ¥г имеют большую вероятность выбора.
Как видно из алгоритмов, реализующих операторы кроссинговера и мутации, оценка их временной сложности имеет вид О(п).
4. Организация процедуры генетического поиска при планировании.
Представление решения в виде четырех хромосом дает возможность использовать оператор комбинирования набором хромосом в одном решении, что является приближением к естественной эволюции.
С другой стороны, представление решения набором из х хромосом дает возможность организации поиска решений в различных постановках, оставляя отдельные виды хромосом неизменными в процессе генетического поиска.
Например: при фиксированных Н1, Н3, Н4 искать оптимальное решение только лишь за счет изменения Н2 , т.е. типов разрезов (Н или V).
, -дит к сужению пространства поиска, но при этом возможна потеря оптимальных решений. В этой связи представляется целесообразным комбинирование отдельными постановками при поиске оптимального решения.
Например: для каждого модуля mi предварительно априорно выбирается
И
среднее, в пределах допустимого интервала, значение —. В соответствии с этим
Щг
Н 4 .
Н 4 . ,
может быть использована для решения задачи размещения разногабаритных элементов с фиксированными размерами, при этом используется реальное значение
И
——. Затем отбирается популяция Пн лучших решений, имеющих одну и ту же
Щг
Н 4
Н 4 .
В общем случае возможны три подхода к комбинированию постановок: последовательный, параллельный и параллельно-последовательный.
1
Рис.5
При последовательном подходе (рис.5) на каждом г-м этапе осуществляется генетический поиск путем модификации хромосом, входящих в заданный для этого этапа набор NHІ модифицируемых типов хромосом. Это означает, что в полном объеме используется кроссинговер К1, заключающийся в комбинировании наборов хромосом, входящих в решение, а кроссинговер К2 и мутация применяются только к тем хромосомам, которые входят в набор типов модифицируемых хро-.
, -
сом: ЫН, = {Нх}; ЫН2 = {Н2} ; ЫН3 = {Н3}; ЫН, = {Н4}. В набор может входить от одного до четырех типов хромосом. На первом этапе в качестве исходной служит популяция П . На втором - популяция П,, сформированная
после отработки первого этапа, и т.д. Отметим возможность циклического повто-.
При параллельном поиске производится распараллеливание процесса генетического поиска (рис. 6).
Рис.6
Вначале формируется исходная популяция Пн . Для каждой параллельной ветви задается набор типов хромосом - ЫНг, подвергающихся модификации.
Затем на первом шаге, на базе этой исходной популяции, на каждой параллельной ветви осуществляется генетический поиск путем модификации хромосом, входящих в соответствующий набор типов модификаций хромосом.
После некоторого числа генераций (поколений) осуществляется случайное или направленное перемещение хромосом между любыми популяциями П, — П4 , сформированными на данный момент на параллельных ветвях. После этого на вто-
ром шаге модифицированные популяции П10 — П40 вновь подвергаются обработке генетическими процедурами на параллельных ветвях. Число шагов С является управляющим параметром.
-
реализуется последовательная комбинация постановок (рис. 7).
Рис.7
На рис. 8 представлен псевдокод алгоритма планирования, реализующий параллельно-последовательный подход.
В качестве исходных данных вводятся массивы задача и генетика. В массиве
задача задается: число модулей, для каждого модуля значение его площади и
ь
границы значения —, а также критерии планирования и ограничения.
Массив генетика включает основные параметры, управляющие процессом :
N1 - число параллельных ветвей;
N2 - число последовательных постановок в одной ветви;
- ;
NH, . - набор типов модифицируемых хромосом в соответствии с выбран‘, J
ной структурой параллельно-последовательного поиска;
М - объем начальной популяции Пн ;
Т - число генераций поколений, реализуемых для каждой популяции Пн ;
У
Pk1, Pk2, P,, - вероятности кроссинговеров и мутации;
L - число пар для кроссинговера; t1 - ;
t 2 - ;
Algorithm ПЛАНИРОВАНИЕ; begin
задача=ИСХОДНЫЕ_ДАННЫЕ;
генетика=НАСТРОЙКА;
база=ФОРМ(задача);
пар_попул=НАЧ_ГЕНЕРАЦИЯ(задача, база, генетика);
С=ЧИСЛО_ШАГОВ;
т = ЧИСЛО_ПАРМЛЕЛЕЙ;
т=ДЛИННА_ПОСЛЕДОВА ТЕЛЬНОСТИ;
=1;
while К<С do {
I=1;
while I < N1 do {
J=1;
while J< N2 do {
nonyл(I)=ЭBOЛЮЦИЯ(nonyл(I), задача, база, генетика);
J=J+1;
};
I=I+1;
};
пар_попул=ОБМЕН(пар_попул);
C=C+1;
};
end
Puc.8
С помощью процедуры ФОРМ(задача) формируется массив база, включающий сведения, необходимые для работы генетического алгоритма планирования.
Это опорный вектор Bx, необходимый для декодирования хромосомы Hx; размеры хромосом; граничные значения генов в хромосомах Нх — Н4 .
Процедурой НАЧ_ГЕНЕРАЦИЯ(задача, база, генетика) осуществляется генерация начальной популяции Пн объемом М, на базе которой формируется на-
чальный набор популяции пар попул.Пи = {Rj | ] = 1,2,...,М}, = {Н1}, Н 2}, Н 3}, Н 4 J}. Причем пар^опул={попул(1), /=1,2,...,N1}, изначально все попул(Т)= Пн .
С этой целью в каждой формируемой хромосоме каждому гену, лежащему в локусе 1, случайным образом присваивается значение, лежащее в диапазоне
1 < g1i < П +1 — / для первого типа хромосом, в диапазоне 7 < g2І < П — 1 для
второго типа хромосом, в диапазоне — < g41 < -L, g3г. Е {0,1} .
8 8
Далее на каждом шаге (число шагов С) процесс параллельнопоследовательной обработки набора популяций пар^опул. С помощью процедуры ЭВОЛЮЦИЯ(попул(1), задача, база, генетика) в каждом узле (у) параллельнопоследовательной структуры производится эволюционирование популяции по-пул(1) в соответствии с набором.
В конце каждого шага процедурой ОБМЕН(пар^опул) осуществляется обмен хромосомами между популяциями попул(1) и формируется новый набор популяций пар^опул. Кроме того, этой же процедурой определяется лучшее по всем наборам , -
.
, -
раметров трудоёмкость алгоритма имеет линейную зависимость и пропорциональна О(Ы), где N - число блоков.
Для сравнения экспериментальных данных были выбраны наиболее известный генетический алгоритм [4] и алгоритм на основе моделирования отжига [2,3]. В качестве меры сравнения исследовалось число итераций, при котором достига-, . -ний было установлено, что разработанный и сравниваемые алгоритмы позволяют , , -дает большим быстродействием в том смысле, что для достижения высокого результата требуется меньшее число итераций.
Источником усовершенствования может стать правильная настройка управ.
разработанных генетических процедур.
ЛИТЕРАТУРА
1. LaPotin D.P. and Director S.W., “Mason; A global floorplaning tool,” in Proc.IEEE Int.Conf.on Computer - Aided Design, Santa Clara, CA, 1985, P.143-145.
2. Sechen C. and Sangiovanni A. - Vincentelli, :The Timberwolf placement and routing package,” IEEE J.Solid.State Circuits, Vol. SC-20, p.p. 510-522, 1985.
3. Bazargan K., Kim S., and Sarrafzadeh M., “Nostradamus: A.Floorplanner of Uncertain Designs,” IEEE Trans. Computer - Aided Design, vol.18, No 4, 1999, P.389-397.
4. Cohoon J.P., Hegde S.U., and Martin W.N., Richards D., “Dictributed genetic algorithms for the floorplan design problem,” in Proc. IEEE Transactions on Computer - Aided Design, vol.10, No 4, April 1991, P.483-492.