Разновидности ГА
I. Эволюционные алгоритмы.
Основное отличие от классического ГА заключается в том, что преобразование элементов осуществляется на уровне фенотипов.
H – генотип
A – фенотип
Для получение фенотипа из генотипа необходимо произвести соответствующее преобразование:
.
В эволюционном алгоритме имеет дело только с конкретными значениями параметров, поэтому к фенотипу применяют операторы мутации. Разработаны различные виды операторов мутации.
II. Генетическое программирование.
Под данным термином понимается применение моделей поиска оптимальных параметров к программе.
Хромосома в этом случае не обычная линейная структура, а часть программы.
Основоположник – Сэмюэль.?????
В настоящее время под генетическим программированием понимается выбор наилучшего варианта реализации программы, представленной в иерархическом виде, с помощью соответствующих операторов. Используется совокупность случайным образом сформированных программ, состоящих из различных терминальных символов, функций и прочего.
В качестве функции фитнесса используется объём оперативной памяти, время выполнения программы и прочие. Оператор кроссинговера реализует обмен между собой отдельных ветвей программы.
Виды функции фитнесса:
- Использование естественных ограничений при построении программ (например, точность, время).
- Использование различных модификаций функции фитнесса :
, где
– текущее значение.
Чем меньше разность, тем лучше решение
- Модифицированная функция фитнесса:
.
- Нормированная функция фитнесса:
, где r – размер популяции;
.
показывает вес хромосомы
в популяции, то есть с помощью данной формулы можно производить ранжирование.
Операторы:
· кроссинговер;
· выбор элитных хромосом: производится ранжирование с помощью одного из видов функции фитнесса; выбирается k элитных хромосом, которые без изменений копируются в следующее поколение.