Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СППР / Приложение.doc
Скачиваний:
90
Добавлен:
23.03.2016
Размер:
3.38 Mб
Скачать

П 2.2.2. Последовательные модификации базового генетического алгоритма

Как показывает анализ, модификации ГА отличаются прежде всего способом селекции индивидов. В основных модификациях ГА несколько способов се­лекции используется для достижения различных целей — упрощения форми­рования промежуточной популяции, распараллеливания работы алгоритма, возможности анализа и предсказания поведения ГА. Было произведено срав­нение четырех различных схем селекции (для СГА и SSGA, рассматриваемых далее), показавшее, что эффективность всех методов примерно одинакова. Таким образом, в настоящее время абсолютно лучший метод селекции не определен.

Модификация стандартного варианта ГА (Steady State GA) [Whitley и Kauth, 1988] затронула способ формирования промежуточной популяции (Mating Pool), являющейся результатом отбора (селекции) для формирования наслед­ников с помощью генетических операторов. SSGA не формируют промежуточную популяцию как стандартный ГА, а осуществляют последовательно выбор пары наилучших индивидов, применяя к ним генетические операторы с целью формирования наследников, которые заменяют худшие индивиды популяции. Данная модификация ГА представлена на рис. П2.6.

Рис. П2.6. Steady State GA

При проектировании ГА могут быть выгодно использованы знания, получен­ные селекционерами в области искусственной селекции. Генетические алго­ритмы селекционеров (ГАС) моделируют именно искусственную селекцию. ГАС представлен на рис. П2.7, где под виртуальным селекционером понимается некоторый механизм селекции, который и является основным отличием ГАС от стандартного ГА.

Рис. П2.7. Генетический алгоритм селекционеров

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

Еще одна модификация ГА затрагивает решение многокритериальных задач. Многокритериальный ГА (МГА) также является модификацией стандартного ГА и отличается способом селекции, поскольку при отборе пар родителей в этом случае используется не один, а несколько критериев. При этом предлагается большое число вариантов схем селекции и соответственно вариантов МГА. На рис. П 2.8 приведен вариант МГА, предложенный SchafFer в 1984 г., — векторный ГА (VEGA). Сравнительные оценки показывают, что по эффективности VEGA имеет средние показатели, однако не оценивалась вычисли­тельная сложность для различных вариантов МГА, по которой VEGA может существенно улучшить свои показатели.

П2.2.3. Параллельные модификации базового генетического алгоритма

Стандартный ГА представляет собой строго синхронизованный последова­тельный алгоритм, который в условиях большого пространства поиска или сложного ландшафта пространства поиска может быть неэффективен по кри­терию времени. Эту проблему позволяет решить другой вид ГА— парал­лельный генетический алгоритм (ПГА). Следует отметить, что любая после­довательная модификация стандартного ГА может быть преобразована в па­раллельную.

По степени распараллеливания можно выделить следующие типы параллельных ГА:

  • ПГА на базе популяции;

  • ПГА на базе подпопуляций;

  • ПГА на базе индивидов.

ПГА на базе популяции сохраняет стандартную структуру ГА, работающего с целой популяцией, распараллеливание реализуется на этапе скрещивания и мутации (см. шаг 4, рис. П2.5). По степени распараллеливания процессов можно выделить следующие модели [8]:

  • синхронная модель "ведущий-ведомый", где главный процесс хранит це­лую популяцию в собственной памяти, выполняет селекцию, скрещивание и мутацию, но оставляет вычисление степени пригодности новых индиви­дов к подчиненным процессам;

  • полусинхронная модель "ведущий-ведомый", где новый индивид обраба­тывается по мере освобождения одного из процессов;

  • асинхронная параллельная модель, где индивиды популяции хранятся в общей памяти, к которой можно обращаться к параллельным процессам. Каждый процесс выполняет оценку степени пригодности, а также генети­ческие операции.

Каждый процесс работает независимо от других. Единственное отличие меж­ду этой моделью и стандартным ГА заключается в механизме селекции [4]. Очевидным в этом случае является вариант использования N12 параллельных процессоров при популяции в N индивидов. Тогда каждый процессор дважды случайным образом выбирает два индивида из общей памяти и оставляет лучшего. Два выбранных индивида затем подвергаются скрещиванию, мута­ции и оценке степени пригодности. Возникающие в результате наследники размещаются в общей памяти

Рис. П2.9. Распределенный параллельный генетический алгоритм

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

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

  • связи между процессорами для обмена индивидами;

  • частоту обмена индивидами (оптимальной является частота обмена через 20 поколений [5]);

  • степень перемещения или число обмениваемых индивидов (оптимальным является 20 % подпопуляции [5]);

  • способ селекции индивида для обмена;

  • критерий, по которому полученный индивид сможет заменить члена подпопуляции.

