Разновидности ГА

I. Эволюционные алгоритмы.

Основное отличие от классического ГА заключается в том, что преобразование элементов осуществляется на уровне фенотипов.

H – генотип

A – фенотип

Для получение фенотипа из генотипа необходимо произвести соответствующее преобразование:

.

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

II. Генетическое программирование.

Под данным термином понимается применение моделей поиска оптимальных параметров к программе.

Хромосома в этом случае не обычная линейная структура, а часть программы.

Основоположник – Сэмюэль.?????

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

В качестве функции фитнесса используется объём оперативной памяти, время выполнения программы и прочие. Оператор кроссинговера реализует обмен между собой отдельных ветвей программы.

Виды функции фитнесса:

  1. Использование естественных ограничений при построении программ (например, точность, время).
  2. Использование различных модификаций функции фитнесса :

, где – текущее значение.

Чем меньше разность, тем лучше решение

  1. Модифицированная функция фитнесса:

.

  1. Нормированная функция фитнесса:

, где r – размер популяции;

.

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

Операторы:

· кроссинговер;

· выбор элитных хромосом: производится ранжирование с помощью одного из видов функции фитнесса; выбирается k элитных хромосом, которые без изменений копируются в следующее поколение.