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