Эволюционное программирование
10.1. Основные аспекты эволюционного программирования
Эволюционное программирование (ЭП) было основано в ранних работах Фогеля [1]. Фогель считал, что в основе интеллектуальных систем лежит адаптивное поведение в изменяющейся окружающей среде. ЭП, также как и ЭС, использует подход "сверху вниз", т.е. эволюцию на уровне фенотипа.
ЭП отличается от других эволюционных алгоритмов прежде всего тем, что использует поведенческие макромодели, а не генетические микро-модели. При этом в ЭП представлен, возможно, самый гибкий подход по сравнению с другими парадигмами эволюционных вычислений, где форма представления потенциального решения и генетические операторы адаптируются в достаточно широких пределах к рассматриваемой проблеме. В классическом ЭП используется только один оператор мутации (как и в классической ЭС), но в современных модификациях ЭП (также как и ЭС) допускается также оператор рекомбинации (кроссинговера). В отличие от ЭС, где обычно потомков производится существенно больше, чем родителей, в ЭП число потомков, как правило, равно числу родительских особей. При выборе родителей чаще используется ранговый или турнирный отбор. Когда в результате порождения потомков (путем мутации) популяция удваивается, ее особи (родители и потомки) ранжируются и лучшая половина образует популяцию следующего поколения. Укрупненный алгоритм эволюции в ЭП представлен ниже.
- Инициализировать популяцию, номер поколения .
- Подвергнуть популяцию влиянию окружающей среды.
- Вычислить значение фитнесс-функции для каждой особи.
- Выполнить оператор мутации для каждой особи популяции.
- Оценить каждую особь (родителя и потомка).
- Выбрать особи популяции следующего поколения.
- Если не выполнено условие останова ( и т.п.), то переход на шаг 2, иначе выдать полученное решение.
Здесь, как обычно, популяция инициализируется случайным образом. При решении конкретных задач для каждой компоненты особи генерируется реальное значение в пределах некоторого динамического диапазона. Число особей в популяции, как и в ГА, обычно составляет от нескольких десятков до нескольких сотен.
ЭП отличается от других эволюционных алгоритмов в следующих аспектах:
- ЭП основано на поведенческих моделях и использует эволюцию на уровне фенотипа.
- В ЭП не применяется оператор рекомбинации, поскольку здесь нет обмена генетическим материалом.
- Для оценки характеристик особи ЭП использует значение фитнесс-функции относительно случайно выбранной группы особей
- Отбор основан на конкуренции особей. Особи, у которых лучшие характеристики относительно группы конкурентов, имеют большую вероятность попасть в следующее поколение.
- Потомки и родители на равных борются за выживание.
- Поведение особей регулируется основными параметрами, которые, прежде всего, определяют величину изменения потомков по сравнению с родителями.
В классическом ЭП для простоты и общности воздействия окружающей среды описывается в виде последовательности символов конечного алфавита. Поэтому здесь для представления потенциального решения используется модель конечного автомата.