Курейчик В.М., Кныш Д.С. Параллельный генетический алгоритм

реклама
ПАРАЛЛЕЛЬНЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ. МОДЕЛИ И ПРОБЛЕМЫ
ПОСТРОЕНИЯ*
Курейчик В.М., д.т.н, профессор
e-mail: kur@tsure.ru
Кныш Д.С., аспирант
Технологический Институт ЮФУ Таганрог
Ростовская область, Таганрог, 347900 ул. Энгельса, 1
e-mail: wiseman33@ya.ru
1. ВВЕДЕНИЕ
Эволюционные алгоритмы (ЭА) – это стохастический метод поиска, который применялся для
решения множества проблем поиска, оптимизации и машинного обучения [1, 2]. В отличие от большинства
других технологий оптимизации, ЭА содержат популяцию пробных решений, которые конкурентно
управляются по средствам применения некоторых различных операторов для поиска достоверного, если не
глобального, оптимального решения. Среди распространенных подклассов ЭА широко изучаются
генетические алгоритмы (ГА).
Генетические алгоритмы итеративно обучают популяцию индивидов, применяя оператор
рекомбинации (объединяя двух или более родителей для получения одного или более потомков) и мутации
их содержимого (случайное изменение проблемных переменных). Однако если придерживаться законов
естественной эволюции, нельзя управлять одной популяцией, в которой взятая особь претендует на
скрещивание с какими-либо другими партнерами в той же популяции (беспорядочное скрещивание).
Напротив, вид развивается в рамках общин (подгрупп), где существует структурная близость, и склонен к
воспроизведению внутри подгруппы. Среди расширений типов ГА особенно популярны. распределенные
ГА (РГА) [3-5], Распределенные эволюционные алгоритмы – это подкласс параллельных генетических
алгоритмов, предназначенных для снижения преждевременной сходимости к локальному оптимуму,
стимуляции разнообразия и поиска альтернативных решений той же проблемы. Они основаны на разбиении
популяции на несколько отдельных подпопуляций, каждая из которых будет обрабатываться ГА,
независимо от других. Кроме того, разнообразные миграции индивидов порождают обмен генетическим
материалом среди популяций, которые обычно улучшают точность и эффективность алгоритма
Мощность эволюционных алгоритмов усиливается с применением распределенных вычислений.
Здесь пытаются промоделировать естественную модель взаимодействия отдельных популяций, для решения
следующих задач:
 уменьшение вероятности преждевременной сходимости
 увеличение разнообразия популяции
 увеличение скорости сходимости к глобальному оптимуму или максимально оптимальному решению
