Научная статья на тему 'Адаптивный алгоритм разнесения соединений по слоям'

Адаптивный алгоритм разнесения соединений по слоям Текст научной статьи по специальности «Общие и комплексные проблемы естественных и точных наук»

200
24
Поделиться

Похожие темы научных работ по общим и комплексным проблемам естественных и точных наук , автор научной работы — Лебедев Б.К.,

Текст научной работы на тему «Адаптивный алгоритм разнесения соединений по слоям»

Раздел 2

Генетические и эволюционные алгоритмы

УДК 681.3.001.63

Б.К. Лебедев1

АДАПТИВНЫЙ АЛГОРИТМ РАЗНЕСЕНИЯ СОЕДИНЕНИЙ ПО СЛОЯМ

1. Введение. При двухслойной трассировке СБИС обычно реализуется следующий подход. Вначале одним из алгоритмов трассировки разрабатывается совмещенный эскиз трассировки межсоединений, удовлетворяющий следующим ограничениям: не допускаются наложения цепей друг на друга; отсутствуют точки касания цепей; в одной точке пересекаются не более двух цепей [1].

Исключить точки пересечения цепей, т.е. обеспечить правильное функциони-,

цепей в разные слои с введением дополнительных межслойных переходов (МП). Соблюдение вышеприведенных ограничений обеспечивает, с одной стороны, минимальное значение паразитной емкости, возникающей только в точке пересечения проводников, а с другой - тривиальное решение задачи разнесения по слоям, при котором все горизонтальные участки цепей располагаются в одном слое, а вертикальные участки цепей - в другом. При этом считается, что все контакты одновременно являются и местами перехода из слоя в слой, а на концах участков вводятся дополнительные межслойные переходы. Такой подход к разнесению соединений нельзя признать удовлетворительным из-за введения большого числа .

минимально необходимого числа МП, обеспечивающих разнесения соединений по .

Существует два основных способа решения поставленной задачи [2,3]. При первом способе на эскизе трассировки отыскиваются месторасположения минимально необходимого числа узлов, в которых размещаются межслойные переходы, обеспечивающие размещение совмещенного эскиза трассировки. Отметим, что определение конфигурации участков и их разнесения по слоям осуществляется после ввода межслойных переходов. 1 Работа выполнена при поддержке РФФИ, грант №99-01-00050

При втором способе на эскизе трассировки определяется месторасположение узлов, в которых могут размещаться межслойные переходы. Введенные узлы естественным образом разбивают цепи на участки. Для каждого участка существует две альтернативы размещения по слоям. Затем находится такое допустимое разнесение участков по слоям, при котором число межслойных переходов минимально.

Работа выполнена при поддержке РФФИ, грант №99-01-00050

Итак, при втором способе сначала участки разносятся по слоям, а потом в некоторых узлах вводятся необходимые МП, обеспечивающие это разнесение.

Задачу разнесения на основе второго способа можно свести к задаче псевдо-булевого программирования [4]. Однако использование классических методов исследования операций неприемлемо ввиду большой размерности задачи.

В настоящей работе используется второй способ решения, а решение ищется методами поисковой адаптации. В первой части работы представлен генетический алгоритм разнесения соединений по слоям, а во второй - рассматривается общий ,

принципами адаптации на основе самообучения и самоорганизации..

2. .

эскиз трассировки Т, отвечающий вышеперечисленным ограничениям. По методике, приведенной в работе [5], на эскизе определяется местоположение узлов, в которых могут располагаться МП, обеспечивающие разнесение соединений по сло-.

Введенные узлы естественным образом разбивают цепи на фрагменты. Будем ,

конфликта друг с другом. На рис.1 показано разбиение с минимизированным чис-, -( ).

■ сл

15 9 б 17 7

5 п1 10 11

1 8 *

4 • 1 1 ^ 14' 2 18 3

» 4 > • 4

Рис.1

Пусть имеется эскиз трассировки Т, который разбит на множество фрагментов / 1 Фрагменты £ и £ находятся в отношении конфликта,

если пересекаются друг с другом. Построим граф пересечений Я=(Х,и), X = { 11 = 1,2,...П}, и = { | / = 1,2,...П }, где х1 соответствует фрагменту £,

