1. Генетические алгоритмы
1.1 Описание принципа ГА
Задача, которая будет решаться Генетическим Алгоритмом (ГА), формализуется таким образом, чтобы её решение можно было закодировать в виде вектора генов (генотипа), где каждый ген может быть битом, числом или неким объектом. В классических реализациях генетического алгоритма (ГА) предполагается, что генотип-вектор имеет фиксированную длину. Однако существуют вариации ГА, свободные от этого ограничения.
Некоторым, обычно случайным, образом создаётся множество генотипов начальной популяции. Они оцениваются с использованием «функции приспособленности», в результате чего с каждым генотипом ассоциируется определённое значение («приспособленность»), которое определяет, насколько хорошо фенотип, им описываемый, решает поставленную задачу.
При выборе «функции приспособленности» важно следить, чтобы она имела разнообразный рельеф, без больших «плоских» участков, а также требовала минимум ресурсов на вычисление.
Из полученного множества решений («поколения») с учётом значения «приспособленности» выбираются решения, к которым применяются «генетические операторы» (в большинстве случаев «скрещивание» и «мутация»), результатом чего является получение новых решений. Для них также вычисляется значение приспособленности, и затем производится отбор («селекция») лучших решений в следующее поколение.
Этот набор действий повторяется итеративно, так моделируется «эволюционный процесс», продолжающийся несколько жизненных циклов (поколений), пока не будет выполнен критерий остановки алгоритма. Таким критерием может быть:
- Нахождение глобального, либо субоптимального решения;
- Исчерпание числа поколений, отпущенных на эволюцию;
- Исчерпание времени, отпущенного на эволюцию.
Весь текст будет доступен после покупки