Генетические алгоритмы — это эвристические алгоритмы поиска, которые используются для решения задач оптимизации и моделирования. infourok.ru ru.wikipedia.org Их основная идея взята из теории эволюционного развития видов. infourok.ru
Принцип работы генетического алгоритма: infourok.ru
- Задача кодируется таким образом, чтобы её решение могло быть представлено в виде вектора («хромосомы»). infourok.ru
- Случайным образом создаётся некоторое количество начальных векторов («начальная популяция»). infourok.ru
- Они оцениваются с использованием «функции приспособленности». infourok.ru ru.wikipedia.org В результате каждому вектору присваивается определённое значение («приспособленность»), которое определяет вероятность выживания организма, представленного данным вектором. infourok.ru
- С использованием полученных значений приспособленности выбираются вектора (селекция), допущенные к «скрещиванию». infourok.ru
- К этим векторам применяются «генетические операторы» (в большинстве случаев «скрещивание» и «мутация»). infourok.ru ru.wikipedia.org Так создаётся следующее «поколение». infourok.ru
- Особи следующего поколения также оцениваются, затем производится селекция, применяются генетические операторы и т. д.. infourok.ru
Так моделируется «эволюционный процесс», продолжающийся несколько жизненных циклов (поколений), пока не будет выполнен критерий остановки алгоритма. infourok.ru
В генетических алгоритмах применяется ряд операций, суть которых аналогична процессам, происходящим при эволюции живых организмов: dzen.ru
- Мутация — это преобразование хромосомы, случайно изменяющее одну или несколько её позиций (генов). dzen.ru
- Скрещивание — это операция, при которой из двух хромосом порождается одна или несколько новых хромосом. dzen.ru В простейшем случае скрещивание в генетическом алгоритме реализуется так же, как и в биологии: хромосомы разрезаются в случайной точке и обмениваются частями между собой. dzen.ru
- Отбор — выбор из популяции особей, функция приспособленности которых удовлетворяет определённым требованиям. dzen.ru