а две вершины х( и х^ связаны ребром ик , если соответствующие им фрагменты £ и £ находятся в отношении конфликта, т.е. пересекаются друг с другом. Полученный граф Я = (Х,и) состоит из некоторого множеств а несвязных между собой подгра-- .

однозначно соответствует некоторое множество фрагментов Е,сЕ, которое назовем конфликтно связной группой (КСГ).

Множество фрагментов Е = { 11 = 1,2,...п}. разбивается на конфликтно связные группы (КСГ). Для каждой КСГ Е существует только две альтернативы Л и а2 разнесения по слоям. Для эскиза трассировки Т (рис.1) образуются следующие КСГ:

Е1 = {1,4,5,9,13,15}; Е2 = {6,12,16}; Е3 = {2,14}; Е4 = {3,18};

Е5 = {8,11}; Е6 = {7,10,17};

(Щ(У№пе=0 , иЕ = Е.

2

На рис.2 представлены альтернативы разнесения КСГ Е1. Каждое множество Fi распадается на два подмножества Е1 и Е2, Е1 ^ Е2 = Е1, где Е1 - множество фрагментов, размещаемых в одном слое, а Е - в другом. Для нашего примера Е1 = {1,4,9}; Е/ = {5,13,15}; Е^ = {6,16}; Е22 = {12}; Е/ = {2}; Е32 = {14}; Е41 = {3}; Е42 = {18}; Е5 = {8}; Е^ = {11}; Е6 = {7,10}; Еб2 = {17}.

Будем считать, что альтернативе Л1 соответствует размещение Е^ в первом слое, а Е2 - во втором. Альтернативе Л2 соответствует противоположное размещение Е1 и Е2.

Для каждой КСГ можно реализовать любую альтернативу, независимо от выбранных альтернатив для остальных КСГ.

б

Рис.2

Очевидно, что конкретный набор альтернатив А = {А к | і = 1,2,... ; к є {1,2}} определяет конкретный вариант разнесения фрагментов по слоям и как следствие -

а

конкретный набор узлов, в которых помещаются межслойные переходы для реализации этого варианта разнесения фрагментов.

В связи с этим задача разнесения соединений по слоям сводится к поиску такого набора альтернатив А*, при котором число межслойных переходов Р(А*) минимально, т.е.

Р(Л *) ^ тт.

3. Организация процесса генетического поиска при разнесении соединений по слоям. Как уже указ ывалось выше, решение задачи разнесения фрагментов цепей по слоям полностью определяется набором альтернатив Л=(Л,к | 1=1,2,...,у; ке{1,2}}.Следовательно, хромосома должна нести информацию об альтернативах, выбранных для КСГ.

Хромосома И1, несущая информацию об 1-м решении (индивидуальности), имеет следующую структуру: И^^- |]=1,2,...,у}, где

1, если для КСГ ¥і выбрана альтернатива А}; 0, если для КСГ Г і выбрана альтернатива А 2.

н,

н.

о

1

о

1

1

о

Итак, хромосома представляет собой строку, состоящую из нулей и единиц. Пространственная сложность и временная сложность декодирования хромосомы имеют оценки 0(у), где у-число КСГ.

Основными генетическими операторами являются кроссинговер и мутация. Кроссинговер выполняется следующим образом. Пусть имеются две роди-И1 И2 ( .3).

Последовательно просматриваются локусы хромосом, и с вероятностью Рк осуществляется обмен генами в текущем локусе. В результате получается две хромосомы: Щи И2.

Модифицированный кроссинговер предполагает обмен гомологичными участками. Возможны .

участков I (1<у), на которые разбиваются хромосомы. Параметр 1 может задаваться случайно перед выполнением кроссинговера. Затем определяется 1у от деления у на I. Все участки хромосомы (возмож-

1

О

О

І'

1

о

о

н

1

1

о

1

о

о

н.

о

о

о

1

1

о

Рис.3

ни, кримс ииидсднсі и) иуду і ИМеТЬ ОДНу ДЛИНу.

При втором подходе перед выполнением кроссинговера задается параметр, такой, что 1<у, и случайным образом хромосома разбивается на I участков разной длины.

В обоих подходах после разбиения пары хромосом на участки последовательно просматриваются пары гомологичных участков и с вероятностью Рк осуществляется их обмен.

На рис.4 показан кроссинговер для первого подхода, а на рис.5 - для второго.

Н,

н,

н,

0 1 1|0 і i|o 1 о|1 i|

г

1 0 oil і 10 0 oh °l

о

1 0 О О і 10 0 0 1 о

0 1 " і !|0 1 »|i о|

0 10 0 1 0 1 1 10 0|

] 0 1 1 0 0 1 0 11 1|

о

0 1 1 1 0 0 1 1 11 1

] 0 0 0 1 0 1 0 10 0

Рис.4

Рис.5

н

н

Мутация хромосом реализуется следующим образом. Последовательно просматриваются локусы хромосом и с вероятностью Рт ген в текущем локусе

