Научная статья на тему 'Генетический алгоритм для задачи разбиения с антимонопольной политикой развития особи для минимизации числа межузловых соединений и временных задержек'

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

CC BY
196
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

6. Проблемы разработки перспективных микроэлектронных систем. Сборник научных трудов под ред. А. Стемпковского. - М.: ИППМРАН, 2005. - 537 с.

7. Емельянов В.В., Курейчик В.М., Курейчик В.В. Теория и практика эволюционного моделирования. - М.: Физматлит, 2003. - 431 с.

8. Гладков Л.А., Курейчик В.М., Курейчик В.В. Генетические алгоритмы. Учебное пособие. Под ред. В.М. Курейчика. - Ростов-на-Дону: ООО «Ростиздат», 2004. - 400 с.

9. Харари Ф. Теория графов. - М.: Мир, 1973. - 300 с.

10. . . . - : - , -ние, 1969. - 543 с.

11. Zebulum R.S., Evolutionary Electronics: Automatic Design of Electronic Circuits and Systems by Genetic Algorithms (CRC Press LLC, New York, 2002).

Б. К. Лебедев, A. H. Дуккардт

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ДЛЯ ЗАДАЧИ РАЗБИЕНИЯ С АНТИМОНОПОЛЬНОЙ ПОЛИТИКОЙ РАЗВИТИЯ ОСОБИ ДЛЯ МИНИМИЗАЦИИ ЧИСЛА МЕЖУЗЛОВЫХ СОЕДИНЕНИЙ И ВРЕМЕННЫХ ЗАДЕРЖЕК*

. -

дачи разбиения с учетом временных задержек [2,7,8,10]. В большинстве предыдущих подходов минимизация задержек осуществлялась путем внесения изменений в списки цепей с целью удовлетворения временных ограничений. При этом решалась задача минимизации числа разрезов цепей. В результате проведенного анализа предыдущих подходов к задаче разбиения, можно выделить несколько проблем:

♦ Используются нереалистичные модели задержек. В основном используется общепринятая модель задержек, в которой всем вентилям присваивается задержка 1, задержка 0 присваивается соединениям внутри одного узла и постоянная задержка присваивается соединениям между различными частями разбиения [2,7,10].

♦ Выполняются нереалистичные упрощения. Например, схемы преобразо-

[7].

велико.

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

. -

. -

лируется следующим образом: дан гиперграф G = (X, E), где X = {хг | i = l, 2, ..., n}

- множество вершин, a E = {ej | ej с X, j = l, 2, ..., m} - множество рёбер (каждое ребро - подмножество связываемых им вершин). Вес вершин задаётся множеством Ф = {фг | i = 1,2, ..., n}, а вес рёбер - множеством у = {щ | j = 1,2, ..., m}. Необходимо

сформировать К - узлов, т.е. множество X разбить на К непустых и непересекаю-

щих ся подмножеств Xk:

X = иХ*, (V/, j), X, n Х}- = 0, X* Ф 0.

* Работа выполнена при финансовой поддержке программы развития научного потенциала высшей школы РНП.2.1.2.2238

На формируемые узлы накладываются ограничения. С помощью вектора N = [н | V = 1, 2, ..., к} — максимально допустимое число вершин, назначенных в Vй узел. Ограничения на вместимость имеют вид:

X < п ,

где V = 1, 2, ..., к; С = {е, | (Уу) [е, п Х„ Ф е,]} - множество рёбер в разрезе.

Цель классического алгоритма разбиения - это минимизация числа разрезов цепей. Существует множество алгоритмов, которые достаточно эффективно решают эту задачу [9]. Многокритериальная задача разбиения графов гораздо более сложная. В нашем случае мы стремимся получить алгоритм разбиения, который минимизирует величину С - число разрезов и величину Б - задержку. Обобщенная целевая функция будет вычисляться по формуле:

Р = Р1С + Р2Б,где Р^ Р2 е [0,1] Р1 = 1 - P2, (1)

где (рх, р2) - вектор предпочтения.

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

N к

Б = а£а>1е1 +в£Б,к,, (2)

I /

