<1; 6; 3>
<4; 8; 2>
<5; 9; 7>
При координатном представление элементы, размещаемые в п-мерном пространстве не повторяются. Предлагается использовать векторную хромосому, в которой локус соответствует номеру элемента, а аллель - кортежу вида <х1; х2; ... хп> - определяющему “координаты” элемента. Тогда получим:
<1; 3> <3; 2> <3; 3> <1; 2> <1; 1> <2; 3> <3; 1> <2; 2> <2; 1>
Отметим, что кроме рассмотренных существуют и иные методы кодирования информации.
Заключение. Математически доказано, что не существует идеальной структуры представления решений в генетических алгоритмах. Поэтому для получения эффективного решения оптимизационных задач необходимо сочетать все способы, которые позволят кодировать и декодировать любое возможное решение и производить его оценку. Способ представления различных типов данных в виде кода хромосомы определяет содержание отдельных операторов и генетического алгоритма в целом. Кроме того, правильный выбор представления, способов кодирования и декодирования обуславливает не только пространственную и временную , .
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Гринченко С.Н. Метод «проб и ошибок» и поисковая оптимизация: анализ, классификация, трактовка понятия «Естественный отбор» http://zhumal.ape.relam.ru/ аг11с1е1з/2003/104.р^.
2. Рутковская Д. Нейронные сети, генетические алгоритмы и нечеткие системы. - М.: Горячая линия - Телеком, 2007. - 452 с.
3. Бакапо М.А. Варианты представления различных типов данных, их кодирование и декодирование в виде хромосом // Известия ТРТУ. Тематический выпуск «Интеллектуальные САПР». - Таганрог: Изд-во ТРТУ, 2007. - С. 70-75.
4. Гладков Л.А., Курейчик В.М., Курейчик В.В. Генетические алгоритмы. - М.: Физмат-лит, 2006.
УДК 658.512
Б.К. Лебедев, В.Б. Лебедев, О.Б. Лебедев ЭВОЛЮЦИОННЫЕ МЕХАНИЗМЫ ТРАССИРОВКИ В КАНАЛЕ*
Работа посвящена адаптивным поисковым алгоритмам детальной трассировки с использованием интеллектуальных процедур.
Рассматривается метод канальной трассировки (КТ), работающий с использованием процедур снижения пространственной сложности задачи трассировки.
При КТ каждая цепь, представляется в виде набора горизонтальных и верти. -, -ний (ГВО) Оу=(Х,и) и графа горизонтальных ограничений (ГГО) Он=(Х,Щ. Задача трассировки в канале рассматривается как задача распределения фиксированно-
* Работа выполнена при поддержке РФФИ (грант № 07-01-00174). 12
го множества горизонтальных участков Е =£ | ¡=1,2,...,Ы} в множестве магистралей М =(щ | ]=1,2,...,Ь}.
Вначале, на основе совместного учета ГГО и ГВО, для каждого участка £ определяются граничные, сверху и снизу канала, номера 3* и магистралей, в
которые он может быть помещен. На основе совместного анализа 3 и , ГГО и
, , ширины канала Е,т [1]. Для каждого £ формируется множество Mi ={т} - набор разрешенных магистралей (НРМ), в которых £ может быть размещен при ширине канала, равной Е,т.
На основе исследования и анализа ряда закономерностей, учитывающих специфику задачи трассировки в канале, в работе [1] сформулированы 6 правил «отсечки» (ПО), заключающиеся в сужении НРМ без потери оптимальности, и правило проверки (ПП) реализуемости трассировки соединений в канале с заданной шириной.
На базе ПО и ПП разработана адаптивная процедура получения решения в усеченном пространстве решений.
Разобьем множество горизонтальных фрагментов Е на подмножества Ек, Е ={Ек| к=1,2,...,У} в соответствии со следующими правилами:
1. ЦЕк = Е, У(у)Щ п Е} = 0].
к
2. Любые два участка /еЕк и £еЕк находятся в горизонтальном конфликте и не могут быть помещены в одну магистраль.
3. Подмножества Ек сформированы и пронумерованы так, что все левые концы участков Ек расположены левее всех левых концов участков Ек+1.
Рассмотрим процедуру разбиения Е на Ек. Обозначим через и и ri левый и правый концы горизонтального участка £ Каждый ^ и имеют свою абсциссу. Сформируем упорядоченный массив А, состоящий из концов отрезков £{еЕ. Концы в массиве А располагаются по возрастанию их абсцисс. Если и и г)■ имеют одну и ту же абсциссу, то г)■ в А располагается за 4
Алгоритм А1.
1. к=1 (к - номер подмножества).
2. , , .
, . 5.
3. Если выбранный элемент является левым концом I, то £ включается в Ек и переход к п. 2, иначе - к п. 4.
4. Если выбранный элемент является правым концом ri и £ входит в Ек, то к=к+1. Переход к п. 2.
5. .
Е Ек .
( . 1), -
строены ГВО и ГГО.
Для отображения решения задачи канальной трассировки (ЗКТ) формируется матрица Б, число столбцов которой равно числу подмножеств Ек, а число строк равно Е,т (рис. 2). В каждый к-й столбец заносятся элементы множества Ек. Построенная таким образом матрица Б используется для символьного представления решения ЗКТ. Таким образом, если считать, что элементы матрицы Б, размещенные в одной строке, размещаются в одной магистрали, то матрица Б будет решением
,
конфликты, т.е. отсутствуют нарушения ограничений, задаваемых ГВО и ГГО.
Рис. 1. Пример трассировки в канале
й, й2 й3 Й4
1 4 0 6
10 12 5 0
2 11 0 7
3 0 13 0
8 0 9 14
. 2.
представление решения задачи канальной трассировки
Формирование решения ЗКТ осуществляется в процессе эволюционной модификации матрицы Б. Вначале в каждый к-й столбец элементы множества Ек заносятся случайным образом, но в соответствии с НРМ, построенным для каждого
элемента. На первом этапе эволюционная модификация матрицы Б производится путём выборочных групповых парных перестановок соседних элементов в столбцах. Адаптивный процесс состоит из повторяющихся шагов, каждый из которых представляет собой переход от одного решения (состояния матрицы Б) к другому -лучшему [2], что обеспечивает направленное последовательное перемещение элементов в столбцах матрицы Б. Глобальная цель адаптивного процесса - ликвидация вертикальных и горизонтальных конфликтов между горизонталь.
Б . -
лиз осуществляется за четыре такта.
На каждом такте рассматриваются множество непересекающихся пар элементов (ёр С+1у) матрицы Б, каждая из которых расположена в одном у'-м столбце и в двух соседних строках i и /'+1. Отметим, что первый элементом пары расположен над вторым элементом пары. Будем в дальнейшем первый элемент пары называть верхним, а второй нижним. На первом такте анализируется множество Р1 непересекающихся пар элементов, у которых у'-нечетное число, /-^^^тнос число: Р1={(ср с/+1,]) 1 i=1,3,5,..., j=1,3,5,...}, р1={(<С1Ъ d2^), (ёзь d4^), (С5Ь d6^),..., (ё1з d2з), (С33, С43), (С53, С63),..., (С15, С25), (С35, С45), (С55, С65),... . На втором такте анализируется множество Р2 непересекающихся пар элементов, у которых у- четное число, > нечетное число: Р2={(Ср, /=1,3,5,..., р=2,4,б,...}, Р2={(Сп, С22), (Сз2, С42), (С52,
С62),..., (С14, С24), (Сз4, С44), (С54, Сб4),..., (См, С2б), (Сзб, С4б), (С56, Сбб),.,}. На третьем такте анализируется множество Р3 непересекающихся пар элементов, у которых р-нечетное число, /'-чстнос число: Р3={(Ср, С+^1 i=2,4,6,..., р=1,3,5,...}, Р3={(С21, С31),
(С41 С51) , ^бЬ d71),■■■, (d23, d33), (d43, d53), (d63, d73),■■■, (d25, d35), (d45, d55), (d65,
С75),..,}. На четвертом такте анализируется множество непересекающихся пар элементов, у которых у'-четное число, /'-чстнос число: Р4={(Ср С+^1 i=2,4,6,...,
j=2,4,6,...}, P4 = {(d22, С32), (d42, С52), (d62, d72),■■■, (d24, d34), (d44, d54), (d64, d74),■■■, (d26,
С36), (С46, С6), (С66, С76),..., }. На рис. 3 показаны схемы, в соответствии с которыми образуются подмножества пар. Пара элементов в столбце помечена одной цифрой.
Пары элементов на каждом такте анализируются независимо друг от друга. По результатам анализа принимается решение о перестановке элементов каждой
пары. Локальная цель перемещения элемента ёу в столбце у матрицы Б - достижение им позиции /, в которой у элемента ёу отсутствуют вертикальные и горизонтальные конфликты с остальными элементами матрицы Б. Глобальная цель - формирование решения ЗКТ в минимальном числе магистралей.
1 такт
1 - 1 - 1
1 - 1 - 1
"> - - п
"> - 0 - п
3 - 3 - 3
3 - 3 - 3
- 1 - 1 -
- 1 - 1 -
- - "1 -
- 0 - п -
- 3 - 3 -
- 3 - 3 -
3 такт
- - - - -
1 - 1 - 1
1 - 1 - 1
п - - п
0 - о - 0
3 - 3 - 3
3 - 3 - 3
4 такт
- 1 - 1 -
- 1 - 1 -
- - -
- -> - о -
- 3 - 3 -
- 3 - 3 -
Рис. 3. Схемы, в соответствии с которыми образуются подмножества пар
В процессе анализа для каждого элемента матрицы Б (с ненулевым значением), соответствующего некоторому участку Д определяется его состояние, т.е. наличие или отсутствие горизонтальных и вертикальных конфликтов с остальными элементами матрицы Б в соответствии с их расположением в матрице. Если элемент ёы находится в горизонтальном конфликте с каким-либо элементом ёу, расположенным в той же строке, что и ёи, то оба они помечаются меткой |, т.е. ёии ёу необходимо разнести по разным строкам. Если в соответствии с расположением элементов в матрице Б элемент ёы находится в вертикаль ном конфликте с каким-либо элементом ёу, причем для его ликвидации необходимо ёы поместить выше ёу, то ёы помечается меткой ], а элемент ёу меткой {. Если элемент ёы не конфликтует
Б , . . -
ний, задаваемых ГВО и ГГО, то элемент ёы помечается меткой 0. Метки { и | суммируются. Если число меток I больше числа меток |, то окончательно элемент
помечается одной меткой [. И наоборот. Если же число меток I равно числу меток , 0,
. , , помечены парой меток, одна из которых - |, а другая - либо |, либо |. В этом случае остается только одна из меток - либо |, либо | соответственно.
Суть анализа каждой пары заключается в анализе состояний элементов рас, -
.
В работе рассматриваются два подхода. При первом подходе задача решается с помощью простой эволюционной процедуры. При втором подходе задача решается методами поисковой адаптации на основе коллективного поведения автоматов .
При первом подходе в процессе эволюционной модификации матрицы Б в соответствии с вышеприведенной методикой перестановка пары элементов (ёу, ё+у матрицы Босуществляется при следующих комбинациях их состояний: Д; Ц; 1Т; И; |0; 0"Г; 0|; 10. Для остальных комбинаций - Д, Д, Д, Ц,, Ц, |0, 0,1,, 00 перестановки либо не выполняются, либо для преодоления локального барьера выполняются с некоторой вероятностью. При этом комбинации упорядочиваются по степени ухудшения состояния и соответствующие этим комбинациям значения вероятностей перестановок уменьшаются в этом же порядке.
При втором подходе решение оптимизационной задачи трассировки методами поисковой адаптации осуществляется на основе сочетания самообучения, само-
организации и генетического поиска, что позволяет преодолеть барьер локального оптимума. Концептуальная схема решения рассматриваемой проблемы такова. Задача представляется в виде многоагентной системы (МАС), состоящей из простейших реактивных агентов, которые способны достигать поставленных целей, согласовывать индивидуальные цели с общими целями всего коллектива, осуществлять распределение ресурсов, реализовывать процессы саморегулирования.
Для реализации механизма адаптации каждому объекту (элементу матрицы
12
В) сопоставляется два автомата адаптации (АА): А у и А у , моделирующих поведение объекта адаптации в среде. Автомат А1 ¡у управляет перестановками элемента йу матрицы В в том случае, когда он является верхним элементом пары, а А2у управляет перестановками элемента йу матрицы В в том случае, когда он является нижним элементом пары Число групп состояний АА равно числу возможных альтернатив при перестановке элемента йу. А1^. Таких альтернатив 3: переставлять (у), не переставлять (п), нейтральное положение (е).
Не нарушая общности, рассмотрим принципы функционирования одного АА. АА имеет 3 группы состояний {С1^, С2^, С3^}. Если АА находится в группе С1^, то соответствующий ему элемент йу стремится к перестановке со вторым элементом рассматриваемой пары (шьтернатива У1). С3^ соответствует запрету перестановки для йу (шьтернатива У3). С2^ - нейтральное состояние (шьтернатива У2). Граф-схема переходов АА представлена на рис. 4.
перестановка нейтральное состояние запрет <— 0 ->
1-
-к +_^
С1« С2;1 С?»
Рис. 4.Граф-схша переходов АА ¡типа
Число состояний в каждой группе состояний задается параметром Оу, называемым глубиной памяти или “степенью доверия”. На рис. 4 для каждой группы этот параметр равен 3. Первоначально АА находится в одном из начальных со-( ( . .1) ). -бенностью представленного АА является то, что если в группу С (нейтральное положение) осуществлен переход ИЗ С1^ , ТО ВЫХОД ИЗ С2у возможен ТОЛЬКО В С3у , и наоборот. При входе в С2^ из С3^ выход из С2^ возможен только в С1^ . Это отражает эвристическое соображение, заключающееся в том, что изменение отношения к перестановке осуществляется через нейтральное положение. С другой стороны, это может быть тормозом и замедлять процесс изменения отношения к перестановке в процессе адаптации.
На каждой итерации работа адаптивного алгоритма трассировки осуществляется за четыре такта. На каждом такте рассматривается одно из подмножеств пар
Р1, Р2, Р3, Р4-
На каждом такте выполняется 4 шага.
На 1-м шаге определяется состояние каждого элемента йу в соответствии с его расположением в матрице В . В результате элементы помечаются метками, как .
2- -
ветствующих им АА. Последовательно просматриваются все пары рассматривае-. ,
.
Если рассматривается верхний элемент, то сигнал поощрения вырабатывается при следующих комбинациях состояний элемента и АА: 1у, ]п, |у, 0е, а сигнал наказания вырабатывается при следующих комбинациях состояний элемента и АА: ТУ, К [п. Сигнал подается на АА А1 у.
Если рассматривается нижний элемент, то сигнал поощрения вырабатывается при следующих комбинациях состояний элемента и АА: ]у, [п, |у, 0е, а сигнал наказания вырабатывается при следующих комбинациях состояний элемента и АА: ]п, |и, [у. Сигнал подается на АА А2у
На 3-м шаге по сигналу поощрения или наказания производится переход АА в новое состояние в соответствии с алгоритмом поведения АА.
На 4-м шаге в соответствии с комбинацией состояний АА А^ и А2+гу осуществляются или нет парные перестановки в каждой паре (йу, й+1у), принадлежащей рассматриваемому множеству пар. Процесс основан на парном взаимодействии , -нии. Для этого предварительно среди всех комбинаций состояний пары АА, соответствующих паре элементов из рассматриваемого множества пар отбираются та, . являются следующие комбинации состояний пары АА А^ и А2+1у-: (уу), (уе), (еу).
,
ситуации типа (ее), т.к. это позволяло выйти из локального оптимума.
, -
метра $у равным 1+3.
Работа адаптивной процедуры завершается в двух случаях. В первом случае работа процедуры завершается после того, как будет достигнуто такое состояние матрицы В, при котором все ее элементы помечены только символом 0, т.е. соответствующие им фрагменты размещены по магистралям без нарушений ограниче-, . после выполнения заданного числа шагов (итераций). Если после выполнения заданного числа шагов отдельные элементы матрицы В размещены с нарушениями горизонтальных и вертикальных ограничений используется стандартная процеду-,
Вк. Матрица Вк имеет тоже число столбцов, что и матрица В, а число строк определяется в процессе работы стандартной процедуры.
Вк В ,
. Вк -
разом. Последовательно по строкам начиная с первой, а пределах строки слева направо просматриваются элементы матрицы В и определяется возможность их размещения в формируемой строке матрицы Вк в соответствии с Оу и Он. Если , Вк
В . В
следующей строки матрицы Вк и т.д. пока не обнулится матрица В. Временная сложность адаптивной процедуры на одном шаге - О(п). Сравнение с известными
,
более качественные решения
Тестирование разработанных алгоритмов КТ и их сравнение с известными производилось на бенчмарках Ех1, Ех3Ь, Ех3с, Ех4Ь, Ех5, трудный пример Дойча, По сравнению с существующими алгоритмами достигнуто улучшение результатов на 2-5%.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Лебедев Б.К. Интеллектуальные процедуры синтеза топологии СБИС. - Таганрог: Изд-во ТРТУ, 2003.
2. Лебедев Б.К. Адаптация в САПР. - Таганрог: Изд-во ТРТУ, 1999.
3. Леб едев Б.К. Методы поисковой адаптации в зад ачах автоматизированного проектиро-
. - : - , 2000.
УДК 681.31
Ю.О. Чернышев, П.Г. Белявский, А.Ю. Полуян ЭВОЛЮЦИОННЫЙ ПОДХОД К РЕШЕНИЮ ЗАДАЧИ О НАЗНАЧЕНИИ ЧЕРЕЗ ОПРЕДЕЛЕИЕ КРАТЧАЙШЕГО ПУТИ
Введение. Задача о назначении является частным случаем транспортной задачи [1]. Поэтому ее можно решать, например, методом потенциалов, алгоритмом Литла, а также венгерским методом [2, 3]. Указанные алгоритмы определения оптимального назначения не дают заранее временной оценки решения, а некоторые из них не всегда приводят к оптимальным решениям. При практическом увеличении размеров матрицы ограничений применение этих методов также становится нецелесообразным. С целью сокращения вычислительной сложности решения задачи о назначении и получении глобального оптимального решения предлагается свести задачу о назначении к определению кратчайшего пути в графе.
Математическая модель задачи о назначении. Для задачи о назначении решение ее представляет собой перестановку ф1, р2, ... рп) чисел 1=1,...,п, полученную в результате назначений вида 1 ^ р г . Целью является нахождение на конечном множестве указанных перестановок минимума затрат ^с гр , 1 =1,...,п.
г
Любую перестановку можно интерпретировать как точку в п2 - мерном евклидовом пространстве. При этом ее удобно представить в виде п х п - матрицы Х= //х у //, где х у = I в случае назначения ьго кандидата на ью должность и х у = 0
У У У
в противном случае. Чтобы не помешать применению программирования, заменим последнее условие другим: х у > 0. Минимум суммарных затрат запишется:
т1п р= X X С уху , ^ -> =1, п.
i
Тогда целочисленные условия не дробления должностей и недопустимости :