мутирует

В результате мутации ген приобретает противоположное значение: вместо нуля - единица, вместо единицы - ноль (рис.6).

В работе используется стандартная структура генетического поиска, предусматривающая формирование случайным образом исходной популяции размером М и выполнения К итера.

На каждой итерации последовательно выполняются операторы кроссинговера, мутации и

1

1

О

1

1

1

о

о

1

1

о

1

1

о

Рис.6

ж ,, эд генетического алгоритма.

В массиве эскиз хранятся исходные данные, описывающие совмещенный эскиз трассировки. В массивах узлы и фрагменты хранятся исходные данные об узлах и разбиении эскиза на фрагменты. С помощью процедуры ГРАФ(эскиз, узлы, фрагменты) строится граф пересечений К=(Х, и), информация о котором заносится в массив граф пересеч. С помощью процедуры

Algorithm РАЗНЕСЕНИЕ СОЕДИНЕНИЙ begin

эскиз=ИСХОДНЫЕ_ДАННЫЕ; узлы =ИСХОДН_УЗЛЫ; фрагменты=ИСХОДН_ФРАГМЕНТЫ; генетика=НАСТРОЙКА; граф_пересеч=ГРАФ(эскиз, узлы, фрагменты); смежность=ФРАГ_СМЕЖН(эскиз, узлы, фрагменты); группы=КОИФЛИКТ^ВЯЗН(граф^ересеч); нач_попул =ГЕНЕРА ЦНЯ(группы); фитнесс=РАСЧЕТ(нач_попул, группы, смежность); К=число генераций; while К > 0 do {

кросс^опул=0;

Ы=число_кросс; мут_попул=0; while N > 0 do {

род^ара=ВЫБОР(нач^опул, фитнесс, генетика); доч_пара=КРОССИНГ(род_пара, генетика); кросс^опул=ВКЛЮЧИТЬ(кросс^опул, доч^ара);

N=N-1;

};

фитнесс=РАСЧЕТ(кросс^опул, группы, смежность); тек^опул=ОБЪЕДИНИТЬ(нач^опул, кросс^опул); мут_попул=МУТАЦИЯ(тек_попул, генетика); фитнесс=РАСЧЕТ(.иут_попул, группы, смежность); тек^опул=ОБЪЕДИНИТЬ(тек^опул, мут_попул); лучш_^еш=ОТБОР(тек_попул, фитнесс);

К=К-1;

нач_попул=СЕЛЕКЦИЯ(тек_попул, фитнесс, генетика);

};

end

Рис.7

ФРАГ_СМЕЖН(эскиз, узлы, фрагменты) для каждого узла определяются инцидентные ему, т.е. смежные друг другу, фрагменты.

Данные заносятся в массив смежность. Напомним, что МП отсутствует, если смежные фрагменты (т.е. инцидентные одному узлу) расположены в одном слое. Далее процедурой КОНФЛИКТ_' СВЯЗИ (графпересеч) граф пересечений R разбивается на несвязные компоненты - конфликтно связные группы.

После этого процедурой ГЕНЕРАЦНЯ(г0тпы) формируется начальная популяция - нач^опул. Для каждой индивидуальности начальной популяции процедурой РАСЧЕТ(нач_попул, группы, смежность) рассчитывается значение фитнесса, которое заносится в массив фитнесс.

На каждой генерации (число генераций равно К) вначале реализуются операторы кроссинговера и мутации, а затем расширенная популяция подвергается редукции с помощью селективного отбора, т.е. уменьшению до начального объема.

Оператор кроссинговера выполняется N раз. Каждый раз процедурой СЕЛЕК_ПАРЫ(нач_попул, фитнесс) выбирается родительская пара. Выбор родпара осуществляется одним из способов, задаваемых при настройке механизмов генетического поиска. Это может быть «принцип рулетки», выбор на основе рейтинга и т.д.

Процедурой КРОССИНГ(род_пара, генетика) реализуется оператор кроссинговера и образуется пара дочерних хромосом доч_пара, которая процедурой ВКЛЮЧИТЬ(кросс_попул, доч_пара) включается в массив кросс_попул. Затем процедурой ОБЪЕДИНИТЬ(нач_попул, кросс_попул) массивы нач_попул и кросс_попул объединяются в тек_попул.

Каждая хромосома популяции тек_попул подвергается мутации с помощью процедуры МУТАЦИЯ(тек_попул) и образуется подпопуляция мут_попул. Для каждой индивидуальности массива мут_попул процедурой РАСЧЕТ(мут_попул, группы, смежность) рассчитывается значение фитнесса, которое заносится в массив фитнесс. Процедура ОБЪЕДИНИТЬ(тек_попул, мут_попул) объединяет мас-_ _ _ .

