Эволюционные алгоритмы : виды, принцип работы, преимущества и недостатки.
Виды алгоритмов
· генетические алгоритмы — эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров;
· генетическое программирование — автоматическое создание или изменение программ с помощью генетических алгоритмов;
· эволюционное программирование — аналогично генетическому программированию, но структура программы постоянна, изменяются только числовые значения;
· программирование экспрессии генов
· эволюционные стратегии — похожи на генетические алгоритмы, но в следующее поколение передаются только положительные мутации;
· дифференциальная эволюция
· нейроэволюция — аналогично генетическому программированию, но геномы представляют собой искусственные нейронные сети, в которых происходит эволюция весов при заданной топологии сети, или помимо эволюции весов также производится эволюцию топологии;
· системы классификаторов;
Все они моделируют базовые положения в теории биологической эволюции — процессы отбора, мутации и воспроизводства. Поведение агентов определяется окружающей средой. Множество агентов принято называть популяцией. Такая популяция эволюционирует в соответствии с правилами отбора в соответствии с целевой функцией, задаваемой окружающей средой. Таким образом, каждому агенту (индивидууму) популяции назначается значение его пригодности в окружающей среде. Размножаются только наиболее пригодные виды. Рекомбинация и мутация позволяют изменяться агентам и приспособляться к среде. Такие алгоритмы относятся к адаптивным поисковым механизмам.
Эволюционные алгоритмы успешно использовались для задач типа функциональной оптимизации и могут легко быть описаны на математическом языке.