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

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

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

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

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

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

2. Гладкое Л А, Курейчик В.В., Курейчик В.М. Генетически е алгоритмы. - М.: Физматлит, 2006.

3. . . : ,

психология, информатика. - М.: Эдиториал УРСС, 2002. - 352 с.

4. Хакен Г. Тайны природы. М.: Институт компьютерных исследований, 2003.

5. Комарцова Л.Г., Максимов AM. Нейрокомпьютеры. - М.: Изд-во МГТУ, 2002.

6. Holland John H., Adaptation in Natural and Artificial Systems: An Introductory Analysis with Application to Biology, Control, and Artificial Intelligence. USA: University of Michigan, 1975.

7. Goldberg David E. Genetic Algorithms in Search, Optimization and Machine Learning. USA: Addison-Wesley Publishing Company, Inc., 1989.

8. Handbook of Genetic Algorithms. Edited by Lawrence Davis. USA: Van Nostrand Reinhold, New York, 1991.

9. . ., . . -

. - , 3, 2004, - . 23-32.

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

РАЗБИЕНИЕ НА ОСНОВЕ КОМБИНИРОВАННЫХ ГЕНЕТИЧЕСКИХ

ПРОЦЕДУР*

. ,

связи с постоянно повышающимися требованиями к их быстродействию и мини,

. -

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

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

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

X = их*, (Vi,j), Xi n Xj = 0, Xk Ф 0.

На формируемые узлы накладываются ограничения. С помощью вектора N = {n„ | v = l, 2, ..., k} — максимально допустимое число вершин, назначенных в v- . :

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

X < где V = 1, 2, ..., к.

Основным критерием является Р - суммарная стоимость рёбер в разрезе.

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

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

В работе предлагается новый генетический алгоритм (ГА) для разбиения графа на подграфы. Он отличается применением нетрадиционной архитектуры генетического поиска, а так же генетических операторов. В архитектуру ГА введен метод локального улучшения решения с элементами адаптации. Этот метод основан на итерационном выбивании «худших» элементов из узлов. Такие ГА называются гибридными генетическими алгоритмами [5]. Процедура локального улучшения введена после операции декодирования, так как именно после декодирования производиться оценка целевой функции, а соответственно и качество решения. Введение операции локального улучшения способствует более целенаправленному поиску решения поставленной задачи.

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

Назначение цепей в узлы помогает решить сразу несколько проблем:

1) , , собой минимизацию внешних связей между узлами;

2) -руется.

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

ОК. Случайным образом производиться выбор родительской пары для осуществления ОК.

( ).

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

По окончании работы ОК, ОМ формируется новая популяция, в которую входит прежняя популяция и хромосомы, полученные в результате работы ГО. После

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

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

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

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

Операция декодирования.

Н1 , , , -

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

, , Н1 -

бирается следующее, не назначенное ребро. В противном случае в узел к назна-

е1, . . -

, , -

. Н2 -

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

Рассмотрим пример декодирования хромосомы. Пусть дан гиперграф в =(Х, Е), где |Х| =16 и |Е| =10. е1 ={Х1, Х2, Хз, Х4}; е2 ={х4, Х5, Хб}; ез ={х6, Х7, х8, Х9};

е4 ={Х1, Х7, Х10}; е5 ={Х2, Х8, Х9}; еб ={ХЮ, ХИ, Х14, Х1б}; е7 ={ХИ, Х12, Х13}; е8 ={Х12, Х15}; е9 ={x13, Х14}; е10 ={x1, x15, Х16}.

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

В качестве примера, возьмем решение Ю, представленное хромосомами: Н1 = {2,4,10,1,8,6,3}; Н2 = {3,5,2,4,1}. Сначала выбираем цепь (гиперребро) в соот-

- 2,

хромосомой - узел К3. Производим проверку: |е2| <= р3. В нашем случае, это условие не выполняется, т.к. |е2| = 3, а р3 = 2. Следовательно, ребро е2 не может быть полностью назначено в этот узел. Так как узел был пустой, то мы назначаем те вершины, которые имеют минимальную локальную степень, т.е. вершины х5 и х^ Эти верши, : Х4 - е1,

Х4 Х5 - е2 ( ).

К3 считается сформированным и К3 = {4, 5}. Выбираем следующий узел К5. Проверяем условие |е2| < р5, которое выполняется (1 < 4).

Следовательно, остаток ребра назначается в узел (вершина х6 -> К5). При этом

3. Х6 : 2 3.

Выбирается далее следующее ребро е4. Ему инцидентны вершины {1, 7, 10}. Это ребро полностью может быть назначено в выбранный узел, т.к. |е4| <= р5. Все верши-