где а и р- весовые параметры; - вес ребра; е{ - 1 или 0 в зависимости от того,

разрезается ребро или нет; |Ек| - количество ребер в критических путях К; Б, - текущая задержка ./-ого критического пути; к, - сколько раз происходило разрезание критического пути ^

Предлагаемая модель задержки содержит два компонента. Первый это за. - , -проксимируем, используя модель задержки Эльмора. Для ребра е (ребро соответствует проводнику) задержка определяется по формуле:

С

Б(е) = Яе (-^ + С ^ (3)

где Яе - общее сопротивление проводника е; Се - общая емкость проводника е; С) - общая емкость истоков каждой цепи. Для вычисления Яе и Се нам необходимо длина каждого ребра. Средняя длина цепи [11], соединяющая т элементов, определяется по формуле:

а * Ъ

Ье = (а* тг-в)^~ + (а + Ъ), (4)

е а + Ъ

где а в У - подгоночные параметры, вычисленные в [11] как а =1.1, в =2.0, у= 0.5. Сопротивление на единицу длины проводника считаем г = 0.115, емкость на единицу длины проводника с = 0.00015.

В предлагаемом подходе задача разбиения гиперграфа Н = (X, Е) с взвешенными вершинами и рёбрами сведём к задаче о назначении множества гиперрёбер Е в К узлов при выполнении условия, что каждое гиперребро может быть назначено только в один узел. Будем считать, что гиперребро е, назначено в узел , если всё множество составляющих его вершин назначено в этот узел.

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

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

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

Для реализации механизма антимонопольного развития генетического материала в алгоритм было введено несколько операторов декодирования генетическо-.

введена случайная величина п = {1,2}, определяющая количество используемых операторов декодирования. На рис.1 приведена структурная схема, отображающая механизм антимонопольного развития особи при п = 2.

вход ОСОБЬ

«К лош цхжаш 1е»

4 1

ОСОБЬ 1 ОСОБЬ 2

I I

ОД1 ОД 2

) 1

Оценка Оценка

) 1

Выбор лучшею решения

выход Решение

Рис.1. Структурная схема, отображающая механизм антимонопольного развития особи при п = 2

Алгоритм работы блока, реализующего предложенный механизм, имеет вид: 10. ,

полученная после кроссинговера или мутации.

20. Производится оценка величины п.

30 Копирование входящей особи п раз («Зонирование»).

40.

декодирования.

50. .

60. Выбор одного лучшего решения.

В начале работы алгоритма случайным образом создается начальная популяция хромосом фиксированного размера. С помощью механизма антимонопольного развития производиться оценка ЦФ для всех хромосом в начальной популяции и фиксируется наилучшая ЦФ. Пользователем задается параметр Мт. Далее случайным образом, параметру п присваивается натуральное число в диапазоне [2;6]. Этот параметр управляет количеством потомков получаемых при ОК. Случайным образом производиться выбор родительской пары для осуществления ОК.

Осуществляется реализация оператора кроссинговера (ОК). Все некорректные решения отсеиваются из дальнейшего рассмотрения. Некорректным называется такое решение, в котором генетический материал совпадает с материалом любой другой особи популяции. После оператора кроссинговера корректные решения подвергаются оценки механизмом антимонопольного развития. Если значение ЦФ , , популяцию. В противном случае этот потомок мутирует с некоторой априорно заданной вероятностью Ром. После ОМ производится переоценка потомка, и, если его ЦФ лучше чем ЦФ одного из родителей, то он заносится в новую популяцию, в противном случае он заносится в новую популяцию с некоторой вероятностью Рд.

По окончании работы ОК, ОМ формируется новая популяция, в которую входит прежняя популяция и хромосомы, полученные в результате работы ГО. После чего выполняется редукция новой популяции на основе элитной селекции, в результате которой в новую популяцию попадает нужное количество хромосом с <аучшими» ЦФ. Таким образом, завершилась одна итерация ГА.

, .

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

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

♦ Задержка прохождения сигнала между смежными элементами минимизируется.