задачи.
Для решения двух этих главных задач существует большое количество работ, представленных в
литературе. Некоторые авторы направили свои усилия на моделирование структуры взаимосвязей
отдельных популяций (модели гиперкуба, пространственных колец и другие). Другие же используют одну
единственную популяцию для различных стратегий поиска (см.,например, модель [6]).
Статья построена следующим образом. В разделе 2 мы приведем основные стратегии
распараллеливания ГА и дадим их краткое описание. В разделе 3 будут подробнее рассмотрены так
называемые многопопуляционные алгоритмы. В разделе 4 будут обсуждаться основные проблемы,
решаемые при распараллеливании. И в разделе 5 будет представлена собственная теоретическая модель
параллельных генетических алгоритмов (ПГА).
2. КЛАССЫ ПАРАЛЛЕЛЬНЫХ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
Существует три главных типа параллельных ПГА [7]:
1) глобальные однопопуляционные ПГА, модель «хозяин-раб» (или «мастер – подчиненные» (Master-Slave
GAs);
2) однопопуляционные ПГА (Fine-Grained GAs);
3) многопопуляционные ПГА (Coarse-Grained GAs).
В алгоритмах первого типа существует главная популяция, но оценка целевой функции (ЦФ)
распределена среди нескольких процессоров. Хозяин хранит популяцию, выполняет операции ГА и
распределяет индивидуумы между подчиненными. Они же лишь оценивают ЦФ индивидуумов.
*Работа
выполнена при частичной финансовой поддержке по Аналитической ведомственной целевой программы
Рособразования РФ «Развитие научного потенциала высшей школы» РНП 2.1.2/1652; 2.1.2/4595
Так как в таких параллельных ГА селекция и кроссинговер работают с целой популяцией, их
называют глобально параллельными ГА. Однопопуляционные ГА пригодны для массовых параллельных
компьютеров и состоят из одной пространственно-структурированной популяции. Селекция и скрещивание
ограничены отношениями близкого родства. Этот класс параллельных ГА имеет одну пространственнораспределенную популяцию и может быть эффективно реализован на параллельных компьютерах.
Многопопуляционные (или многообщинные) ГА более сложны, так как они состоят из нескольких
подпопуляций, которые периодически обмениваются индивидуумами (схема на рис.1). Этот обмен
индивидуумами называется миграцией и управляется несколькими параметрами. Многообщинные ГА очень
популярны, но достаточны трудны для понимания, потому что эффекты миграции остаются неполностью
исследованными. В целом, многообщинные ГА вносят фундаментальные изменения в операции ГА и имеют
поведение, отличное от ПГА.
Рис. 1. Пример многообщинного ГА в виде гиперкуба
Многообщинные параллельные ГА известны под различными именами. Иногда они известны как
«распределенные» ГА, потому что они обычно реализуются на MIMD-компьютерах с распределенной
памятью. В то же время многообщинные ГА имеют сходство с «островной моделью» в популяционной
генетике (Population Genetics), которая рассматривает относительно изолированные общины; поэтому
параллельные ГА также называются «островными» параллельными ГА (рис. 1).
Важно подчеркнуть, что метод распараллеливания «хозяин-раб» не влияет на поведение алгоритма,
тогда как последние два метода меняют способ (направление) работы ГА. Например, в «хозяин-раб»параллельных алгоритмах, селекция принимает во внимание целую популяцию, а в других двух
параллельных ГА селекция работает только с набором индивидуумов. Также в «хозяин-раб»-алгоритмах
любые два индивидуума в популяции могут скрещиваться (т.е. возможно случайное скрещивание), а в
других методах скрещивание ограничивается узким набором индивидуумов.
В следующей главе мы подробнее остановимся на островной модели параллельных генетических
алгоритмов.
3. ОСТРОВНАЯ МОДЕЛЬ ПАРАЛЛЕЛЬНЫХ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
Главные характеристики многообщинных параллельных ГА – это использование небольшого числа
относительно больших подпопуляций и миграция особей между ними. Отображению различных аспектов и
деталей; в этом разделе мы ограничимся обзором самых важных работ и дадим несколько примеров
интересных реализаций и применений.
Возможно, первым систематическим изучением параллельных ГА с множеством популяций была
диссертация Р.Б.Гроссо (Grosso) [8]. Его целью было имитировать взаимодействие параллельных
субкомпонентов эволюционирующей популяции. При этом Гроссо имитировал диплоидных особей
(использовались две субкомпоненты для каждого «гена»), и популяция была разделена на 5 общин. Каждая
община обменивалась индивидуумами со всеми другими общинами при установлении фиксированных
коэффициентов миграции. Экспериментальным путем Гроссо определил, что улучшение средней ЦФ
популяции происходило быстрее при маленьких общинах, чем при одиночной популяции. Это подтверждает
устоявшийся в генетике популяций принцип: благоприятные признаки распространяются быстрее, когда
общины маленькие, чем когда они большие. Однако он также заметил, что когда общины были
изолированы, стремительный рост ЦФ остановился на меньшем значении, чем при большой популяции.
Другими словами, качество найденного решения до сходимости было хуже в изолированном случае, чем в
одиночной популяции. При низком коэффициенте миграции общины все еще вели себя (работали)
независимо друг от друга и исследовали различные регионы пространства поиска. Мигранты не оказывали
значительного эффекта на поведение общин, и качество решений было сопоставимым со случаем, когда
общины были изолированы. Однако при средних коэффициентах миграции разделенная популяция нашла
решения, схожие с теми, что найдены для одиночной популяции. Эти наблюдения показывают, что имеется
критическое значение коэффициента миграции, ниже которого производительность алгоритма затрудняется
ввиду изоляции общин. Для вышележащих значений этого коэффициента разделенная популяция находит
решения того же качества, что и обычная одиночная популяция.
В похожем параллельном ГА Пети, Леуза и Грефенстетта (Pettey, Leuze и Grefenstette) [9], копия
лучшего индивидуума, найденного в каждой общине, посылается всем его соседям после каждого
поколения. Цель этой коммуникации состояла в обеспечении хорошего перемешивания индивидуумов. Как
и Гроссо, авторы этой статьи указывают, что параллельные ГА с высоким уровнем коммуникации находят
решения того же качества, что и последовательный ГА с большой одиночной популяцией. Эти наблюдения
вызывают другие вопросы, которые не разрешены до сих пор.
 Какой уровень связей необходим, чтобы параллельные ГА не вели себя подобно последовательным ГА?
 Какова стоимость этих связей?
 Актуальна ли разработка параллельных ГА при высокой стоимости взаимосвязей?