ны назначаются в данный узел. Узел К5 считается сформированным (K5 = {6, 1, 7, 10}), а вершины xb x7, xio удаляются из всех ребер. Выбираем следующее ребро и узел ( ei0, и К2). Ребро е10 полностью назначается в узел К2. Узел К2 = {15, 16} сформирован. Процесс продолжается до тех пор, пока не будут назначены все ребра.

В итоге получено решение: = {8, 9, 11, 13, 14}, К2 = {15, 16}, К3 = {4, 5},

К4 = {2, 3, 12}, К5 = {6, 1, 7, 10}

Генетические операторы. Так как решение представлено в виде двух хро-,

( , , .)

Оператор кроссинговера.

При много хромосомных представлениях решений используются два типа операторов кроссинговера К1 и К2 [6]. С помощью К1 новые решения получаются путём комбинирования составами хромосом родительской пары. Задаётся параметр Pk1 - вероятность кроссинговера. Просматриваются последовательно хромосомы от H1 до Hn и с вероятностью Pk1 осуществляет обмен хромосомами роди.

С помощью К2 новые решения образуются путём обмена генами хромосом . , что числовые значения генов в хромосомах не должны повторяться. Для соблюдения этого ограничения используется циклический кроссинговер (Cycle Crossover).

Комбинированный кроссинговер КЗ реализуется еле дующим образом. Сначала на выбранной родительской паре R1 и R2 реализуется кроссинговер К2, т.е. осуществляется обмен генами. Образуется дочерняя пара R1’ и R2’. Далее эта пара рассматривается как родительская и к ней применяется кроссинговер К1, т.е. осуществляется обмен хромосомами. В результате последовательного применения к родительской паре R1 и R2 кроссинговеров К2 и К1 образуется дочерняя пара R1” и R2”.

.

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

, , , ,

.

.

на IBM совместимом компьютере: CPU AMD Athlon-64 3000+/2х256 DDR DIMM. Основное внимание было удалено тестированию генетических алгоритмов, а именно ПГА и предложенного алгоритма. В таблице приведены зависимости времени работы ПГА и ГА от числа вершин и значений целевых функций от числа .

Таблица

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

Кол-во вершин ПГА ГГА

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

10 1,7 6 7,05 6

15 2,04 12 10,55 9

20 2,14 17 13,03 12

25 2,64 19 17,15 13

30 3,18 25 23,95 18

35 3,68 31 26,86 22

40 3,96 41 36,45 27

45 4,83 39 45,79 29

50 5,11 46 46,93 29

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

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

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

,

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

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

1. Lih-Yang Wang and Yen-Tai Lai, “Graph-Theory-Based Sinplex Algorithm for VLSI Layout Spaicing Problem with Multiple Variable Constraints”, IEEE Transactions on computer-aided design of integrated circuits and systems, vol.20, No.8, August 2001, pp. 967-979.

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

3. Shihliang Ou and Massoud Pedram, “Timing-Driven Bipartitioning with Replication Using Iterative Quadratic Programming”, ASPDAC, 1999.

4. 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

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

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

6. Методы генетического поиска: Научное издание / Под ред. В.М.Курейчика. - Таганрог: Изд-во ТРТУ, 2002. - 122 с.

С.И. Родзин

О ПРОБЛЕМНЫХ ВОПРОСАХ ТЕОРИИ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ Введение. Проблемными вопросами генетических алгоритмов (ГА) являются

, -которых оптимизационных задач. Несмотря на определенные успехи, теория ГА не выглядит вполне завершенной.

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

( ),

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

Рассмотрим пример. Пусть шаблон H1 = 101хх длины 5 описывает множество экземпляров стрингов {10100, 10101, 10110, 10111}, алфавит которых состоит из символов 1, 0 и неопределенного значения (х), которое может быть 0 или 1. Однако отдельные экземпляры одновременно могут принадлежать, например, шаблонам H2 = 10ххх или H3 = хх1хх. Шаблон H3 по сравнению с H2, а шаблон H2 по H1 -

чений. Это число называется порядком шаблона H и обозначается через о(Н), т.е. o(H1)=3, o(H2)=2, o(H3)=1. Расстояние между первой и последней фиксированными позициями называется определенной длиной шаблона и обозначается через S(H). Например, S(H1)=3-1=2, 5(H2)=1, S(H3)=0.

L 2L , -

рых связаны с фитнесс значением шаблона. Если популяция содержит ц стрингов, то в зависимости от ее гетерогенности число экземпляров шаблонов колеблется от 2l до H'2l Таким образом, хотя в процессе работы ГА оперируют с ц стрингами популяция, однако неявно ГА обрабатывает существенно большее, чем ц число ( ). -лелизм ГА является наивысшим.

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

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