УДК 658.512
Б.К. Лебедев, В.Б. Лебедев
ПЛАНИРОВАНИЕ НА ОСНОВЕ РОЕВОГО ИНТЕЛЛЕКТА И ГЕНЕТИЧЕСКОЙ ЭВОЛЮЦИИ*
В работе излагается метод решения задачи планирования на основе роевого интеллекта и генетической эволюции. Связующим звеном такого подхода является структура данных, описывающая в виде хромосомы решение задачи. Предложена композитная архитектура многоагентной системы бионического поиска. Рассмотрены три подхода к построению такой архитектуры.
Планирование; роевой интеллект; генетическая эволюция; хромосома; многоагент-; .
B.K. Lebedev, V.B. Lebedev
PLANNING ON A BASIS SWARM INTELLIGENCE AND GENETIC
EVOLUTION
In work the method of the decision of a problem of planning on a basis Swarm intelligence and genetic evolution is stated. A link of such approach is the structure of data describing in the form of a chromosome the decision of a problem. The composit architecture of multi-agent systems of bionic search is offered. Three approaches to construction of such architecture are considered.
lanning; Swarm intelligence; genetic evolution; chromosome; multi-agent systems; bionic
search.
.
блоков, имеющих форму прямоугольников [1]. В результате планирования строится план кристалла, представляющий собой охватывающий прямоугольник, разделенный горизонтальными и вертикальными сегментами на непересекающиеся , . целью оптимизации является минимизация общей площади кристалла.
NP.
предложены различные подходы к решению проблемы планирования. Эти подходы могут быть классифицированы следующим образом [1,2]: линейное и квадратичное программирование [3]; имитация отжига; основанные на ограничениях [4]; сила направленная парадигма [5]; основанные на геометрической дуализации списков связей [5]; иерархические методы сверху-вниз и снизу-вверх [6]; метод кластеризации [7]; генетические алгоритмы (ГА) и на основе поисковой адаптации [8,9] и др. Анализ существующих подходов к решению поставленной задачи пока, , -делирования [10,11]. Тем не менее, в последнее время для решения различных «сложных» задач, к которым относятся и задачи планирования, всё чаще исполь-,
[13]. -
[14]. В основе большинства этих алгоритмов лежат идеи, заимствованные в природе, а также базовые постулаты
* Работа выполнена при поддержке: РФФИ (грант № 09-01-00509), г/б № 2.1.2.1652.
универсальности и фундаментальности, присущие самоорганизации природных систем.
Одним из новых направлений таких методов являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта [15,16]. Коллективная система способна решать сложные динамические задачи по выполнению совместной работы, которая не могла бы выполняться каждым элементом системы в отдельности в разнообразных средах без , . -вом интеллекте (Swarm intelligence), как о замысловатых способах кооперативного поведения, то есть стратегии выживания. Оптимизация с использованием роя частиц (Particle Swarm Optimization, PSO) - это метод поиска, который базируется на понятии популяции, и моделирует поведение птиц в стае и косяков рыб [17,18]. Рой частиц может рассматриваться как многоагентная система, в которой каждый агент (частица) функционирует автономно по очень простым правилам. В противовес почти примитивному поведению агентов, поведение всей системы получается на удивление разумным.
В работе излагается метод решения задачи планирования на основе роевого интеллекта и генетической эволюции [19]. Предложена композитная архитектура многоагентной системы бионического поиска.
Основные положения. Проблема планирования формулируется следующим образом [1]. Имеется множество модулей M = {.m,| i=1,2,...,n}. Каждый модуль характеризуется тройкой < Si, li, ti,>, где Sj - площадь модуля, а параметры U и tt задают нижнюю и верхнюю границу значения hi/ wi, т.е.
li <hi / wi < ti , (1)
где hi - это высота модуля, wi - ширина модуля. В качестве плана кристалла будем использовать план, полученный путем рекурсивного использования “гильотинного разреза”, т.е. последовательного разрезания прямоугольников на две части. На рис. 1,а представлен план, а на рис. 1,6 - соответствующее ему дерево D={dj | j = 1,2,...,2n-1} “гильотинного разреза”, листьями которого являются вершины, соответствующие блокам, а внутренние вершины соответствуют разрезам: V- вертикальный, Н - горизонтальный.
1
Рис. 1. Гильотинный разрез: а - тан; б - дерево
План для множества модулей М представляет собой прямоугольник Я, разрезанный вертикальными и горизонтальными линиями на множество областей г, в каждую из которых помещается соответственно модуль т. На дереве цифрами
помечены вершины, соответствующие разрезам, причем V - вертикальный разрез, а Н - горизонтальный разрез. Буквами помечены вершины, соответствующие областям. Каждая область г, предназначенная для размещения модуля т, имеет размеры х, и у. При соблюдении ограничений (1) размеры области должны также соответствовать ограничениям:
Sl < х, ■ уг, Ъг < уг, < х, . (2)
- Я ,
ограничений (1), (2).
Формирование плана методом свертки. Задать план это: задать структуру дерева разрезов, т.е. последовательность бинарных разрезов; для внутренних вершин дерева, соответствующих разрезам, указать тип разреза Н или V; пометить листья дерева номерами модулей; для модулей с фиксированными размерами указать их ориентацию.
На основе этой информации построение плана осуществляется путем последовательной бинарной свертки областей по дереву разрезов, начиная от листьев дерева. Каждой внутренней вершине дерева разрезов будет соответствовать об, , внутреннюю вершину. Будем считать, что разрез с номером !, разрезает вершину di (область и). Вначале свертки каждой вершине di, являющейся листом дерева разрезов, ставится в соответствие область г{ с размерами х, = кь у{ = ы,, равны ми размерам модуля т. Пусть вершины di и di являются дочерними вершинами вершины dk и пусть для областей и, и щ соответствующих di и dj, определены нижние границы их размеров (х, у), (х^ у).
Процесс бинарной свертки представляет собой слияние областей и- и фор-
мирование области ик, определение размеров для ик и новых размеров для ui и и
Общая структура представления решений в алгоритмах разбиения на основе роевого интеллекта и генетического поиска. В эвристиче ских алгоритмах роевого интеллекта многомерное пространство поиска населяется роем частиц [17]. Каждая частица представляет некоторое решение. В нашем случае решение .
перемещении частиц в пространство поиска. Обозначим позицию частицы i в пространстве решений в момент времени t (/ имеет дискретные значения) как х($. По аналогии с эволюционными стратегиями, рой можно трактовать как популяцию, а ( ).
структуры поиска решения, основанную на сочетании генетического поиска с методами роевого интеллекта. Связующим звеном такого подхода является структура данных, описывающая в виде хромосомы решение задачи. Если в качестве частицы используется хромосома, то число параметров, определяющих положение частицы в пространстве решений должно быть равно числу генов в хромосоме. Значение каждого гена откладывается на соответствующей оси пространства решений. В этом случае возникают некоторые требования к структуре хромосомы и значе-. , хромосомы должны быть гомологичными. В работе предлагается подход к построению структур и принципов кодирования хромосом, обеспечивающих их гомологичность и возможность одновременного использования в генетическом алгоритме и в алгоритме на основе роя частиц.
Решение кодируется набором Я из трех хромосом Я={Н1,Н2,Н3}. Хромосома Н1 несёт информацию о разметке множества вершин М. Хромосома Н2 содержит
информацию о структуре дерева. Хромосома Н3 содержит информацию о типах разрезов (Н или V).
Пусть п - число областей плана (число вершин множества Е). Хромосома Н1, задающая разметку множества вершин М, имеет вид Н1 = ^1г | г = 1, 2, .., п-1}. Каждый ген g1i может принимать любое значение в интервале от 1 до (п+1-г).
Например: для п = 8; 1 <g11 <8; 1 < g12 <7; 1 <g13 <б;...; 1 <g17 <2.
Декодирование хромосомы Н1 производится с использованием опорного вектора В1 = < Ь\ | г = 1, 2, .., п > число элементов которого равно п, а их значения лежат в интервале от 1 до п. Пусть для п=8 имеется хромосома Н1=<3,5,3,4,4,2,2>, и пусть имеется опорный вектор В1 = <1,2,3,4,5,б,7,8>.
Рассматриваем по порядку гены хромосомы и в соответствии с их значениями выбираем элементы в опорном векторе и записываем их в порядке выборки в вектор Q.
Значение g11 = 3. Выбираем в В1 элемент Ь^ (j=g11=3, Ь13=3) и записываем его на первое место формируемого вектора Q, т.е. д1 = Ь13 = 3.
Удаляем элемент Ь13 из В1 и получаем вектор В2=<1,2,4,5,б,7,8>, содержащий 7 элементов. Следующим выбирается g12 , g12= 5. Отыскиваем элемент Ь25 вектора В2 , Ь25 = 6. Следовательно, д2 = 6. Удаляем из В2 элемент Ь25 , получаем вектор В3 = <1,2,4,5,7,8 >. Далее:
СП II го > II го го -С > II го В4 = < 1,2,5,7,8 >
> II ) II -С II 5Ч В5 = < 1,2,5,8 >
> II ) 00 II -с 00 II 5Ч Вб = < 1,2,5 >
II ) II -с Чб = 2 В7 = < 1,5 >
II ) II -с II В8 = < 1 >
= Ь81 = 1. В итоге получаем вектор Q = <3,б,4,7,8,2,5,1 >, задающий разметку множества вершин М.
Рассмотрим структуру хромосомы Н2. Введём алфавит А = {X, •}. Структуру дерева разрезов можно задать, используя на базе алфавита А польское выражение для бинарного дерева, где знак X соответствует листьям дерева разрезов (областям), а знак • - соответствует внутренним вершинам дерева (р^резам). Польское выражения для дерева, представленного на рис. 1,Ь, имеет вид: X X } XX • }ХX • XXX }}}}.
Процесс восстановления дерева по польскому выражению достаточно прост.
, , -ваются буквы типа », соответствующие разрезам. Каждый такой разрез объединяет два ближайших образованных на предыдущих шагах подграфа, расположенных в польской записи слева от знака *. Проиллюстрируем процесс свертки с помощью скобок: ((XX })^ X }) })^ X }) (X (XX }) }) }) }
Отметим основные свойства польского выражения, для выполнения которых , . пх - число элементов польского выражения типа X, а через п. - число элементов типа *. Для дерева разрезов всегда выполняется равенство пх = п} + 1. Если в польском выражении провести справа от знака * сечение, то слева от сечения число знаков X больше числа знаков » , по крайней мере, на единицу. Первый знак » в польском выражении (при просмотре слева направо) может появиться только после двух знаков X . Пронумеруем пози ции между знаками X:
Максимальное число знаков •, которое может появиться в позиции, равно .
, .
Хромосома Н2 имеет вид: Н2=^2!г=1,2,..,п.}. В результате декодирования хромосомы строится польское выражение. Число генов в хромосоме равно п. , т.е. числу знаков •. Значение гена g2i колеблется в пределах от /' до п., т.е. г < g2i <п.. Значение гена указывает номер позиции в польском выражении, в которую необходимо поместить знак •.
Например, пусть для п. = 4 имеется хромосома Н2 = < 4,2,2,4 >. Польское выражение, соответствующее этой хромосоме, имеет вид: XX X • »Х X • •
С помощью хромосомы Н3 = ^3г | г = 1, 2, .., п.} задаются типы разрезов (И или V). Число генов Н3 равно п.. Значением гена является 0 или 1, при этом
0 - соответствует И, а 1 - V. Разметка внутренних вершин (определение типа раз) • -ском выражении. Например, Н3 = <1,0,0,1>. Н1 = <1,1,1,1,1>. Соответствующий Н1 вектор Q имеет вид: Q = <1,2,3,4,5 >.
Пусть Н1 = <2,1,3,1>, В1 = <2,1,4,5,3>, Н2 = <4,2,2,4 > и Н3 = <1,0,0,1 >. Соответствующий хромосоме Н1 вектор Q имеет вид: Q = <1,2,3,4,5 >. Польское выражение, соответствующее Н2 имеет вид X X X .. X X ... Модифицированное с учётом Н3 польское выражение примет вид: X X X Н V XX V Н. Дерево разрезов имеет вид, представленный на рис. 2,а, а план имеет вид, представленный на рис. 2,6.
а б
Рис. 2. Пример: а - дерево разрезов, б - план
Размеры областей и описывающего прямоугольника плана определяются путем последовательной свертки областей по дереву разрезов, исходя из размеров , .
Процесс декодирования (построения фенотипа) по хромосомам Н1, Н2, Н3 заключается в построении вектора Q по хромосоме Н1 и модифицированного
2, 3.
трудоемкости 0(п), где п - число модулей. Таким образом, общая оценка трудоемкости равна 0(п). Пространственная сложность для одного решения также имеет оценку 0(п).
Алгоритм планирования на основе роевого интеллекта. Основу поведения роя частиц составляет самоорганизация, обеспечивающая достижение общих целей роя на основе низкоуровневого взаимодействия. Каждая частица связана со , -. . частица перемещается в новую позицию. Новая позиция определяется как
х$+1) = х$) + у(1+1),
где у(+1) - скорость перемещения частицы из позиции х1(ф) в позицию х1(Ф+1). Начальное состояние определяется, как х(0), у(0). Приведенная формула представлена в векторной форме. Для отдельно го измерения у пространства поиска формула :
хф+1) = хф) + уф+1), (3)
где хг() - позиция частицы 1 в измерении ]; у1у(Ф+1) - скорость частицы 1 в измерении ].
:
/$) - текущее значение целевой функции частицы 1 в позиции х1(ф);
х (ф) - лучшая позиция частицы 1, которую она посещала с начала первой итерации, а /А) - значение целевой функции в этой позиции (лучшее значение частицы 1);
¥($ - лучшее значение целевой функции среди частиц роя в момент времени /, а х(ф) - позиция с этим значением.
Тогда скорость частицы 1 на шаге (Ф+1) в измерении у вычисляется как
уц(г+1)=^‘ Уу(Г)+ к^гпй(0,1У(х \(г)- хь(ф + к?т<3(0,1)-(х() - хь(ф, (4)
где тё(0,1) - случайное число на интервале (0,1); (м>,к1, к^ - некоторые коэффициенты. Формула для расчета скорости составлена из трех компонентов.
Предыдущая скорость у1у(ф) выступает в роли памяти частицы об ее перемещениях в прошлом и является инерционным компонентом
Значение второго компонента, называемого когнитивным, прямо пропорционально текущему расстоянию частицы от ее наилучшей позиции, которая была найдена с момента старта ее жизненного цикла. Когнитивный компонент выступает в роли индивидуальной памяти о наиболее оптимальных позициях данной частицы.
Значение третьего компонента, называемого социальным, прямо пропорционально текущему расстоянию частицы от наилучшей позиции роя в момент времени /. Благодаря социальному компоненту частица имеет возможность передвигаться в оптимальные позиции, найденные соседними частицами. В нашем случае позиция х/Г) задается с помощью хромосом Н1, Н2, Н3, структура которых рассмотрена выше и объединенных в одну хромосому Н(ф) = Н1^М2^М3. Число осей пространства поиска равно числу генов в объединенной хромосоме Н1(ф). Отметим, что скорость у1(ф) имеет ту же структуру, что и хромосома НА). Позиция х1(ф) то есть хромосома Н1(ф) является решением, а скорость у1(Ф+1) рассматривается как средство изменения хромосомы, то есть решения.
Отличительной особенностью ПОЗИЦИИ х() = НА) является то, что возможные значения гена gij зависят от локуса и меняются в интервале o.j<gij<fij. Обозначим через хеА) и ус(ф) позицию и скорость для которых соблюдаются указанные выше ограничения. Рассмотрим методику получения хс() и ус(). Расчет выполняется в два этапа. Вначале рассчитывается у$+1).
Уу(1+1)=М‘УСу(1)+ к1‘тс1(0,1)-(хс*у(1)-хсу(ф + к2-г^(0,1)-(хс(фхсу(ф. (5)
Затем по Уу(Ф+1) рассчитывается усф+1).
[ 1, если 0,5 <УСу(Ф+1); уСу(Ф+1)= 0, если -0,5<УСу(Ф+1)<0,5; (6)
1-1, если уСу(Ф+1) <-0,5.
Новая позиция вычисляется следующим образом.
Вначале рассчитывается
ху(ф+1)= хсу(ф)+ УСу(Ф+1). (7)
Затем определяется позиция с целочисленным значением, заключенным в за-
:
Г Ру, если А}<хСу(Ф+1); хСу(1+1)= х1у(Ф+1), если а.у <ху(1+1)<Ру.;
I а, если хсу(ф+1)<а}-. (8)
Схема работы роевого алгоритма планирования включает следующие шаги:
1.
формируется структура данных частицы (хромосома) и устанавливаются диапазоны значений для каждого измерения (оси) пространства поиска.
2. Создается исходная «случайная» популяция частиц, =0. Для каждой частицы случайным образом задается начальная позиция хс(0) и начальная скорость перемещения ус1(0). С этой целью в каждой формируемой хромосоме, соответствующей позиции хс1(0), каждому гену, лежащему в локусе у, случайным образом присваивается целочисленное значение, лежащее в допус тимом диапазоне. Генам хромосомы, соответствующей скорости перемещения ус1(0) задаются сравнительно
.
3. ф= Ф+1.
4. Рассчитывается целевая функция /(ф) для каждой частицы.
5. Для каждой частицы определяются лучшая позиции хс $+1), которую она посещала с начала первой итерации, и значение целевой функции /1(Ф+1) в этой
.
7. Определяются лучшая позиция роя на шаге ( и значение целевой функции ¥($ в этой позиции.
8. «
». . дальше частица находится от центра, тем большим ускорением она обладает. По формулам (5,6) для всех частиц рассчитываются скорости приращения.
9. .
10. Шаги 3-9 итерационно повторяются заданное число раз.
11. « » -.
, -
пуляции частиц для каждой из них вычисляется значение целевой функции /@+1). Если оно окажется лучше, чем /(ф), то /1(Ф+1)= /1(Ф+1), в противном случае, /(Ф+1) = /А). Далее, среди /А+1) выбирается лучшее значение Е((), а затем вычис-, , и их новые позиции в пространстве решений. Итерационный процесс повторяется.
Отметим, что формула (3) фактически является оператором (н^овем его роевым), с помощью которого изменяется текущее решение.
Г ибридизация роевого интеллекта с генетическим поиском. Предлагается композитная архитектура многоагентной системы бионического поиска для решения задачи планирования на основе роевого интеллекта и генетической эволюции [19]. Рассмотрены три подхода к построению такой архитектуры.
Первый и наиболее простой подход к гибридизации заключается в следующем. С начала поиск решения осуществляется генетическим алгоритмом [10]. Затем на основе популяции, полученной на последней итерации генетического поис-, .
, . полученная популяция доукомплектовывается новыми индивидами. После этого дальнейший поиск решения осуществляется роевым алгоритмом.
При втором подходе метод роя частиц используется в процессе генетического поиска и играет роль аналогичную генетическим операторам. В этом случае на каждой итерации генетического алгоритма синтез новых хромосом, с одной стороны, осуществляется с помощью кроссинговера и мутации, а, с другой стороны, с помощью операторов метода роя частиц по формулам (7,8) и модифицированной формуле. Модифицированная формула получается путем удаления в формуле (4) второй компоненты и имеет вид
Vij(t+1)=w vCij(t)+ k-rnd(0,1)-(xCj(t) - xCi/t)). (9)
Третий подход является объединением первого и третьего подходов.
Оценка временной сложности операторов роя частиц не превышает оценки временной сложности генетических операторов. Оценка временной сложности генетического алгоритма не превышает оценки временной сложности алгоритма . -де к гибридизации не превышает оценки временной сложности генетического алгоритма и лежит в пределах 0(n2)-0(n3).
При совместной работе алгоритмов в рамках общего подхода вероятность
0,9. -
ных решений составило 1%. Результаты экспериментов разработанного алгоритма сравнивались по MCNC тестам [12] с алгоритмами [4-7]. Представленный роевой алгоритм в сочетании с генетическим алгоритмом синтеза дерева разрезов находит решения по площади превосходящие результаты сравниваемых алгоритмов в среднем на 3-5%. с меньшими временными затратами для задач большой размерности, , .
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Naveed Sherwani. Algorithms for VLSI Physical Design Automation. Kluwer academic publishers. Boston /Dordrecht/ London. 1995.
2. Sarrafzadeh M. and Wong C.K. An Introduction to VLSI Physical Design. New York: McGraw Hill. 1996.
3. KahngA.B. “Classical Floorplanning Harmful”, ISPD 2000, pp. 207-213.
4. Cong J. en all. “Microarhitecture Evolution With Physical Planning”, DAC, 2003, P. 32-35.
5. Adyaetall S.N. “Unification of Partioning, Plasement and Floorplanning”. DAC, 2004, P. 550-557.
6. Liu I., Chen H., Chou T., Aziz A., Wong D.F. “Integrated Power Supply Planning and Floor-planning”, IEEE Tranc.on CAD, 2004.
7. Cheng L., Wong D.F. “Floorplan Design For Multi-million Gate FPGAs”, DAC, 2004, P. 292-313.
8. Лебедев В.Б. Планирование СБИС методом адаптивного поиска // Известия ТРТУ.
- Таганрог: Изд-во ТРТУ, 2000, №2. - C. 168-177.
9. Лебедев Б.К. Адаптация в САПР. - Таганрог: Изд-во ТРТУ, 1999.
10. Лебедев Б.К. Методы поисковой адаптации в задачах автоматизированного проектирования СБИС: монография. - Таганрог: Изд-во ТРТУ, 2000.
11. Mazumder P., Rudnick E. Genetic Algorithm For VLSI Design, Layout & Test Automation. India, Pearson Education, 2003.
12. MCNC Electronic and Information Technologies (Online). Available: www.mcnc.org.
13. . . - .: , 2004.
14. G. Di Caro, F. Ducatelle, L. M. Gambardella. AntHocNet: An adaptive nature-inspired algorithm for routing in mobile ad hoc networks. European Transactions on Telecommunications, 16(5):443-455, 2005.
15. . ., . ., . . : .
- .: , 2006.
16. Engelbrecht A.P. Fundamentals of Computational Swarm Intelligence. John Wiley & Sons, Chichester, UK, 2005.
17. ClercM. Particle Swarm Optimization. ISTE, London, UK, 2006.
18. Poli R. Analysis of the publications on the applications of particle swarm optimisation. Journal of Artificial Evolution and Applications, Article ID 685175, 10 pages, 2008.
19. Емельянов В.В., Курейчик В.М., Курейчик В.В. Теория и практика эволюционного моделирования. - М.: Физматлит, 2003.
Лебедев Борис Константинович
Технологический институт федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 8(8634)371-743.
Кафедра систем автоматизированного проектирования; профессор.
Лебедев Владимир Борисович
Технологический институт федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 8(8634)371-743.
Кафедра систем автоматизированного проектирования; доцент.
Lebedev Boris Konstantinovich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: 8(8634)371-743.
Department of Computer Aided Design; professor.
Lebedev Vladimir Borisovich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: 8(8634)371-743.
Department of Computer Aided Design; associate professor.