С точки зрения времени и даже числа поколений, затрачиваемых на решение задачи, ПГА эффективнее стандартного ГА, но при этом некоторые задачи могут быть слишком простыми для ПГА. Параллельный поиск имеет смысл в том случае, если пространство поиска большое и сложное [3]. Увеличение числа процессоров в данной модели улучшает скорость сходимости, но не качество решения.

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

При работе с моделью на базе индивидов необходимо задать:

  • структуру связей ячеек;

  • схему селекции;

  • схему замещения.

Исследования этой модели показали, что для сложных задач она способна обеспечить лучшие решения, чем стандартный ГА

П2.3. Классификация генетических алгоритмов

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

Классификация ГА и основные модификации стандартного ГА, приведенного на рис. П2.5, отражены на рис. П2.11


П2.4. Особенности генетических алгоритмов, предпосылки для адаптации

Исследования в области ГА и ЭА в целом позволяют выделить важную осо­бенность данных методов — эффективность ЭА существенно зависит от та­ких взаимосвязанных параметров, как вероятность применения генетических операторов, их тип и размер популяции.

ГА являются вероятностным методом направленного поиска и поддерживают сведения об индивидуальных точках в пространстве поиска (ландшафте), из­вестном как популяция. Как отмечалось ранее, поиск может быть рассмотрен как итерационная программа, применяемая с целью создания лучших инди­видов с помощью таких операторов, как селекция, скрещивание (рекомбина­ция) и мутация.

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

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

ГА, как метод направленного поиска, на каждом шаге генерируют новые точ­ки в пространстве поиска для дальнейшего развития популяции. Каждой точ­ке в пространстве поиска соответствует уникальное значение степени при­годности. Следовательно, можно говорить о пространстве поиска как ланд­шафте функции степени пригодности. При этом популяция дает оценку эффективности работы алгоритма, которую можно определить как неодно­родную функцию распределения вероятности (НФРВ).

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

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

Таким образом, эффективность алгоритма зависит от двух факторов: от под­держания эффективной популяции и от соответствия НФРВ ландшафту сте­пени пригодности и эффективной популяции. Первый из этих факторов зави­сит от размера популяции и алгоритма селекции. Второй будет зависеть от действия операторов и связанных с ними параметров в данной популяции.

Большое внимание было уделено тому, чтобы найти подходящие варианты операторов и их параметров, которые бы работали в широком диапазоне при­кладных задач. В первой работе [DeJong, 1975] определялся тестовый набор из пяти функций для исследования различных характеристик (непрерывные/прерывные, выпуклые/вогнутые, унимодальные/мультимодальные, квад­ратичные/неквадратичные, с низкой размерностью/с большой размерностью, детерминированные/стохастические), предлагался набор параметров, кото­рый бы успешно работал для решения целого ряда прикладных задач. Был определен следующий набор параметров: размер популяции от 50 до 100; ве­роятность мутации— 0,6; вероятность скрещивания — 0,001. Также была подчеркнута эффективность элитизма и двухточечного скрещивания.

Однако последующие исследования, применяющие "мета-ГА" для определе­ния подходящих значений [Grefenstette, 1986] или использующие полное тес­тирование [Schaffer, 1989], привели к различным выводам. Grefenstette ис­пользовал "мета-ГА" для исследования параметров с помощью описанных ранее пяти функций. Его набор параметров был следующим: размер популяции -—30; вероятность мутации — 0,01; вероятность скрещивания — 0,95.

Schaffer исследовал 6 размеров популяции, 10 уровней скрещивания, 7 уров­ней мутации и два типа скрещивания, т. е. 840 различных установок. Он от­метил, что двухточечное скрещивание не хуже, а иногда лучше одноточечно­го скрещивания. В небольшой популяции производительность сильно зависит от уровня мутации и меньше — от уровня скрещивания. Когда размер попу­ляции увеличивается, чувствительность к мутации снижается. Им был уста­новлен следующий набор параметров: размер популяции от 20 до 30; вероят­ность мутации— от 0,005 до 0,01; вероятность скрещивания— от 0,75 до 0,95.

Тем временем теоретический анализ оптимальных размеров популяции [Goldberg, 1985] формализовал утверждение, что размер популяции зависит от размера пространства поиска.

Интенсивность использования мутации и скрещивания может и должна быть привязана к размеру популяции. Эмпирически исследователи [Schaffer, 1989] нашли почти оптимальное сочетание параметров:

где N — размер популяции, т — уровень мутации, п — длина стратегии. Это выражение может быть аппроксимировано:

Однако и это выражение не является окончательным, поскольку рассматривается вне конкретной задачи.

Мутация становится более эффективной, чем скрещивание, когда размер по­пуляции небольшой, и наоборот [Spears и Anand, 1991]. Другие факторы, та­кие как схема представления, селекция, функция степени годности, также отражаются на эффективности использования мутации и скрещивании. При этом теоретически невозможно определить, какие именно операторы исполь­зовать для решения конкретной задачи.