Заключительным этапом в пределах одного поколения является реализация процесса «естественного отбора», т.е. сокращение популяции тек_попул до размеров начальной популяции нач_попул с помощью процедуры СЕЛЕК_ПОПУЛ(тек_попул, фитнесс), чаще всего использующей «принцип рулетки».

Все хромосомы в представленных алгоритмах являются гомологичными, что исключает возникновение нелегальных решений и упрощает выполнение генетиче-, . прежде всего является линейная оценка временной и пространственной сложности , , решать задачи большой возможности, а это важно при проектировании СБИС. Временные затраты в пределах одного поколения складываются из затрат на декодирование хромосом, затрат на операторы кроссинговера, мутации, селекции и . . -ные затраты в пределах одного поколения для популяции хромосом объема M имеют оценку O(vM).

4. Организация комбинированной адаптивной поисковой процедуры. Материалы статьи являются второй составной частью общего подхода к построению адаптивной поисковой процедуры для решения задачи разнесения соединений по слоям. В ранее изданной статье “Разнесение соединений по слоям на основе коллективной адаптации” [5] процесс оптимизации рассматривается как адаптивный поисковый процесс на основе самообучения и самоорганизации, моделируемый вероятностными обучающимися автоматами адаптации [6].

Наблюдение живых организмов показывает, что адаптация, являющаяся движущей силой эволюционного развития, многолика и прежде всего проявляется как сочетание генетической адаптации и адаптации на основе самообучения и самоор-.

Адаптация на основе самообучения и самоорганизации доминирует в процессе существования и развития конкретного живого организма, в том числе и человека. Объектом адаптации является конкретный индивидуум. Генетическая адаптация является средством развития организма как вида и ее механизмы реализуется на множестве организмов (популяции) как на едином целом.

Общий подход к построению поисковых адаптивных процедур опирается на сочетание принципов адаптации на основе самообучения, самоорганизации и гене.

Особенностью адаптивных обучающихся алгоритмов является то, что они легко и достаточно быстро находят оптимальное (локально) решение, лежащее в некоторой достаточно обширной окрестности начальной точки поиска в простран. ,

если решение с глобальным оптимумом лежит вне этой окрестности, то оно не бу-

. , , структуры поиска и механизмы вероятностных обучающихся автоматов, увеличивающих размеры окрестности, а с другой стороны, используется метод “набрасывания”, суть которого в выборе нескольких точек начального поиска, последовательной реализации алгоритма для каждой из них и выборе лучшего решения.

При генетическом поиске просматривается множество решений “р^бросан-”, , . -цессе генетического поиска решения с худшими оценками по сравнению с другими, но лежащими в областях, включающих точки с глобальным оптимумом, могут .

Другая проблема генетического поиска заключается в том, что решения, содержащиеся в развивающейся популяции, бывают очень близки к оптимальным, но механизмы генетического поиска, реализующие случайные изменения, часто не находят ту цепочку изменений, которые приводят к оптимальному решению. Для этого нужны “осмысленные” изменения, направленные в сторону глобального оп-.

основе самообучения и самоорганизации.

В связи с этим для преодоления барьера локальных оптимумов обоснованным

,

основе самообучения и самоорганизации.

Простейшим способом сочетания генетического и адаптивного обучающегося алгоритма является их последовательная реализация.

После отработки генетического алгоритма в популяции, полученной на последней генерации, отбирается несколько решений (может быть одно лучшее), затем подключается адаптивный обучающийся алгоритм, использующий отобранные решения в качестве начальных.

В общем случае адаптивная поисковая процедура на основе самообучения и самоорганизации включается в структуру процедуры генетического поиска. На рис.8 приведен псевдокод комбинированной адаптивной поисковой процедуры.

Массив задача включает все исходные данные. В начале процедурой ФОРМ (задача) формируется начальная популяция нач^опул. На каждой генерации (число генераций равно К) сначала процедурой ГЕНЕТИКА(нач^опул) реализуются , . расширенная популяция тек^опул. Процедурой А_СЕЛЕКЦИЯ (тек_попул) в по-_ _ -работки адаптивным обучающимся алгоритмом. Отметим, что в множество ад_попул не включаются решения, ранее полученные алгоритмом адаптивного обучения и не подвергавшиеся дальнейшим изменениям генетическими операторами. Далее каждое решение множества ад_попул с помощью процедуры АДАПТАЦИЯ (ад_попул) подвергается обработке алгоритмом адаптивного обучения и получается обновленное множество решений ад_попул. Полученные решения процедурой ОБЪЕДИНИТЬ (тек_попул, ад^опул) включаются в популяцию тек^опул. В заключение процедурой СЕЛЕКЦИЯ(тек^опул) на базе популяции тек^опул осуществляется отбор и формирование популяции нач^опул.

