Еволюційний алгоритм
Еволюційні алгоритми — напрям в штучному інтелекті (розділ еволюційного моделювання), що використовує і моделює біологічну еволюцію. Розрізняють різні алгоритми: генетичні алгоритми, еволюційне програмування, еволюційні стратегії, системи класифікаторів, генетичне програмування тощо. Всі вони моделюють базові положення в теорії біологічної еволюції — процеси відбору, мутації і відтворення. Поведінка агентів визначається довкіллям. Множину агентів прийнято називати популяцією. Така популяція еволюціонує відповідно до правил відбору відповідно до цільової функції, що задається довкіллям. Таким чином, кожному агентові (індивідуумові) популяції призначається значення його придатності в довкіллі. Розмножуються лише найпридатніші види. Рекомбінація і мутація дозволяють агентам змінюватись і пристосовуватися до середовища. Такі алгоритми належать до адаптивних пошукових механізмів.
Класифікація алгоритмів
Моделювання еволюції можна розділити на дві категорії:[джерело?]
- Системи, які використовують лише еволюційні принципи. Вони успішно використовувалися для завдань виду функціональної оптимізації і можуть легко бути описані на математичній мові. До них належать еволюційні алгоритми, такі як еволюційне програмування, генетичні алгоритми, еволюційні стратегії.
- Системи, які є біологічно реалістичніші, але які не виявилися корисними в прикладному сенсі. Вони більше схожі на біологічні системи і менш направлені на вирішення технічних завдань. Вони володіють складною і цікавою поведінкою, і, мабуть, незабаром отримають практичне вживання. До цих систем відносять так зване штучне життя.
Еволюційні алгоритми, в сучасному вигляді, з'явились наприкінці 1960-х на початку 1970-х (існують посилання на раніші дослідження). Еволюційні алгоритми можна поділити на три групи:[1]
- Еволюційне програмування: фокусується більше на адаптації індивідів, аніж на еволюції генетичної інформації. Зазвичай, еволюційне програмування застосовує безстатеве розмноження та мутації, тобто, внесення невеликих змін в поточний розв'язок та методи селекції основані на прямій конкуренції.
- Еволюційні стратегії (ЕС): Важливою особливістю еволюційних стратегій є використання само-адаптивних механізмів для контролю процесу мутації. Ці механізми зосереджені не лише на еволюції шуканих розв'язків, а й на еволюції параметрів мутації.
- Генетичний алгоритм (ГА): Основною особливістю генетичних алгоритмів є використання оператора рекомбінації (схрещення) як основного механізму пошуку. Це ґрунтується на припущенні, що частини оптимального розв'язку можуть бути знайдені незалежно та рекомбіновані для отримання кращого розв'язку.
Застосування
Еволюційні алгоритми знайшли широке застосування. Однією з найпоширеніших галузей застосування є комбінаторна оптимізація. Так, еволюційні алгоритми з успіхом було застосовано для розв'язання класичних NP-повних проблем, таких як задача комівояжера, задача пакування рюкзака, розбиття чисел, максимальна незалежна множина та розфарбовування графів.[1]
До інших не класичних задач, для розв'язання яких застосовано еволюційні алгоритми, належать планування, складання розкладів, обчислення маршрутів, задачі розташування та транспортування. Також еволюційні алгоритми використовують для оптимізації структур та електронних схем, в медицині та в економіці.
В останні роки активно розвивається використання еволюційних алгоритмів для передбачення кристалічних структур з допомогою програмного забезпечення USPEX. Приклади передбачених структур і матеріалів можна знайти на сайті
Можливість використання еволюційних алгоритмів у галузі музики активно досліджується насамперед у Австрії, а саме при спробі моделювання та відтворення гри на музичних інструментах видатними особистостями різних епох.[2]
Примітки
- Olariu Stephan, Zomaya Albert Y. Handbook of Bioinspired Algorithms and Applications (Chapman Hall/Crc Computer Information Science). Chapman Hall/CRC. ISBN 1-58488-475-4.
- Madsen, S. T. and Widmer, G.: Evolutionary Search for Musical Parallelism, Applications of Evolutionary Computing, proceedings of the EvoWorkshops 2005, LNCS 3449 p. 488—497, Lausanne, Switzerland, 30 March — 1 April 2005. Springer Verlag.
Література
- Емельянов В. В., Курейчик В. В., Курейчик В. М. Теория и практика эволюционного моделирования. — М : Физматлит, 2003. — 432 с. — ISBN 5-9221-0337-7.
- Курейчик В. М., Лебедев Б. К., Лебедев О. К. Поисковая адаптация: теория и практика. — М : Физматлит. — 272 с. — ISBN 5-9221-0749-6.
- Гладков Л. А., Курейчик В. В., Курейчик В. М. Генетические алгоритмы: Учебное пособие. — 2-е изд. — М : Физматлит, 2006. — 320 с. — ISBN 5-9221-0510-8.
- Гладков Л. А., Курейчик В. В, Курейчик В. М. и др. Биоинспирированные методы в оптимизации: монография. — М : Физматлит, 2009. — 384 с. — ISBN 978-5-9221-1101-0.
- Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы = Sieci neuronowe, algorytmy genetyczne i systemy rozmyte. — 2-е изд. — М : Горячая линия-Телеком, 2008. — 452 с. — ISBN 5-93517-103-1.
Посилання
- Sean Luke, «Essentials of Metaheuristics», 2009 (225 p). Free open text.
- A Field Guide to Genetic Programming by Poli, Langdon, and McPhee. Available as a free PDF, or in printed form from Lulu.com.
- Субботін С. О., Олійник А. О., Олійник О. О. Неітеративні, еволюційні та мультиагентні методи синтезу нечіткологічних і нейромережних моделей: Монографія / Під заг. ред. С. О. Субботіна. — Запоріжжя: ЗНТУ, 2009. — 375 с.
- Популярно о генетических алгоритмах
- Основи теорії й застосування еволюційних алгоритмів у практичних застосунках