Последующие несколько лет исследований привели к появлению ряда новых операторов, среди которых можно выделить однородное скрещивание, кото­рое выполняется на L/2 точках скрещивания строки длиной L [Syswerda, 1989] и является более эффективным [Spears William M., Adapting Crossover in Evolutionary Algorithms].

Результаты исследований позволили сформировать два важных вывода:

  • значения НФРВ являются результатом выполнения генетических операто­ров (в частности, скрещивания) и зависят от их типа [Eshelman, 1989]. Практические результаты были подтверждены анализом различных меха­низмов рекомбинации [DeJong и Spears, 1990, 1992; Spears и DeJong, 1991];

  • вероятность того, что новая точка, сгенерированная с помощью генетиче­ских операторов, будет более эффективна, чем предыдущая родительская, также зависит от типа генетического оператора. Значение вероятности ме­няется также от поколения к поколению [Schaffer и Eshelman, 1991]. Кро­ме того, вероятность отражает соответствие между НФРВ и ландшафтом степени пригодности популяции.

Эти исследования вместе с исследованиями эволюционных стратегий, в ко­торых уже использовались адаптивные операторы (различные версии этих алгоритмов с адаптивной оценкой мутации, оказались достаточно эффектив­ными для решения задач оптимизации функций [Back, 1991; Schwefel/ 1981], последние исследования подтвердили эту точку зрения на эффективность мутации [Baeck & Schwefel, 1993]), повысили интерес к возможностям алгорит­мов, которые способны адаптировать операторы или параметры. Цель введе­ния механизма адаптации состоит также и в том, чтобы согласовать значения НФРВ, формируемые алгоритмом, и ландшафт степени пригодности.

П2.5. Классификация адаптивных ГА

Адаптивные ГА можно классифицировать по трем направлениям (рис. П2.12).

  • основа управления адаптацией (внешнее управление или самоадаптация);

  • область адаптации (применяется ли адаптация ко всей популяции, только к отдельным членам популяции и т. д.);

  • основа адаптации (операторы, параметры и т. д.).

П2.5.1. Основа адаптации

Большинство адаптивных алгоритмов основывается на СГА и SSGA, при этом чаще всего исследования проводятся на генетических операторах скре­щивания и мутации. Направленный поиск в ГА в основном сосредоточен на исследовании новых областей пространства поиска и эксплуатации предва­рительно изученных эффективных областей (или гиперпланов) пространства поиска.

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

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

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

Можно выявить ряд направлений в исследованиях того, как именно следует осуществлять адаптацию в ГА:

1. Самый простой класс — ГА, которые используют фиксированный набор операторов и адаптируют вероятности использования операторов. Хорошо известны работы, устанавливающие зависимости:

  • вероятности мутации от времени [Fogarty, 1989];

  • вероятностей использования нескольких простых операторов (одно­родное скрещивание, мутация и т. д.) от их эффективности на послед­них поколениях [Davis, 1989];

Рис. П2.12. Классификация генетических алгоритмов

2. Дальнейшее развитие этого подхода заключается в алгоритмах, которые поддерживают несколько популяций или подпопуляций, использующих различные наборы операторов и параметров. Общий подход заключается в "мета-ГА" (или многоуровневом ГА, в котором одновременно может существовать несколько популяций, расположенных по некоторой иерархии) и определении параметров для каждой подпопуляции [Grefenstette, 1986];

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

П2.5.2. Область адаптации

Адаптация в ГА может осуществляться на уровнях:

  • популяции, когда параметры ГА являются общими для всей популяции и, следовательно, изменения в НФРВ происходят со стороны всей текущей популяции;

  • индивидов, когда значения НФРВ формируются со стороны каждого члена популяции отдельно, но одним способом;

  • компонентов, где на НФРВ можно влиять со стороны каждого компонента каждого члена популяции различным способом.

Адаптация на уровне популяции

Адаптация на уровне популяции предполагает использование фиксированно­го набора генетических операторов, таких, что их параметры могут изменять­ся во времени. Наиболее важным параметром при этом является вероятность применения генетического оператора. К этому уровню адаптации относятся уже упомянутые "мета-ГА", а также конкурирующие подпопуляции ГАС, например [Schlierkamp-Voosen и Muhlenbein, 1994].

В [Fogarty, 1989] внешне определенная форма используется, чтобы умень­шить уровень мутации с течением времени. Однако этот подход не является универсальным и не применяется к другим генетическим операторам. Хоро­шо известен и популярен подход [Davis, 1989; Come, 1994; Julstrom, 1995], который заключается в том, чтобы хранить статистику по эффективности на­следников, сгенерированных различными операторами, по отношению к их родителям. Эффективные операторы при этом "вознаграждаются"— увели­чивается вероятность их использования. Этот подход требует дополнитель­ного пространства памяти.

В [Lee и Takagi, 1993] для управления различными параметрами, в том числе и размером популяции, используются нечеткие правила, основанные на отно­сительной эффективности самых лучших, худших и средних значений теку­щей популяции

Соседние файлы в папке Лекции по СППР