Диференціальна еволюція (англ. differential evolution) — метод багатовимірної математичної оптимізації, що відноситься до класу стохастичних алгоритмів оптимізації (тобто працює з використанням випадкових чисел) і використовує деякі ідеї генетичних алгоритмів.
Це прямий метод оптимізації, тобто він вимагає тільки можливості обчислювати значення цільової функцій, але не її похідних. Метод диференціальної еволюції призначений для знаходження глобального мінімуму (або максимуму) недиференційованих, нелінійних, мультимодальних (що мають, можливо, велику кількість локальних екстремумів) функцій від багатьох змінних. Метод простий у реалізації та використання (містить мало керуючих параметрів, що потребують підбору), легко розпаралелюється.
Метод диференціальної еволюції був розроблений Рейнером Сторно і Кеннетом Прайсом, вперше опублікований ними в 1995 році і розроблений в подальшому в їх пізніших роботах.
Алгоритм
У його базовому вигляді алгоритм можна описати таким чином. Спочатку генерується деяка множина векторів, так зване покоління. Під векторами розуміються точки -вимірного простору, в якому визначена цільова функція , яку потрібно мінімізувати. На кожній ітерації алгоритм генерує нове покоління векторів, випадковим чином комбінуючи вектори з попереднього покоління. Число векторів в кожному поколінні одне й те саме і є одним з параметрів методу.
Нове покоління векторів генерується в такий спосіб. Для кожного вектора зі старого покоління вибираються три різних випадкових вектори , , серед векторів старого покоління, за винятком самого вектора , і генерується так званий мутантний вектор за формулою:
де — один з параметрів методу, деяка позитивна дійсна константа в інтервалі [0, 2].
Над мутантним вектором виконується операція «схрещування» (англ. crossover), яка полягає в тому, що деякі його координати заміщаються відповідними координатами з початкового вектора (кожна координата заміщається з деякою ймовірністю, яка також є ще одним з параметрів цього методу). Отриманий після схрещування вектор називається пробним вектором(англ. trial vector). Якщо він виявляється кращим за вектор (тобто значення цільової функції стало меншим), то в новому поколінні вектор замінюється на пробний вектор, а в іншому разі — залишається .
Приклади практичних застосувань
Пошукова система Яндекс використовує метод диференціальної еволюції для поліпшення своїх алгоритмів ранжування.
Примітки
- Storn, Rainer and Price, Kenneth. Differential Evolution - A Simple and Efficient Adaptive Scheme for Global Optimization over Continuous Spaces, [ 24 квітня 2005 у Wayback Machine.] Technical Report TR-95-012 , ICSI, March 1995.
- Storn, Rainer and Price, Kenneth. 10/01 - DE-Storn-Price-1997.pdf Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces. [недоступне посилання з липня 2019] (1997)
- K. Price, R. Storn, J. Lampinen. Differential Evolution: A Practical Approach to Global Optimization. Springer, 2005.
- . Архів оригіналу за 13 травня 2013. Процитовано 7 березня 2010.
- . Архів оригіналу за 14 березня 2022. Процитовано 16 березня 2022.
Посилання
- Опис і реалізації методу на сайті одного із його авторів. [ 1 грудня 2005 у Wayback Machine.]
- S. Luke. Essentials of Metaheuristics. [ 22 листопада 2009 у Wayback Machine.] Розділ 3.4.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Diferencialna evolyuciya angl differential evolution metod bagatovimirnoyi matematichnoyi optimizaciyi sho vidnositsya do klasu stohastichnih algoritmiv optimizaciyi tobto pracyuye z vikoristannyam vipadkovih chisel i vikoristovuye deyaki ideyi genetichnih algoritmiv Ce pryamij metod optimizaciyi tobto vin vimagaye tilki mozhlivosti obchislyuvati znachennya cilovoyi funkcij ale ne yiyi pohidnih Metod diferencialnoyi evolyuciyi priznachenij dlya znahodzhennya globalnogo minimumu abo maksimumu nediferencijovanih nelinijnih multimodalnih sho mayut mozhlivo veliku kilkist lokalnih ekstremumiv funkcij vid bagatoh zminnih Metod prostij u realizaciyi ta vikoristannya mistit malo keruyuchih parametriv sho potrebuyut pidboru legko rozparalelyuyetsya Metod diferencialnoyi evolyuciyi buv rozroblenij Rejnerom Storno i Kennetom Prajsom vpershe opublikovanij nimi v 1995 roci i rozroblenij v podalshomu v yih piznishih robotah AlgoritmU jogo bazovomu viglyadi algoritm mozhna opisati takim chinom Spochatku generuyetsya deyaka mnozhina vektoriv tak zvane pokolinnya Pid vektorami rozumiyutsya tochki n displaystyle n vimirnogo prostoru v yakomu viznachena cilova funkciya f x displaystyle f x yaku potribno minimizuvati Na kozhnij iteraciyi algoritm generuye nove pokolinnya vektoriv vipadkovim chinom kombinuyuchi vektori z poperednogo pokolinnya Chislo vektoriv v kozhnomu pokolinni odne j te same i ye odnim z parametriv metodu Nove pokolinnya vektoriv generuyetsya v takij sposib Dlya kozhnogo vektora x i displaystyle x i zi starogo pokolinnya vibirayutsya tri riznih vipadkovih vektori v 1 displaystyle v 1 v 2 displaystyle v 2 v 3 displaystyle v 3 sered vektoriv starogo pokolinnya za vinyatkom samogo vektora x i displaystyle x i i generuyetsya tak zvanij mutantnij vektor za formuloyu v v 1 F v 2 v 3 displaystyle v v 1 F cdot v 2 v 3 de F displaystyle F odin z parametriv metodu deyaka pozitivna dijsna konstanta v intervali 0 2 Nad mutantnim vektorom v displaystyle v vikonuyetsya operaciya shreshuvannya angl crossover yaka polyagaye v tomu sho deyaki jogo koordinati zamishayutsya vidpovidnimi koordinatami z pochatkovogo vektora x i displaystyle x i kozhna koordinata zamishayetsya z deyakoyu jmovirnistyu yaka takozh ye she odnim z parametriv cogo metodu Otrimanij pislya shreshuvannya vektor nazivayetsya probnim vektorom angl trial vector Yaksho vin viyavlyayetsya krashim za vektor x i displaystyle x i tobto znachennya cilovoyi funkciyi stalo menshim to v novomu pokolinni vektor x i displaystyle x i zaminyuyetsya na probnij vektor a v inshomu razi zalishayetsya x i displaystyle x i Prikladi praktichnih zastosuvanPoshukova sistema Yandeks vikoristovuye metod diferencialnoyi evolyuciyi dlya polipshennya svoyih algoritmiv ranzhuvannya PrimitkiStorn Rainer and Price Kenneth Differential Evolution A Simple and Efficient Adaptive Scheme for Global Optimization over Continuous Spaces 24 kvitnya 2005 u Wayback Machine Technical Report TR 95 012 ICSI March 1995 Storn Rainer and Price Kenneth 10 01 DE Storn Price 1997 pdf Differential Evolution A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces nedostupne posilannya z lipnya 2019 1997 K Price R Storn J Lampinen Differential Evolution A Practical Approach to Global Optimization Springer 2005 Arhiv originalu za 13 travnya 2013 Procitovano 7 bereznya 2010 Arhiv originalu za 14 bereznya 2022 Procitovano 16 bereznya 2022 PosilannyaOpis i realizaciyi metodu na sajti odnogo iz jogo avtoriv 1 grudnya 2005 u Wayback Machine S Luke Essentials of Metaheuristics 22 listopada 2009 u Wayback Machine Rozdil 3 4