local fitness optimum in sequence space and must pass through a "valley" of lower fitness to find a higher-fitness optimum. We believe that the generality and simplicity of the mechanism for metastability presented in this paper makes it likely to play a role in the occurrence of epochal dynamics in the more general and complicated cases outlined in the previous paragraph.
Genetic algorithms (GAs) are a class of stochastic search techniques, loosely based on ideas from biological evolution, that have been used successfully for a great variety of different problems However, the mechanisms that control the dynamics of a GA on a given problem are not well understood GAs are nonlinear population-based dynamical systems. The complicated dynamics exhibited by such systems has been appreciated in the field of mathematical population genetics for decades. These complications make an empirical approach to the question of when and how to use evolutionary search problematic. Our approach to understanding GAs is to examine the change in the distribution of energies in the population, pt(E), at each generation /. For a finite population the energy distribution is a sum of delta functions which will depend on the particular choice of the couplings and on the randomly chosen initial population. We will therefore consider the statistical Properties of the distribution, the mean, variance and higher cumulants which are simply related to the moments. The bulk of the remainder is devoted to the development of this theoretical model. We have ‘ermed our type of analysis "statistical dynamics", since it combines a dynamical systems approach, on the one hand, with a statistical physics and stochastic process approach, on the other. The infinite Population behavior is treated as the dynamics of a detemnn.s-fc nonlinear dynam.calI system In constructing this dynamical system we have to choose suitable "mesoscopic state variables (in this case, fitness distributions) that capture the complicated microscopic state of the system in terms of a *uch smaller number of variables. Moreover, we require that the desenpt.on of the system and its Savior in terms of these variables should be closed in the limit of infinite populations. That is for infinite populations the dynamics of fitness distributions must be fully specified by the fitness distributions themselves and should not depend on the exact underlying ( microscopic disfribut.on of strings. This condensation of the microscopic states using a few order parameters that describe ^ dynamics in the limit of infinite system size, is a well-known procedure from statistical physics. With this setting established, we augment the solution of the nonlinear dynam.cal system with a statistical treatment of the finite population behavior. In doing so we make use of simple stochastic differential equations, such as the Fokker-Planck equation. These three features-describing the ^stem in terns of a mall set of statistical order parameters der.ving and solving the deterministic nonlinear dynamical systems equations in the infinite population tamt, and hen augmenting this solution With simple stochastic differential equations to capture the finite population dynamics -is ft,e essence of our statistical dynamics approach. The approach adopted here gives both a qualitative and quantitative understanding of how GAs work. This allows some strong predtct.ons to be made about the optimal parameters and representations that should be used.
REFERENCES
'■J H. Haland, Apaptation in Natural and Artificl Systems. University of Michigan Press (Ann
Arbor) 1975
2- D. £ GcMto-g Genetic Algorithms in Search, Optimization&Machine Learning. Addison-w«ley (Reading, Mass), 1989.
УДК 681.3.001.63
В.В. Курейчик
АЛГОРИТМЫ РАЗБИЕНИЯ ГРАФА НА ОСНОВЕ ГЕНЕТИЧЕСКОГО
ПОИСКА
в данной работе предлагаются новые и модифицированные ГА для разбиения графа на ПоДграфы [1^1 они отличаются применением нетрадиционных архитектур генетического Поис«а, а также генетических операторов, ориентированных на использовании знаний о
решаемых задачах. Экспериментальные исследования показали эффективность предложенных методов.
Сформулируем постановку задачи разбиения графа на заданное или произвольное число частей. Пусть задан граф в = (X, Е, \У), где X представляет множество вершин графа, Е множество ребер, а \У- общий суммарный вес вершин. Вес вершины соответствует интегральной оценке, в которую могут входить различные конструкторско-технологические ограничения на исследуемую модель. Причем, значения е не превышают некоторой пороговой величины. Пусть В = {В] , В2,..., В,} будет множество разбиений графа О на части В!, В2,..., В,; такие, что В, пВ2 г\.. о В, = 0, и В1 <^»В2 <~>... ^В = В. Пусть каждое разбиение
Bj состоит из элементов В; = {Ь| ,Ь2.Ь„ }, п =|Х|. Тогда задача разбиения графа б на части
заключается в получении разбиения В, е В, удовлетворяющего трем условиям и ограничениям:
здесь Ку - число связей между частями Bj и Bj /три разбиении графа G на две части; I -количество частей в разбиении; К - суммарное количество связей при разбиении графа на части.
Стандартная задача разбиения заключается в минимизации К (K=>min). Минимизация К при разбиении графа на части позволяет косвенно учитывать многие критерии и конструкторско-технологические ограничения модели объекта. В данной работе будет решаться задача разбиения графа G с минимизацией К и ограничением W^wi^,..., где \ А.|,..., А,, - заданные пороговые величины.
Все генетические алгоритмы работают на основе начальной информации. В качестве нее выступает популяция Р. Популяция Р {Р( Р2 Pj Р„ } есть множество
индивидуальностей Pj. Каждая индивидуальность Р состоит из одной или нескольких хромосом, которые представляют собой закодированный генетический материал. Хромосомы состоят из генов, и позиции генов в хромосоме называют лоци или локус для одной позиции. Гены могут иметь числовые значения, которые называются аллели. Обычно эти числовые значения берутся из некоторого алфавита. Генетический материал хромосом обычно кодируется на основе двоичного алфавита {0, 1}. Индивидуальности (особи) в ГА часто называют родители. Родители выбираются из популяции на основе заданных правил, а затем смешиваются (спариваются) для производства "детей" (потомков). Дети и родители создают новую генерацию. В литературе [5-7] существует соответствие между терминами натуральной генетики и терминологией в ГА применительно для технических задач. Хромосомой обычно называется последовательность (string), ген - элемент, локус - позиция в последовательности, аллели - значение элемента. Далее, в основном будут использоваться элементы терминологии ГА. Каждая особь имеет целевое (функциональное) значение, которое определяется целевой функцией (ЦФ) (ее часто объединяют с функцией пригодности называемой fitness).
Основная задача ГА оптимизировать ЦФ. Другими словами ГА анализирует популяцию последовательностей, представляющих комбинацию элементов из некоторого множества, и оптимизирует ЦФ F(n). Здесь п - число элементов в последовательности. ЦФ вычисляет fitness каждой последовательности. ГА манипулирует популяцией последовательностей на основе механизма натуральной эволюции. Отметим, что популяция обязательно является конечным множеством. В каждой генерации последовательности (string) являются результатом применения некоторых генетических операторов. Считается, что в простых ГА существует четыре основных функции (или оператора, или шага, или процесса) [5,6]:селекция; кроссинговер; мутация; рекомбинация.
(VB, є В) (В 9*0),
(VBi, Bj є В) ([В, *В, —>Xj nXj = 0] л [(E, rj E = E (j) v(E> oEj = 0)]), (1)
s n n
LIB, =B,UE1=B,Ux,=X,EiJ=Klji
i=l
i=l
Весовая функция для разбиения графа G запишется:
Натуральная селекция - это процесс, посредством которого хромосомы, содержащие более высокое функциональное значение (с сильными признаками), имеют большую вероятность для репродукции, чем слабые хромосомы. Выбранные для репродукции хромосомы обмениваются генетическим материалом, создавая аналогичные или совершенно различные потомки. Такой процесс, основанный на эволюционной теории Дарвина, также называется методом выживания сильнейших.
Приведем пример одной из базисных структур простого ГА,
1.Создание начальной популяции.
2.Моделирование популяции (определение ЦФ).
3.Пока заданный критерий (критерии) не достигнут:
3.1.селектирование индивидуальностей для репродукции;
3.2.применение ОК для создания потомков;
3.3.применение ОМ;
3.4.применение ОИ;
3.5.рекомбинация родителей и потомков.
4.Создание новой генерации.
5.Переход к 1 если не получено экстремальное значение или конец работы.
Отметим, что такая структура ГА не единственная. Можно построить много ее
модификаций путем объединения, например пунктов 3.2 - 3.5 или их частичного устранения.
На рис. 1.показан пример базисной структуры ГА.
Как известно [5-7], основное преимущество и отличие ГА состоит в том, что Исследуется не одно решение, а целая популяция. Кроме того, каждое решение обычно кодируется в заданном алфавите.
Отметим, что ГА могут применяться иерархически. Сначала на уровне микроэволюции, Где основные изменения протекают внутри индивидуальностей одной популяции. Причем, ^Ременной масштаб таких преобразований I = 4П, где П - число генераций. А затем на уровне Макроэволюции, когда ГА выполняются между набором популяций. Верхним является Метаэволюция управляющая микро и макроэволюциями.
создание начальной популяции
Р1={Р1, Р2 Рп)
| моделирование Р1
1
пока заданный критерии не достигнут
селекция
кооссинговер
мутация
инверсия
транслокация *
сегрегация
рекомбинация
т
создание новой генерации Р1+1
Рис. I.
Пример базисной структуры ГА.
Построим схему разбиения графа на части на основе генетического подхода. Такая схема дана на рис.2. Здесь в первом блоке строится текущая (начальная) популяция решений, т.е. определяется заданное подмножество В,, В2 ,..., Вк (к <, s). Отметим, что такое подмножество решений может быть получено случайным, направленным или случайнонаправленным методами. При наличии большого количества элементов наиболее предпочтительными будут конструктивные и случайные алгоритмы для получения текущей популяции. В качестве целевой функции (fitness) выберем К(выражение (2)). В некоторых исследованиях [1-4] предлагается при решении задач разбиения графа на части не минимизировать К (число связей между частями разбиения), а максимизировать количество связей М внутри частей разбиения. Известно [2], что критерии К и М являются взаимообратными, т.е. минимизация К максимизирует М и наоборот. Для каждого элемента текущей популяции вычислим К и определим Кср среднее значение целевой функции на данной популяции. Блок 3 на рис.2, осуществляет сортировку популяции на основе К.
Укрупненная схема разбиения с применением ГА. 1
Рис.2
Сначала расставляются элементы с наименьшим значением К и т.д. по возрастанию. Блок 4 выполняет селекцию популяции для получения родительских пар. Селекция выполняется одним из методов описанных ранее. Простейшим случаем селекции может являться последовательный метод выбора наилучших (в смысле функции К) индивидуальностей после сортировки. Блок 5 осуществляет реализацию генетических операторов. В шестом блоке осуществляется построение новой популяции решений. Далее для
I00
каждой индивидуальности из новой популяции вычисляется К и выживают те элементы из старой и новой популяции, у которых К ;> При этом количество элементов в новой популяции не должно превышать число элементов а строй популяция. Можно предложи,* большое число аналогичных схем генетического поиска для решения задач раэбиения[8-12]. Их эффективность должна проверяться экспериментальным путем.
Рассмотрим последовательный ГА разбиения. Пусть задан граф схемы О (Х,Е). Первоначально упорядочим асе вершины граф» по возрастанию локальных степеней вершин, эта соответствует списку вершин, а также может соответствовать тривиальному разбиению, «огда количество групп разбиения равно упорядоченным вершинам графа. Далее начинаем составлять пары вершин и дл» каждой пары вычислять оценку связности
В (з7=е”чи1!о »«2й меж^вершннамн х и х , образовавшими пару; е и е - это число “"Эей, соединяющих выбранную пару со всеми остальными вершинами модели, причем , -
2...п-2. Составим второй список, где будут оставлены такие пары аершнн, у которых 69 20.
Отметим, что если пар 5д 20 не находится, то возможно два случая. В первом будут
«разовым™, пары с наименее отрицательным 5ц. Во втором случае пары и, двух вершин ■* образуются и сразу происходит переход к образованию групп из трех вершин. Далее процесс повторяется аналогично, пока не будет выполнено разбиение графа на заданное или произвольное чЗ частей. Это основная идея стандартной процедуры разбиения. При небольшом коли^стве вершин она дает удобрительные результаты, т.к. практически здесь осуществляется полный перебор вариантов решений. С увеличением числа вершин «•прямуГиспоГзомнис такого подхода становится нецелесообразно. Дда сокращения числа пппГ использование 1л генетические операторы. Отметим, что вместо
просматриваемых пар применим простые генетичс^п* к
выражения (3) можно использовать выражение + (4)
где х, + Т' - внутренние ребра разбиения,
X и = I ? п-?\ - янешние оебра разбиения.
П VI I, И внешп ? Г Определим локальные степени вершин и
Упопя ассмотрим пРимеР- Пусть зад Построим теперь пары вершин для определения
упорядочим их в виде списка по возрастанию, построим Р
Разбиения графа по две в каждой^ ^ ^ верщины , д 2 6 Если стоит задача
разбит 3 ЭТГ уровне вь,дели д каждой с минимизацией К, то в качестве третьего
блока п Г« На ЧаС™ П° с наименее отрицательным значением выражения (4). Такое
Разби М0ЖН0ВЗЯТ"бГ Го что ^ большого числа вершин данная процедура
Разбиение показано на рис.4. Очевидно, что для оольш к
нецелесообразна. Применим схему генетического поиска -
Построим случайным образом некоторую популяци
Р={Р1,Р2,Рз,Р4,Р5,Рб}-
‘; (1,2) п1Мии. л/словия (4) для всех элементов популяции Р. Для первого
1еперь проверим выполнение условии \ ^
элемента - 1йг7 (условие не выполняется).
Ь-ГэТ^Гр' Ж*. - <«) зг*р’ “1 г7Л ' (м) ог*
в качестве целевой функции взято выражение (4). Определим для каждой ИнДивидуальности в популяции значение целевой функции. Произведем сортировку анализируемой популяции и получим: р4. Р5, Р,, Р3, Ра, Рг-
Произведем селекцию и образуем родительские пары.
Р4(4,5) Р| (1,2) Р6(3,6)
Р5 (5,6) Рэ (3,4) Р2 (2,3)
Применим стандартный ОК и получим новые хромосомы:
Р4 (4,5) Р5 (5,6)
?\ (4,6) 0й9 Р’з (5,5)
Р.(1,2)
Рэ (3,4)
Р’| (1,4) 02:10
Р’з (3,2)0^11
Рб(3,6) Рг (2,3)
Р’б (3,3)
Р’2 (2,6) 323 (да)
рис. 4.
В результате однократного применения ОК мы получили лучшее решение Р’г(2 6).
Тенденции преимущества ГА видны даже на простом примере. Использование стандартного ОК может приводить к несуществующим решениям (разбиения Р’5 Р’6) В этом случае можно предложить несколько модификаций ОК В частности при скрещивании пар потомки могут получаться путем объединения первых И вторых элементов родителей с анализом полученных решений. При этом повторяющиеся элементы устраняются, а отсутствующие добавляются.
На рис.5, показано разбиение графа в (рис.З.) на две части по три вершины в каждой.
Отметим, что генетическая процедура поиска может быть применена как единственная оптимизационная процедура. В этом случае сложность алгоритма компоновки будет лежать в
т „ гпииай с 0(п ) будет ИМвТЬ МеСТО При ПОПуЛЯЦИИ
пределах ОЫ - 0(п ). Причем, краинии случаи с ui.ii ) чгд к ^
Н Аелал )■ н м„в„я„ий япгопитма Кроме того, генетические операторы
больше пятилесяти и от ста и выше генерации алгоритма. , к к
пятидесяти и от й шя повышения качества последовательных
Могут быть вставлены как вспомогательные олоки для пив».
алгоритмов.
Рис. 5 Разбиение в на две части
Рассмотрим основную идею итерационного разбиения гиперграфа Н = (X, Е), на части с минимизацией К Для каждого ребра е.еЕ, е, с X можно определить разрезающую функцию как число точек попадающих в различные блоки. Если хотя бы одна вершина ребра гиперграфа » не в той части, что остальные вершины этого ребра, то обязательно будет существовать по крайней мере одно разрезающее ребро. Просуммировав все разрезающие Ребра, получим общее число К (связей) между блоками, которое необходимо минимизировать. Если заданы р^меры элементов, т.е. вершин гиперграфа, то часто необходимо
максимизировать сумму площадей элементов блока.
Премагаемый^ алгоритм состоит из двух уровней. На первом уровне строятся предлагаемый алгоритм получены случайным, последовательным или
популяции решений которые могут ОЫТЬ пилучепш V з
итерационным методами. Далее согласно разработанным схемам генетического поиска определяется ЦФВ^ачестве ЦФ выбирается К с ограничением на сумму площадей элементов тся цч . ь кач *4 птипуется и упорядочивается согласно ЦФ. После
в блоках. Затем полученная популяция сортируете » « -
этого используя описанные схемы селекции, выбираются родительские пары для выполнения диетических операторов перед выполнением ГО » каждой хромосоме (текущий вариант разбиения) шред^Зя стоимость каждого строительного блока. Работа ГО начинайся с М0Дифицированжит> ОК(МОХ). При этом точка или точки ОК “ “У-ино, а
направленно выделяя лучшие строительные блоки в каждой хромосоме.
и вос„;.сегг
"фвонаТа,Г„7™и7не «дну, а некоторый набор популяций. Далее выбирать «лучшего» ^«авнтел, нз каждой популяр и
Генетический поиск. Важным вопросом является уV * д^ь используются различные адаптационные процедуры.
Определим трудоемкость данного алгоритма. Пусть N Р^Р популяции, N. «оличество полуненЗ потомков, N0 - количество генерации ГА. Тогда общую трудоемкость аЛ|°ритма можно ориентировочно определить
Т »[(Np tp + Nn t„ + (Np + Nn) te ] NG,
(5)
где Ц - трудоемкость построения одной индивидуальности в популяции;
1П - трудоемкость генерации одного потомка;
1С - совокупная трудоемкость селекции и отбора.
Заметим, что трудоемкость построения одной индивидуальности может колебаться от О(п) до 0(п!), а трудоемкость генерации одного потомка зависит от сложности применяемого генетического оператора и ориентировочно изменяется от О(п) до 0(п 1о§п). Трудоемкость селекции и отбора может меняться от О(п) до 0(п2).Введем коэффициент определяющий относительную величину удовлетворительных решений при одной генерации ГА:
где Ылок - количество удовлетворительных решений (локальных оптимумов), п - размер индивидуальности (решения, хромосомы), Мобщ - общее количество решений. Причем N0601 ' может быть равно п!. Данную величину можно повысить увеличив число генераций ГА с 1 до N0. Тогда
рЮт
™общ
Сложность описанного алгоритма ориентировочно составляет 0(Ал2 ) для одной генерации. Здесь X- коэффициент, определяемый количеством ГО.
1. Норенков И.П., Маничев В.Б. Основы теории и проектирования САПР. - М.:Высш. шк., 1990.-272 с.
2. Курейчик В.М. Математическое обеспечение КТП с применением САПР. - М.: Радио и связь, 1990. - 352 с.
3. Энкарначчо Ж., Шлехтендаль Э. Автоматизированное проектирование: основные понятия и архитектура систем. - М.: Радио и связь, 1986. - 288 с.
4. Preas В. and Lorenzetti М., eds., Physical Design Automation of VISI systems. Benjamin Cummings Publishing Company, Ins, 1988. - 372 r.
5. Holland У., Adaptation in Natural and Artificial Systems. University of Michigan, Press, Ann Arbor, 1975.-211 r.
6. Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning, Adisonwesley Publishing Company, Inc., 1989. -412 r.
7. Davis L.D. Handbook of Genetic Algorithms. Van Norslrand Reinhold, New York, 1991. -385 r.
8. Батищев Д. И. Генетические алгоритмы решения экстремальных задач. ВГТУ, Воронеж, 1995.-69с.
9. Chandrasekharam ft., Subhramanian and chadhurys. Genetic algorithms for node partitionaly problem and application in VLSI design. IEEE Proc-E, Vol.140, No.5, September, 1993. P. 167 -178.
\0.Shahookar K.,Mazmunder P. A Genetic Approach to standart Cell Placement Using Meta-Genetic Parameter Optimization, IEEE Trans, on CAD, Vol.9, No.5, May, 1990. P. 500 -511.
11. Shahookar ft And Mazumder P. VLSI Placement Techniques ACM Computing Surveys, Vol.23, No.26 Sune 1991. P. 142 -220.
12. Goodman E.D.Tetelbaum A.Y.,Kureichik V.M. Genetics Algoritm Apporoach to Compaction, Bin Packing, and Nesting Problems. Tecnical Report # 940502< MSU, East lansing, USA, 1994. -71p.
(6)
ЛИТЕРАТУРА