Московский государственный университет путей сообщения
Опубликован: 10.10.2014 | Доступ: свободный | Студентов: 866 / 193 | Длительность: 22:10:00
Лекция 10:

Эволюционное программирование

Аннотация: Эволюционное программирование (ЭП), как и ЭС, использует эволюцию на уровне фенотипа. В данной лекции изложены основы ЭП, где потенциальное решение представляется в виде конечного автомата и применяется, в основном, оператор мутации. Описаны различные генетические операторы мутации и основной эволюционный алгоритм ЭП. Рассмотрены вопросы применения ЭП к задачам прогнозирования и управления. Представлено также современное направление ЭП, где потенциальное решение может кодироваться вещественными векторами.

10.1. Основные аспекты эволюционного программирования

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

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

  1. Инициализировать популяцию, номер поколения k=1.
  2. Подвергнуть популяцию влиянию окружающей среды.
  3. Вычислить значение фитнесс-функции для каждой особи.
  4. Выполнить оператор мутации для каждой особи популяции.
  5. Оценить каждую особь (родителя и потомка).
  6. Выбрать особи популяции следующего поколения.
  7. Если не выполнено условие останова (k<k_{\max} и т.п.), то переход на шаг 2, иначе выдать полученное решение.

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

ЭП отличается от других эволюционных алгоритмов в следующих аспектах:

  1. ЭП основано на поведенческих моделях и использует эволюцию на уровне фенотипа.
  2. В ЭП не применяется оператор рекомбинации, поскольку здесь нет обмена генетическим материалом.
  3. Для оценки характеристик особи ЭП использует значение фитнесс-функции относительно случайно выбранной группы особей
  4. Отбор основан на конкуренции особей. Особи, у которых лучшие характеристики относительно группы конкурентов, имеют большую вероятность попасть в следующее поколение.
  5. Потомки и родители на равных борются за выживание.
  6. Поведение особей регулируется основными параметрами, которые, прежде всего, определяют величину изменения потомков по сравнению с родителями.

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