Для ответа на эти вопросы необходимо большое количество исследований, чтобы понять влияние
эффекта миграции на качество поиска в параллельных ГА
Все эти важные наблюдения были сделаны достаточно давно, когда другие систематические
исследования параллельных ГА только начинались. Например, Танезе (Tanese) [10] предложил
параллельный ГА с общинами, соединенными в топологии 4D-гиперкуба. В этом алгоритме миграция
совершается в фиксированные интервалы между процессами в направлении одного измерения гиперкуба.
Мигранты были выбраны вероятностным путем из лучших индивидуумов в подпопуляции, и они замещали
худшие индивидуумы в популяции- приемнике. Сам Танезе провел три серии экспериментов. В первой
серии интервал между миграциями был установлен в 5 поколений, и число процессоров изменялось. В
тестах с двумя коэффициентами миграции и варьированием числа процессоров параллельный ГА нашел
результаты того же качества, что и последовательный ГА. Однако, по экспериментальным результатам,
трудно сделать вывод, наше ли параллельный ГА решения быстрее, чем последовательный ГА, потому что
диапазон времен слишком большой. Во втором серии экспериментов Танезе изменял коэффициенты
мутации и кроссинговера в каждой общине, пытаясь найти значения параметров, чтобы сбалансировать
разнообразие и результативность. В третьей серии экспериментов изучалось влияние частоты обмена при
поиске; ее результаты показали, что слишком частые или, напротив, слишком редкие миграции ухудшают
производительность алгоритма.
В свою очередь, Кохун (Cohoon), Хедж (Hedge), Мартин (Martin) и Ричардс (Richards) отметили
определенное сходство между эволюцией решений в параллельном ГА и теорией периодически
нарушаемого равновесия (тип эволюции, при котором длительный период равновесия периодически
нарушается кратким периодом бурного развития) [11]. Эта теория была предложена Элдриджем и Гоулдом
(Eldredge и Gould) для объяснения отсутствующих связей в устаревшей записи. В соответствии с ней,
большую часть времени популяции находятся в равновесии (т.е. не происходит никаких значительных
изменений в их генетической структуре), однако изменения окружающей среды могут привести к
стремительным эволюционным изменениям. При этом важным компонентом среды популяции выступает ее
собственная структура, потому что особи (агенты) в популяции соперничают (конкурируют) с другими
особями за ресурсы. Поэтому прибытие особей из других популяций может нарушить равновесие и
инициировать новые эволюционные процессы. По результатам экспериментов с параллельными ГА Кохун и
др. отметили, что даже при достаточно низких значениях коэффициента миграции новые решения были
найдены за более короткое время (после обмена особями).
Кохун и соавторы использовали задачу линейного размещения в качестве бенчмарок и проводили
эксперименты с вариантами соединения общин, используя различную топологию сети. При этом они
указали, что выбор топологии не очень сильно влияет на производительность параллельного ГА до тех пор,
пока он имеет «высокую связность и маленький диаметр для обеспечения адекватного «смешивания».
Заметим, что сеть, которую они выбрали, является сильно связанной и имеет маленький диаметр ( O r , где
r – количество общин).
Позднее эта же группа специалистов расширила область исследований, используя приложение СБИС
(задача разбиения графа) на топологии 4D-гиперкуба [12, 13]. Как и в топологии сети, узлы гиперкуба
имеют 4 соседа, но диаметр гиперкуба меньше, чем сети (log2r).
Рассмотренные примеры многообщинных параллельных ГА позволяют указать некоторые причины,
которые делают эти алгоритмы такими популярными:
 Многообщинные ГА выглядят как простое расширение последовательного ГА. Схема очевидна: взять