Algoritm ПОИСКОВАЯ АДАПТАЦИЯ begin

задача= ИСХОДНЫЕ ДАННЫЕ нач_попул= ФОРМ (задача) :

К=число генераций;

while > 0 do

{

_ = ( _ );

_ = _ ( _ );

_ = ( _ );

_ = ( _ , _ );

_ = ( _ );

= -1

};

end.

Рис.8

Дополнительным источником усовершенствования является правильная настройка параметров управления.

Использование рассмотренных средств и методов поисковой адаптации позволило синтезировать эффективный алгоритм разнесения соединений по слоям.

6. Экспериментальные исследования. Генетический алгоритм разнесения соединений по слоям был реализован на языке Си ++ в среде Windows. Экспериментальные исследования проводились на ЭВМ типа IBM PC/AT Pentium 166.

Основной целью экспериментальных исследований являлось выявление зависимости и влияния на качество решения задачи различных комбинаций управляющих параметров и структур. В результате экспериментов было установлено, что для генетического алгоритма такими значениями являются Рк = 0,35; Рм = 0,1; М = 80; К= 120.

Вероятность получения оптимального решения после одного прогона генетического алгоритма составила 0,8. Исследования трудоемкости алгоритма показали, что при фиксированных значениях Рк и Рм, М и К она имеет оценку O(v). Время выполнения 120 генераций для разнесения 200 цепей составило 48 секунд.

Лучшие по качеству решения получались при использовании подхода, связанного с распараллеливанием генетического алгоритма. В процессе генетического поиска осуществляется эволюционирование нескольких подпопуляций. На каждой генерации хромосомы случайным образом мигрируют из одной подпопуляции в другую. Исследования показали, что достаточно трех подпопуляций, при этом вероятность получения оптимального решения составила 0,92. Экспериментальные , -

, , =20 5 -

роятность получения оптимального решения составила 0,99.Сравнение с алгорит-[1,3,4],

работы предложенный алгоритм дает более качественные решения. Преимущество особенно заметно для задач большой размерности.

ЛИТЕРАТУРА

1. Курейчик В. М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР. М.: Радио и связь, 1990. 352с.

2. Селютин В.А. Машинное конструирование электронных устройств. М.: Сов.радио, 1977. 384с.

3. Каляев А.В. и др. Автоматизация проектирования вычислительных структур. Ростов н/Д: Изд-во РГУ, 1983. 224 с.

4. Карелин В.П., Калашников В.А. Применение метода бивалентного программирования для решения некоторых задач технического проектирования //Микроэлектроника. 1979. Вып.5. Т.8.

5. . . // -

вестия ТРТУ. Тематический выпуск “Интеллектуальные САПР”. Таганрог: Изд-во ТРТУ, 1999. №3. С.176-186 .

6. Лебедев Б.К Адаптация в САПР: Монография. Таганрог: Изд-во ТРТУ, 1999. 160с.

УДК 681.3.001.63

Ю.В. Чернухин, Ю.Ю. Здоровеющее

СЕТЕВОЙ ЭВОЛЮЦИОННО-ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ПРИНЯТИЯ КОЛЛЕКТИВНЫХ РЕШЕНИЙ В ЧЕЛОВЕКО-МАШИННЫХ СИСТЕМАХ

В настоящее время существует проблема продуктивного взаимодействия больших коллективов людей, работающих над некоторой общей задачей как в локальных, так и в глобальных компьютерных сетях. Одним из перспективных путей решения этой проблемы является использование эволюционно-генетических мето-( ) .

В работе [1] обоснована возможность использования ЭГМ для решения задачи коллективного составления фотопортретов. Такая задача возникает в следственной практике в том случае, когда несколько людей видели подозреваемого, запомнили разные черты его лица и пытаются совместно составить его консолидированный фоторобот. Как следует из [1], использование ЭГМ позволяет получать портреты подозреваемых на основании коллективных знаний свидетелей.

Для организации коллективного принятия решений на ЭВМ в данном случае используется простой генетический алгоритм [2], графический образ которого имеет вид, показанный на рис. 1.

Рис.1. Схема классического эволюционно-генетического алгоритма

Из рис.1 видно, что процесс принятия коллективных решений происходит по , .