Эволюционные вычисления

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

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

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

• Оптимизация функций

• Разнообразные задачи на графах (задача коммивояжера, раскраска,

нахождение паросочетаний)

• Настройка и обучение нейронной сети

• Задачи компоновки

• Составление расписаний

• Игровые стратегии

• Аппроксимация функций

• Искусственная жизнь

• Биоинформатика