Genetic_Algorithm
Что из себя представляет генетический алгорит?
Генетический алгоритм - это способ решения задачи оптимизации по нахождению наилучшего варианта из нескольких. Процесс реализации основан на "естественном отборе", где выживает сильнейшая особь, т.е наилучшее решение из представленных.
Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.
Шаги выполнения:
- Создать первичных особей.
Первичные особи или начальная популяция создается случайным образом. Нам не важно, способны они конкурировать или же нет, по крайней мере, пока.
- Начало отбора.
Начало отбора характеризует начало сравнивания их характеристик между собой. Обычно берут две особи для сравнения их качеств.
- Выбор "родителей".
Данный выбор может быть основан на нескольких факторах и принципах:
1. Панмиксия - оба родителя случайны;
2. Инбридинг - оба родителя наиболее похожи друг на друга;
3. Аутбриндинг - оба родителя макисмально различны.
- Скрещивание.
Размножение в разных алгоритмах определяется по-разному — оно, конечно, зависит от представления данных. Главное требование к размножению — чтобы потомок или потомки имели возможность унаследовать черты обоих родителей, «смешав» их каким-либо способом.
- *Мутации.
Данный параметр помогает усложнить алгоритм таким образом, чтобы произошло как можно больше сравнений, что приведт к наиболее точному результату.
Суть в том, чтобы с некой вероятностью, заменить один случайный ген обьекта на противоположный (или случайный).