Генетический алгоритм ГА (genetic algorithm) разновидность информированного случайного поиска, основанная на эволюционных механизмах естественного отбора. Состояния среды – потомки формируются путем комбинирования родительских состояний. С помощью ГА решаются оптимизационные задачи поиска лучших вариантов решений. Автор ГА - Дж. Холланд (Holland, 1975)
Терминология ГА Особь – вариант решения задачи. (например, путь от начального состояния среды до целевого). Популяция – конечное множество особей. Хромосома – закодированный вариант решения (символьная строка, где один символ в строке – ген). Скрещивание – способ комбинирования двух хромосом «родителей» для получения решений - «потомков» . Мутация – случайное изменение в хромосоме «потомка» . Редукция популяции – отбор лучших ( «приспособленных» ) вариантов решений задачи. Приспособленность особи (fitness function) – значение оптимизируемого функционала (например, длины пути от начального состояния среды до целевого).
Реализация простого ГА Структура особи: 1. Фенотип – точка в пространстве параметров – (xi) 2. Генотип – бинарная строка фиксированной длины (s = b 1 b 2 b 3) 3. Приспособленность - скалярная величина, значение функции f(x)
Реализация простого ГА Начальная популяция ( p = 0)
Реализация простого ГА Наиболее «приспособленные» особи Промежуточная популяция ( p = k) Последняя популяция ( p = N)
Схема простого ГА
Схема простого ГА Скрещивание (кроссовер) Мутация
Схема простого ГА Редукция (на примере функции F(x) = -|x-16| +20 целочисленного аргумента на интервале [0, 32]) Популяция: номер особи фенотип x хромосома приспособленность Г(x) F(x) = - |x -16|+20 относительная приспособ-ность Fo(x)=F(x)/Fs 1 19 10011 17 0, 13 2 3 00011 7 0, 05 3 7 00111 11 0, 08 4 21 10101 15 0, 11 5 8 01000 12 0, 09 6 29 11101 7 0, 05 7 19 10011 17 0, 13 8 7 00111 11 0, 08 9 16 10000 20 0, 15 10 13 01101 17 0, 13
Схема простого ГА Редукция (способом «рулетки» )
Схема простого ГА Редукция (способом «рулетки» ) – особь x 4 отобрана в следующее поколение
Схема простого ГА Функция двух аргументов F(x 1, x 2)
Схема простого ГА Функция двух аргументов F(x 1, x 2)