В предложенном ГА алгоритме решение представлено в виде двух хромосом. Первая хромосома задает порядок назначения цепей в узлы. Структурное представление хромосомы имеет вид Н1 = ^ | г = 1, 2, ... , п}, значением гена gi е Н1 является номер цепи.

Вторая хромосом задает порядок формирования самих узлов. Структура второй хромосомы имеет вид Н2 = {Ьг | г = 1, 2, ... , к}, значением гена Ь! е Н2 является номер узла. Длина обеих хромосом различна. Длина первой равна количеству

, - , .

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

. Н1 -

рается первое, не назначенное ребро с номером, определяемым значением гена Ь1{

- е{ е Е. Из хромосомы Н2 выбирается первый, не заполненный узел, номер которого определяется значение гена Ь2, - к, е К. Производится проверка возможно ли полностью назначить ребро е! в узел к, (е,-| < п, ). Если да, то ребро назначается в , , Н1 , -

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

ОД назначения ребер в узлы, основанный на реберной связности. Этот ОД отличается от предыдущего только тем, что здесь не учитывается последовательность заданная первой хромосомой особи, т.е. последовательность назначения ребер. Рассмотрим более подробно. Из хромосомы Н1 выбирается первое, не назначенное ребро с номером, определяемым значением гена И1{ - є Е. Из хромосомы Н2 выбирается первый, не заполненный узел, номер которого определяется значение гена И2j - к є К. Производится проверка - возможно ли полностью назначить ребро ві в узел к (\ві\ < п). Если да, то ребро назначается в узел и помеча-. Н1 , -

ченное ребро е_і, максимально связное с еъ и процесс назначения повторяется. Если такое ребро не одно, то выбирается такое ребро ві, которое будет максимально назначено в текущий узел. Если ребро ві не помещается, то в узел к назначается только часть ребра ві. Оставшаяся часть ребра назначается в следующий узел, вы-Н2.

После декодирования проводятся оценки полученных решений и выбирается .

. -

,

операторов (кроссинговера, мутации, селекции и др.).

Оператор кроссинговера.В работе используется комбинированный оператор кроссинговера [7]. Данный оператор кроссинговера реализуется следующим образом. Сначала на выбранной родительской паре Ю и Я2 реализуется обмен генами между гомологичными хромосомами родительской пары с заданной вероятностью Рок1. После проведения первого кроссинговера образуется дочерняя пара Ю’ и И2’. Далее эта пара рассматривается как родительская и в ней применяется обмен хромосомами с некоторой вероятностью Рок2. В результате проведения оператора кроссинговера над парой Ю и Я2, образуется дочерняя пара Ю’’ и Я2”. В результате предложенного оператора кроссинговера может получиться до 6 потомков. Количеством потомков управляет параметр п предложенного алгоритма (рис.1). Представление решения в виде нескольких хромосом дает возможность использовать оператор комбинирования набором хромосом в одном решении, что является приближением к естественной эволюции

Оператор мутации.Задъ&гся параметр Рм - вероятность мутации хромосомы. Просматриваются последовательно все хромосомы решения. С вероятностью Рм осуществляется мутация выбранной хромосомы по нижеописанной схеме. Производится случайный выбор двух генов в хромосоме, причем, при выборе первого гена фиксируется ген, расположенный справа от него, а при выборе второго гена , .

, , , ,

.

.

на ІВМ совместимом компьютере: СРи АМБ АШ1ои-64 3000+/2х256 ББЯ БІММ. Основное внимание было уделено тестированию генетических алгоритмов, а имен, . работы ПГА и ГАсМАР от числа вершин и значений целевых функций от числа итераций. При работе алгоритмов, граф разбивался на 3 подграфа, по возможности с равным количеством вершин в каждом узле. При этом число итераций не превышало значение двухсот, что является рекомендуемым значением.

На рис.2,а приведены временные зависимости алгоритмов от числа вершин, а на рис.2,6 - значения целевых функций от числа итераций для алгоритмов для графа Н=(Х,Е), |Х| = 30, |Е| = 67.

Таблица

Зависимость времени работы алгоритмов и ЦФ от числа вершин

Кол-во вершин ІІГЛ ГЛсМЛР

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Время работы, с ЦФ Время работы, с ЦФ

1Q 1,7 6 7,Q5 6

15 2,Q4 12 1Q,55 9

2Q 2,14 17 13,Q3 12

25 2,64 19 17,15 13

3Q 3,18 25 23,95 18

35 3,68 31 26,86 22

4Q 3,96 41 36,45 27

45 4,83 39 45,79 29

5Q 5,11 46 46,93 29

Рис. 2. Результаты исследования алгоритмов: а) временные зависимости алгоритмов от числа вершин; б) значения целевых функций от количества итераций (нижний график - ГАсМАР, верхний - ПГА)

Эксперименты показали, что разработанный алгоритм позволяет получать результаты за приемлемое время. Предложенный алгоритм позволяет получать оптимальные результаты в среднем на 100-130 итерациях в силу его направленного

,

. , -

ство решений получается лучше, чем у ПГА в среднем в 1,7 раза.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Thang Nguyen Bui, Byung-Ro Moon. “GRCA: A Hybrid Genetic Algorithm for Circuit Ratio-Cut Partitioning”. IEEE Transactions on computer-aided design of integrated circuits and systems, vol.17, No.3, March 1998, pp.193-204.

2. Shihliang Ou and Massoud Pedram, “Timing-Driven Bipartitioning with Replication Using Iterative Quadratic Programming”, at http://atrak.usc.edu/~massoud/, see “Coming Attractions!”, 2001.

3. Dominic A. Antonelli, Danny Z. Chen, Timothy J. Dysart, Xiaobo S. Hundrew, B. Kahng Peter, M. Kogge Richard, C., Murphy Michael, T. Niemier, “Quantum-Dot Cellular Automata (QCA) Circuit Partitioning: Problem Modeling and Solutions”, DAC, 2004.

4. Букатова ИЛ. Эволюционное моделирование: идеи, основы теории, приложения. - М.:

, . 10, 1981.

5. Батищев ДМ. Генетические алгоритмы решения экстремальных задач: Учебное пособие. - Воронеж, 1995. - 69 с.

6. Дуккардт А.Н. Методы генетического поиска для мультихромосомных представлений / VII

всероссийская научная конференция студентов и аспирантов, Техническая кибернетика, ра. - : - , 2004. - . 108 -109.

7. J. Cong, C. Wu, “Global Clustering-Based Performance-Driven Circuit Partitioning”, Proc. ISPD, 2002.

8. W.E. Donath et al, “Timing Driven Placement Using Complete Path Delays”, Proc. ACM/IEEE DAC, 1990.

9. G. Karypis, R.Aggarwal, V.Kumar, S. Shekhar, “Multilevel Hypergraph Partitioning: Application in VLSI domain”, Proc. ACM/IEEE DAC, 1997.

10. J. Minami, T.Koide, S.Wakabayashi, “An Iterative Improvement Circuit Partitioning Algorithm under Path Delay Constraints”, IEICE Trans. Fundamentals, Dec. 2000.

11. P. Zarkesh-Ha, J.A. Davis, J.D. Meindl, “Prediction of Net-Length Distribution for Global Interconnects in Heterogeneous Systemon-a-Chip”, IEEE Trans. VLSI Systems, Dec.2000.

Ю.В. Чернухин, A.A. Приемко

АЛГОРИТМ НАВИГАЦИИ АДАПТИВНЫХ МОБИЛЬНЫХ РОБОТОВ ПО АВТОМАТИЧЕСКИ ФОРМИРУЕМОЙ КАРТЕ В УСЛОВИЯХ ДИНАМИЧЕСКИ ИЗМЕНЯЮЩЕЙСЯ ВНЕШНЕЙ СРЕДЫ

.

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

Решение этих задач известными методами вызывает значительные трудности, . . -вестной конфигурацией элементов [1]. Данное обстоятельство стимулирует разработку новых бионических методов, связанных с имитацией нейросетевым способом алгоритмов решения указанных задач живыми организмами.

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

. ,

, .

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

i Надоели баннеры? Вы всегда можете отключить рекламу.