Описание алгоритма - Генетический алгоритм

Схема работы генетического алгоритма

Задача формализуется таким образом, чтобы ее решение могло быть закодировано в виде вектора ("генотипа") генов. Где каждый ген может быть битом, числом или неким другим объектом. В классических реализациях ГА предполагается, что генотип имеет фиксированную длину. Однако существуют вариации ГА, свободные от этого ограничения.

Некоторым, обычно случайным, образом создается множество генотипов начальной популяции. Они оцениваются с использованием "функции приспособленности", в результате чего с каждым генотипом ассоциируется определенное значение ("приспособленность"), которое определяет насколько хорошо фенотип им описываемый решает поставленную задачу.

Из полученного множества решений ("поколения") с учетом значения "приспособленности" выбираются решения (обычно лучшие особи имеют большую вероятность быть выбранными), к которым применяются "генетические операторы" (в большинстве случаев "скрещивание" -- crossover и "мутация" -- mutation), результатом чего является получение новых решений. Для них также вычисляется значение приспособленности, и затем производится отбор ("селекция") лучших решений в следующее поколение.

Этот набор действий повторяется итеративно, так моделируется "эволюционный процесс", продолжающийся несколько жизненных циклов (Поколений ), пока не будет выполнен критерий остановки алгоритма. Таким критерием может быть:

    - нахождение глобального, либо субоптимального решения; - исчерпание числа поколений, отпущенных на эволюцию; - исчерпание времени, отпущенного на эволюцию.

Генетические алгоритмы служат, главным образом, для поиска решений в многомерных пространствах поиска.

Таким образом, можно выделить следующие этапы генетического алгоритма:

    1. Задать целевую функцию (приспособленности) для особей популяции 2. Создать начальную популяцию - (Начало цикла) 1. Размножение (скрещивание) 2. Мутирование 3. Вычислить значение целевой функции для всех особей 4. Формирование нового поколения (селекция) 5. Если выполняются условия останова, то (конец цикла), иначе (начало цикла).

Похожие статьи




Описание алгоритма - Генетический алгоритм

Предыдущая | Следующая