несколько простых последовательных ГА, запустить их на узле параллельного компьютера и в
предварительно определенное время обмениваться несколькими особями.
 Требуется относительно мало дополнительных усилий для конвертирования последовательного ГА в
многообщинный ГА. Большая часть программы последовательного ГА хранит стндартную информацию и
следует добавить небольшое количество дополнительных подпрограмм, чтобы реализовать миграцию.
 В последнее время активно развиваются многопроцессорные вычислительные машины, обладающие
возможностью многопоточных вычислений.
4. ОСНОВНЫЕ ПРОБЛЕМЫ, РЕШАЕМЫЕ ПРИ МОДЕЛИРОВАНИИ
ПАРАЛЛЕЛЬНЫХ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
В зависимости от класса параллельных ГА различаются и задачи, решаемые при их разработке. Все
же можно выделить следующие общие задачи:
 Выбор или разработка стратегии взаимодействия составных частей алгоритма.
 Подбор частоты миграций между популяциями.
 Определение мигрируемых особей и их количества.
 Определение структуры эволюции отдельных популяций.
Рассмотрим каждую задачу подробней. Топология сети – это важный фактор в производительности
параллельного алгоритма, потому что она определяет, как быстро (или как медленно) хорошее решение
распространяется в другие популяции. Если сеть является сильно связной, то хорошие решения будут
быстро распространяться во все общины и могут быстро «насытить» популяцию. С другой стороны, если
сеть слабо связная, решения будут распространяться медленнее и общины будут более изолированными
друг от друга (обеспечивается возможность появления различных решений). Может происходить
дальнейшее параллельно развитие и рекомбинация различных решений для получения потенциально
лучших решений.
Топология коммуникации также достаточно важна, потому что она есть главный фактор в стоимости
миграции. Например, сильно связная сеть может способствовать лучшему перемешиванию особей, но она
также влечет за собой более высокие стоимости.
Общая тенденция в многообщинных параллельных ГА – это использование статичных топологий,
которые определяются до запуска алгоритма и остаются неизменными. Большинство реализаций
параллельных генетических алгоритмов со статическими топологиями используют природную
(естественную) топологию компьютера, доступную исследователям. Характерным примером служит
реализация на основе гиперкубов [14].
Другой метод конструирования топологии – это создание динамической топологии. В этом случае
община не ограничена связями с некоторым фиксированным количеством общин; вместо этого мигранты
посылаются в общины, которые удовлетворяют некоторому критерию. В качестве подобного критерия
берется мера разнообразия популяции или мера генотипического расстояния между двумя популяциями
(или расстояния от характерной особи популяции, например, наилучшей). При такой архитектуре
необходимы механизмы отслеживания событий в соседних популяциях, причем если в одной из соседних
популяций некоторое событие наступило, то следует ожидать события и во второй популяции.
Частота миграций также влияет на конечное решение. Как известно, слишком частые миграции
приводят к вырождению популяций, а редкие, наоборот, к снижению сходимости. Для регулирования
частоты миграции применяются различные методы, которые можно разбить на два типа: адаптивные и
событийные. В первом случае методы адаптации используются для настройки частоты миграции в процессе
работы алгоритма. Во втором случае применяются методы, определяющие необходимость миграции, т.е.
миграция осуществляется только при наступлении какого-либо события.
При выборе особей для миграции применяется механизм селекции. Отдельные части хромосомы
могут содержать «очень хорошие» фрагменты генетического материала, но эти части могут находиться в
хромосомах с плохой приспособленностью. Исключение таких хромосом может привести к
преждевременной сходимости или пропуску глобального оптимума.
Существует большое количество схем ГА, начиная от простого ГА и заканчивая различными
модификациями. Использование различных стратегий накладывает главное ограничение –необходимость
формирования однотипной структуры хромосомы. Но получаемый при этом эффект может быть гораздо
большим, чем при использовании одной структуры ГА во всех популяциях.
Трудность этих вопросов заключается в сложности точного описания процесса миграции, в
частности, выбора набора представительных критериев, которые на него существенно влияют.
5. НОВАЯ ТЕОРЕТИЧЕСКАЯ МОДЕЛЬ ПАРАЛЛЕЛЬНОГО ГЕНЕТИЧЕСКОГО
АЛГОРИТМА
Научные интересы авторов статьи связаны с исследованием влияния структуры взаимосвязей
параллельного ГА на эффективность алгоритма в целом. Здесь мы ограничимся теоретической моделью
нового подхода.
Для оценки влияния взаимосвязей на результат необходима система обмена особями, имеющая
гибкую структуру. Авторами предлагается следующая модель, схематически изображенная на рис.2.
- условие миграции
- популяция
- буфер хромосом
Рис. 2. Схема работы буферной модели параллельного генетического алгоритма
Модель можно представить как структуру типа «звезда», взаимодействующую с популяциями через
так называемый буфер хромосом. Буфер будет заполняться самими популяциями в процессе работы. Весь
процесс можно описать следующим образом:
I Формируются все популяции, которые запускаются на выполнение в асинхронном режиме.
II При наступлении определенной ситуации в популяции, эта популяция обращается в буфер и забирает
оттуда часть или все хромосомы, затем добавляет туда часть своих особей.
При данной структуре необходимо определить механизм регулирования размера буфера. Достоинство
этой модели заключается в большой гибкости, она позволит провести исследования различных стратегий и
критериев работы параллельных генетических алгоритмов.
Приведем примерную структурную схему работы подобного параллельного генетического алгоритма
(рис.3). Каждая популяция эволюционирует отдельно от других. На каждой итерации проверяется условие
необходимости миграции. Таковым условием может быть интервал итераций, вырожденность популяции и
т.п. Если условие наступило, происходит миграция хромосом особей с буфером хромосом.
Создание популяции
Создание популяции
Создание популяции
По числу итераций
По числу итераций
По числу итераций
p > Pc
p > Pc
p > Pc
кроссинговер
кроссинговер
кроссинговер
p > Pm
p > Pm
p > Pm
мутация
мутация
мутация
отбор
отбор
отбор
Необходима
миграция?
Необходима
миграция?
Необходима
миграция?
Буфер хромосом
Обмен хромосомами с
буфером
Механизм регуляции
размера буфера
РРис. 3. Примерная схема работы
параллельного генетического алгоритма с использованием буфера хромосом
Затем проверяется размер буфера, и если он больше заданного значения, то выполняется процедура
отбора. Условия миграции могут быть разными в различных популяциях. Также можно менять и типы
генетических операторов для популяций. Все это позволит провести исследования влияния различных
стратегий и механизмов на конечный результат работы ГА.
6. ВЫВОДЫ И НАПРАВЛЕНИЯ БУДУЩИХ ИССЛЕДОВАНИЙ
Возможности современных вычислительных устройств можно использовать на полную мощность
только в асинхронных моделях, поскольку сложность оптимизационных задач возрастает параллельно с
необходимостью быстрого принятия компанией решений в условиях сложной экономической обстановки. В
связи с необходимостью углубления исследований в области параллельных генетических вычислений,
предложенная модель представляется весьма актуальной. Для многообщинных генетических алгоритмов
требуется исследовать влияние структуры взаимосвязей на работу параллельного ГА. В дальнейшем
планируется внедрение гибридных методов в параллельный генетический алгоритм на различных этапах
функционирования.
Литература
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Back T., Fogel D.B., Michalewicz Z. Handbook of Evolutionary Computation// Oxford: Oxford University Press, 1997.
Michalewicz Z. Genetic Algorithms + Data Structures = Evolution Programs. // Berlin: Springer Verlag, 1992.
Alba E., Troya J.M. A Survey of Parallel Distributed Genetic Algorithms// Complexity. – 1999. – Vol.4, № 4. – P.31-52.
Alba E., Troya J.M. Influence of the Migration Policy in Parallel Distributed GAs with Structured and Panmictic
Populations// Application Intelligence. – 2000. – Vol.12, №3. – P.163-181.
Alba E., Troya J.M. Analyzing Synchronous and Asynchronous Parallel Distributed Genetic Algorithms// Future
Generation Computer Systems. – 2001. – Vol.17, №4. – P.451-465.
Golub M., Jakobovic D. A New Model of Global Parallel Genetic Algorithm// proceedings of 22nd International Conference
on Information Technology Interfaces IVI. – 2000. – P.363-368.
Cantu-Paz E. A Survey of Parallel Genetic Algorithms// IlliGAL Report, 1997.
Grosso P.B. Computer Simulations of Genetic Adaptation: Parallel Subcomponent Interaction in a Multilocus Model//
Unpublished doctoral dissertation, The University of Michigan. (University Microfilms №8520908), 1985.
Pettey C.B., Leuze M.R., Grefenstette J.J. A Parallel Genetic Algorithm// Grefenstette J. J., Ed., Proceedings of the Second
International Conference on Genetic Algorithms. – Hillsdale NJ: Lawrence Erlbaum Associates, 1987. – P.155-161.
Tanese R. Parallel Genetic Algorithm for a Hypercube// Proceedings of the Second International Conference on Genetic
Algorithms/ Ed. by J.J. Grefenstette.– Hillsdale NJ: Lawrence Erlbaum Associates, 1987. – P.177-183.
Cohoon J.P., Hegde S.U., Martin W.N., Richards D. Punctuated Equilibria: A Parallel Genetic Algorithm// Proceedings of
the Second International Conference on Genetic Algorithms/ Ed. by J.J. Grefenstette. – Hillsdale NJ: Lawrence Erlbaum
Associates, 1987. – P.148-154.
Cohoon J.P., Martin W.N., Richards D.S. Genetic Algorithms and Punctuated Equilibria in VLSI// Parallel Problem
Solving from Nature/ Ed. by H.-P.Schwefel, R.Manner R. – Berlin: Springer Verlag,1991. – P.134-144.
Cohoon J. P., Martin W. N., Richards D. S. A Multi-Population Genetic Algorithm for Solving the K-Partition Problem on
Hyper-Cubes// Proceedings of the Fourth International Conference on Genetic Algorithms/ Ed. by R.K. Belew, L.B.Booker.
– San Mateo CA: Morgan Kaufmann, 1991. – P.244-248.
Скачать