Цю статтю треба для відповідності Вікіпедії. (Лютий 2012) |
Алгоритм зозулі (англ. Cuckoo search) являє собою оптимізований алгоритм, розроблений англ. Xin-She Yang та англ. Suash Deb у 2009 році. Натхненням для його створення послужив гніздовий паразитизм деяких видів зозуль, що підкладають свої яйця до гнізд інших птахів (інших видів птахів). Деякі з власників гнізд можуть вступити у прямий конфлікт із зозулями, що вдираються до них. Наприклад, якщо власник гнізда виявить, що яйця не його, то він або викине ці чужі яйця або просто покине гніздо і збудує нове десь в іншому місці. Деякі види зозуль, такі як гніздові паразити з Нового світу, наприклад смугаста або чотирикрила зозуля (Tapera naevia) еволюціонувала таким чином, що самки дуже часто спеціалізуються на імітуванні кольорів і структури яєць обраних видів птахів-господарів. У алгоритмі зозулі такий спосіб поведінки був ідеалізований і таким чином може бути пристосованим для розв'язування різноманітних задач оптимізації. Можливо, він зможе перевершити інші метаевристичні алгоритми у прикладних програмах. Іншою сферою застосування, здавалось би зовсім не пов’язаною з алгоритмом, є алгоритм хешування (розміщення з використанням функції розстановки), що був розроблений Расмусом Пагом та Флемінгом Фреш Родлером у 2001 році.
Позначення
Алгоритм зозулі використовує наступні позначення: Кожне яйце в гнізді є розв'язком, а яйце зозулі являє собою новий розв'язок. Метою є використання нових і потенційно найкращих розв'язків (зозуль) для того, щоб замінити не дуже вдалі розв'язки у гніздах. У найпростішій формі, кожне гніздо має одне яйце. Алгоритм може бути розширеним до складніших випадків, в яких кожне гніздо має кілька яєць, що являють собою набір розв'язків.
Алгоритм зозулі базується на трьох ідеалізованих правилах:
1.Кожна зозуля кладе одне яйце за раз, і підкладає його у випадково обране гніздо;
2.Найкращі гнізда з високою якістю яєць будуть перенесені до наступного покоління;
3.Число доступних гнізд господарів фіксоване, а яйця підкладені зозулею будуть виявлені господарями гнізда з ймовірністю . .
Виявлення працює на деякій множині гірших гнізд і знайдені розв'язки викидаються з подальших розрахунків.
Псевдо-код алгоритму буде виглядати так:
Objective function: Generate an initial population of host nests; While (t<MaxGeneration) or (stop criterion) Get a cuckoo randomly (say, i) and replace its solution by performing Lévy flights; Evaluate its quality/fitness [For maximization, ]; Choose a nest among n (say, j) randomly; if (), Replace j by the new solution; end if A fraction () of the worse nests are abandoned and new ones are built; Keep the best solutions/nests; Rank the solutions/nests and find the current best; Pass the current best solutions to the next generation; end while
Важливою перевагою цього алгоритму є його простота. Насправді, в порівнянні з іншими еволюційними або агент-орієнтованими алгоритмами, такими як метод рою часток або гармонійний пошук, він керується тільки одним параметром в CS (крім розміру популяції ).
Випадкові блукання і розмір кроку
Важливим питанням є застосування політ Леві і випадкових блукань у загальному рівнянні для генерації нових розв'язків
де взято з нормального розподілу з нульовим середнім і єдиним стандартним відхиленням для випадкових блукань, або взяті зі стійкого розподілу для Lévy flights. Очевидно, що випадкове блукання також може бути пов'язане зі схожістю яєць зозулі і господаря, та може бути складніше в реалізації. Тут розмір кроку визначає, наскільки далеко ходок може піти за фіксоване число ітерацій. В генерації Леві визначення розміру кроку складне, тому використовують алгоритм Мантени. Якщо дуже велике, то новий згенерований розв'язок буде занадто далеко від старого (або може навіть не належати до допустимих розв’язків). Тоді такий крок навряд чи буде прийнято. Якщо занадто мале, зміни занадто малі, щоб бути значними, і, отже, такий пошук не є ефективним. Таким чином, для найбільшої ефективності пошуку розмір кроку має дуже велике значення. Наприклад, для простих ізотропних випадкових блукань, ми знаємо, що середня відстань r в d-мірному просторі , де ефективний коефіцієнт дифузії. Де s розмір кроку або відстані в кожному стрибку, і τ є час, необхідний для кожного стрибка. Це рівняння означає, що
, як правило, лімітовано в області . Для τ = 1 і Т = 100 до 1000, маємо для d = 1, а для d = 10. Таким чином, можна використовувати S / L = 0,001 до 0,01, для більшості завдань.
Реалізація
Псевдо-код був даний в послідовній формі, але автори алгоритму використали векторизовану реалізацію, яка є дуже ефективною. У реальному світі, якщо яйце зозулі дуже схоже на яйця господаря, то таке яйце буде виявлено з меншою ймовірністю, таким чином, придатність повинна бути пов'язана з різницею в розв’язках. Таким чином, це гарна ідея, щоб зробити випадкове блукання одностороннім з деяким випадковим розміром кроку. Для реалізації за допомогою Matlab, це упереджене випадкове блукання може частково бути досягнуто шляхом
stepsize=rand*(nest(randperm(n),:)-nest(randperm(n),:));
new_nest=nest+stepsize.*K;
K=rand(size(nest))>pa де pa є discovery rate. Об'єктно-орієнтована програмна реалізація пошуку зозулі була надана Баканіним. З іншого боку, модифікований алгоритм пошуку зозулі також реалізовано для завдань безумовної оптимізації. Код модифікованого алгоритму можна знайти тут [ 28 лютого 2012 у Wayback Machine.]
Модифікований пошук зозулі
Модифікацію стандартного пошуку зозулі було зроблено Уолтоном і співавторами з метою прискорення збіжності. Модифікація включає в себе додатковий крок обміну інформацією між найголовнішими яйцями. Було показано, що модифікований пошук зозулі (MCS) перевершує стандартний пошук зозулі та деякі інші алгоритми, з точки зору швидкості збіжності, при нанесенні на серію стандартних тестів цільової функції. Згодом модифікований пошук зозулі був застосований для оптимізації неструктурованої сітки, що значно зменшує обчислювальні витрати.
Багатоцільовий пошук зозулі (MOCS)
Метод багатоцільового пошуку зозулі був розроблений для розв'язування багатокритеріальної задачі оптимізації. Цей підхід використовує випадкові ваги для об'єднання кількох цілей для однієї мети. Ваги змінюються випадковим чином.
Програми
Застосування пошуку зозулі в інженерних задачах оптимізації показали його ефективним. Наприклад, для розробки англ. spring design та нім. welded beam design пошук зозулі отримав кращі розв'язки в порівнянні з існуючими в літературі. Дискретний алгоритм пошуку зозулі нещодавно було використано для вирішення проблеми «планування медсестри». Ефективний підхід обчислення на основі пошуку зозулі був запропонований для злиття даних в бездротових мережах датчиків. Нова модифікація пошуку зозулі була розроблена, щоб вирішити задачу про ранець, яка показує його ефективність. Пошук зозулі також може бути використаний для ефективної генерації незалежних тестів для структурного тестування програмного забезпечення і генерації тестових даних.
Посилання
- R. B. Payne, M. D. Sorenson, and K. Klitz, The Cuckoos, Oxford University Press, (2005).
- Novel «Cuckoo Search Algorithm» Beats Particle Swarm Optimization [ 5 вересня 2016 у Wayback Machine.] (англ.) [Архівовано з першоджерела 10 червня 2016.]
- R. Pagh and F. F. Rodler, Flemming Friche (2001), Cuckoo Hashing. doi:10.1.1.25.4189. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.4189 [ 1 березня 2012 у Wayback Machine.].
- R. N. Mantegna, Fast, accurate algorithm for numerical simulation of Levy stable stochastic processes, Physical Review E, Vol.49, 4677-4683 (1994).
- M. Gutowski, Levy flights as an underlying mechanism for global optimization algorithms, ArXiv Mathematical Physics e-Prints, June, (2001).
- N. Bacanin, An object-oriented software implementation of a novel cuckoo search algorithm, Proc. of the 5th European Conference on European Computing Conference (ECC'11), pp. 245-250 (2011).
- S. Walton; O. Hassan, K. Morgan and M.R. Brown (30 червня 2011). Modified cuckoo search: A new gradient free optimisation algorithm. Chaos, Solitons & Fractals. doi:10.1016/j.chaos.2011.06.004.
- S. Walton, O. Hassan, K. Morgan, Using proper orthogonal decomposition to reduce the order ot optimization problems, in: Proc. 16th Int. Conf. on Finite Elments in Flow Problems (Eds. Wall W.A. and Gvravemeier V.), Munich, p.90 (2011).
- X. S. Yang and S. Deb, Multiobjective cuckoo search for design optimization, Computers and Operations Research, October (2011). doi:10.1016/j.cor.2011.09.026
- Tein L. H. and Ramli R., Recent advancements of nurse scheduling models and a potential path, in: Proc. 6th IMT-GT Conference on Mathematics, Statistics and its Applications (ICMSA 2010), pp. 395-409 (2010). http://research.utar.edu.my/CMS/ICMSA2010/ICMSA2010_Proceedings/files/statistics/ST-Lim.pdf [ 13 березня 2012 у Wayback Machine.]
- M. Dhivya, M. Sundarambal, L. N. Anand, Energy Efficient Computation of Data Fusion in Wireless Sensor Networks Using Cuckoo Based Particle Approach (CBPA), Int. J. of Communications, Network and System Sciences, Vol. 4, No. 4, 249-255 (2011).
- M. Dhivya and M. Sundarambal, Cuckoo search for data gathering in wireless sensor networks,Int. J. Mobile Communications, Vol. 9, pp. 642-656 (2011).
- A. Layeb, A novel quantum-inspired cuckoo search for Knapsack problems, Int. J. Bio-inspired Computation, Vol. 4, (2011).
- P. R. Srivastava, M. Chis, S. Deb and X. S. Yang, An efficient optimization algorithm for structural software testing, Int. J. Artificial Intelligence, Vol. 9 (S12), 68-77(2012)
Див. також
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cyu stattyu treba vikifikuvati dlya vidpovidnosti standartam yakosti Vikipediyi Bud laska dopomozhit dodavannyam dorechnih vnutrishnih posilan abo vdoskonalennyam rozmitki statti Lyutij 2012 Algoritm zozuli angl Cuckoo search yavlyaye soboyu optimizovanij algoritm rozroblenij angl Xin She Yang ta angl Suash Deb u 2009 roci Nathnennyam dlya jogo stvorennya posluzhiv gnizdovij parazitizm deyakih vidiv zozul sho pidkladayut svoyi yajcya do gnizd inshih ptahiv inshih vidiv ptahiv Deyaki z vlasnikiv gnizd mozhut vstupiti u pryamij konflikt iz zozulyami sho vdirayutsya do nih Napriklad yaksho vlasnik gnizda viyavit sho yajcya ne jogo to vin abo vikine ci chuzhi yajcya abo prosto pokine gnizdo i zbuduye nove des v inshomu misci Deyaki vidi zozul taki yak gnizdovi paraziti z Novogo svitu napriklad smugasta abo chotirikrila zozulya Tapera naevia evolyucionuvala takim chinom sho samki duzhe chasto specializuyutsya na imituvanni koloriv i strukturi yayec obranih vidiv ptahiv gospodariv U algoritmi zozuli takij sposib povedinki buv idealizovanij i takim chinom mozhe buti pristosovanim dlya rozv yazuvannya riznomanitnih zadach optimizaciyi Mozhlivo vin zmozhe perevershiti inshi metaevristichni algoritmi u prikladnih programah Inshoyu sferoyu zastosuvannya zdavalos bi zovsim ne pov yazanoyu z algoritmom ye algoritm heshuvannya rozmishennya z vikoristannyam funkciyi rozstanovki sho buv rozroblenij Rasmusom Pagom ta Flemingom Fresh Rodlerom u 2001 roci PoznachennyaAlgoritm zozuli vikoristovuye nastupni poznachennya Kozhne yajce v gnizdi ye rozv yazkom a yajce zozuli yavlyaye soboyu novij rozv yazok Metoyu ye vikoristannya novih i potencijno najkrashih rozv yazkiv zozul dlya togo shob zaminiti ne duzhe vdali rozv yazki u gnizdah U najprostishij formi kozhne gnizdo maye odne yajce Algoritm mozhe buti rozshirenim do skladnishih vipadkiv v yakih kozhne gnizdo maye kilka yayec sho yavlyayut soboyu nabir rozv yazkiv Algoritm zozuli bazuyetsya na troh idealizovanih pravilah 1 Kozhna zozulya klade odne yajce za raz i pidkladaye jogo u vipadkovo obrane gnizdo 2 Najkrashi gnizda z visokoyu yakistyu yayec budut pereneseni do nastupnogo pokolinnya 3 Chislo dostupnih gnizd gospodariv fiksovane a yajcya pidkladeni zozuleyu budut viyavleni gospodaryami gnizda z jmovirnistyu pa 0 1 displaystyle p a in 0 1 Viyavlennya pracyuye na deyakij mnozhini girshih gnizd i znajdeni rozv yazki vikidayutsya z podalshih rozrahunkiv Psevdo kod algoritmu bude viglyadati tak Objective function f x x x1 x2 xd displaystyle f mathbf x quad mathbf x x 1 x 2 dots x d Generate an initial population of n displaystyle n host nests While t lt MaxGeneration or stop criterion Get a cuckoo randomly say i and replace its solution by performing Levy flights Evaluate its quality fitness Fi displaystyle F i For maximization Fi f xi displaystyle F i propto f mathbf x i Choose a nest among n say j randomly if Fi gt Fj displaystyle F i gt F j Replace j by the new solution end if A fraction pa displaystyle p a of the worse nests are abandoned and new ones are built Keep the best solutions nests Rank the solutions nests and find the current best Pass the current best solutions to the next generation end while Vazhlivoyu perevagoyu cogo algoritmu ye jogo prostota Naspravdi v porivnyanni z inshimi evolyucijnimi abo agent oriyentovanimi algoritmami takimi yak metod royu chastok abo garmonijnij poshuk vin keruyetsya tilki odnim parametrom pa displaystyle p a v CS krim rozmiru populyaciyi n displaystyle n Vipadkovi blukannya i rozmir krokuVazhlivim pitannyam ye zastosuvannya polit Levi i vipadkovih blukan u zagalnomu rivnyanni dlya generaciyi novih rozv yazkiv xt 1 xt sEt displaystyle mathbf x t 1 mathbf x t sE t de Et displaystyle E t vzyato z normalnogo rozpodilu z nulovim serednim i yedinim standartnim vidhilennyam dlya vipadkovih blukan abo vzyati zi stijkogo rozpodilu dlya Levy flights Ochevidno sho vipadkove blukannya takozh mozhe buti pov yazane zi shozhistyu yayec zozuli i gospodarya ta mozhe buti skladnishe v realizaciyi Tut rozmir kroku s displaystyle s viznachaye naskilki daleko hodok mozhe piti za fiksovane chislo iteracij V generaciyi Levi viznachennya rozmiru kroku skladne tomu vikoristovuyut algoritm Manteni Yaksho s displaystyle s duzhe velike to novij zgenerovanij rozv yazok bude zanadto daleko vid starogo abo mozhe navit ne nalezhati do dopustimih rozv yazkiv Todi takij krok navryad chi bude prijnyato Yaksho s displaystyle s zanadto male zmini zanadto mali shob buti znachnimi i otzhe takij poshuk ne ye efektivnim Takim chinom dlya najbilshoyi efektivnosti poshuku rozmir kroku maye duzhe velike znachennya Napriklad dlya prostih izotropnih vipadkovih blukan mi znayemo sho serednya vidstan r v d mirnomu prostori r2 2dDt displaystyle r 2 2dDt de D s2 2t displaystyle D s 2 2 tau efektivnij koeficiyent difuziyi De s rozmir kroku abo vidstani v kozhnomu stribku i t ye chas neobhidnij dlya kozhnogo stribka Ce rivnyannya oznachaye sho s2 tr2td displaystyle s 2 frac tau r 2 t d yak pravilo limitovano v oblasti r L 10 displaystyle r L 10 Dlya t 1 i T 100 do 1000 mayemo s 0 01L displaystyle s approx 0 01L dlya d 1 a s 0 001L displaystyle s approx 0 001L dlya d 10 Takim chinom mozhna vikoristovuvati S L 0 001 do 0 01 dlya bilshosti zavdan RealizaciyaPsevdo kod buv danij v poslidovnij formi ale avtori algoritmu vikoristali vektorizovanu realizaciyu yaka ye duzhe efektivnoyu U realnomu sviti yaksho yajce zozuli duzhe shozhe na yajcya gospodarya to take yajce bude viyavleno z menshoyu jmovirnistyu takim chinom pridatnist povinna buti pov yazana z rizniceyu v rozv yazkah Takim chinom ce garna ideya shob zrobiti vipadkove blukannya odnostoronnim z deyakim vipadkovim rozmirom kroku Dlya realizaciyi za dopomogoyu Matlab ce uperedzhene vipadkove blukannya mozhe chastkovo buti dosyagnuto shlyahom stepsize rand nest randperm n nest randperm n new nest nest stepsize K K rand size nest gt pa de pa ye discovery rate Ob yektno oriyentovana programna realizaciya poshuku zozuli bula nadana Bakaninim Z inshogo boku modifikovanij algoritm poshuku zozuli takozh realizovano dlya zavdan bezumovnoyi optimizaciyi Kod modifikovanogo algoritmu mozhna znajti tut 28 lyutogo 2012 u Wayback Machine Modifikovanij poshuk zozuliModifikaciyu standartnogo poshuku zozuli bulo zrobleno Uoltonom i spivavtorami z metoyu priskorennya zbizhnosti Modifikaciya vklyuchaye v sebe dodatkovij krok obminu informaciyeyu mizh najgolovnishimi yajcyami Bulo pokazano sho modifikovanij poshuk zozuli MCS perevershuye standartnij poshuk zozuli ta deyaki inshi algoritmi z tochki zoru shvidkosti zbizhnosti pri nanesenni na seriyu standartnih testiv cilovoyi funkciyi Zgodom modifikovanij poshuk zozuli buv zastosovanij dlya optimizaciyi nestrukturovanoyi sitki sho znachno zmenshuye obchislyuvalni vitrati Bagatocilovij poshuk zozuli MOCS Metod bagatocilovogo poshuku zozuli buv rozroblenij dlya rozv yazuvannya bagatokriterialnoyi zadachi optimizaciyi Cej pidhid vikoristovuye vipadkovi vagi dlya ob yednannya kilkoh cilej dlya odniyeyi meti Vagi zminyuyutsya vipadkovim chinom ProgramiZastosuvannya poshuku zozuli v inzhenernih zadachah optimizaciyi pokazali jogo efektivnim Napriklad dlya rozrobki angl spring design ta nim welded beam design poshuk zozuli otrimav krashi rozv yazki v porivnyanni z isnuyuchimi v literaturi Diskretnij algoritm poshuku zozuli neshodavno bulo vikoristano dlya virishennya problemi planuvannya medsestri Efektivnij pidhid obchislennya na osnovi poshuku zozuli buv zaproponovanij dlya zlittya danih v bezdrotovih merezhah datchikiv Nova modifikaciya poshuku zozuli bula rozroblena shob virishiti zadachu pro ranec yaka pokazuye jogo efektivnist Poshuk zozuli takozh mozhe buti vikoristanij dlya efektivnoyi generaciyi nezalezhnih testiv dlya strukturnogo testuvannya programnogo zabezpechennya i generaciyi testovih danih PosilannyaR B Payne M D Sorenson and K Klitz The Cuckoos Oxford University Press 2005 Novel Cuckoo Search Algorithm Beats Particle Swarm Optimization 5 veresnya 2016 u Wayback Machine angl Arhivovano z pershodzherela 10 chervnya 2016 R Pagh and F F Rodler Flemming Friche 2001 Cuckoo Hashing doi 10 1 1 25 4189 http citeseerx ist psu edu viewdoc summary doi 10 1 1 25 4189 1 bereznya 2012 u Wayback Machine R N Mantegna Fast accurate algorithm for numerical simulation of Levy stable stochastic processes Physical Review E Vol 49 4677 4683 1994 M Gutowski Levy flights as an underlying mechanism for global optimization algorithms ArXiv Mathematical Physics e Prints June 2001 N Bacanin An object oriented software implementation of a novel cuckoo search algorithm Proc of the 5th European Conference on European Computing Conference ECC 11 pp 245 250 2011 S Walton O Hassan K Morgan and M R Brown 30 chervnya 2011 Modified cuckoo search A new gradient free optimisation algorithm Chaos Solitons amp Fractals doi 10 1016 j chaos 2011 06 004 S Walton O Hassan K Morgan Using proper orthogonal decomposition to reduce the order ot optimization problems in Proc 16th Int Conf on Finite Elments in Flow Problems Eds Wall W A and Gvravemeier V Munich p 90 2011 X S Yang and S Deb Multiobjective cuckoo search for design optimization Computers and Operations Research October 2011 doi 10 1016 j cor 2011 09 026 Tein L H and Ramli R Recent advancements of nurse scheduling models and a potential path in Proc 6th IMT GT Conference on Mathematics Statistics and its Applications ICMSA 2010 pp 395 409 2010 http research utar edu my CMS ICMSA2010 ICMSA2010 Proceedings files statistics ST Lim pdf 13 bereznya 2012 u Wayback Machine M Dhivya M Sundarambal L N Anand Energy Efficient Computation of Data Fusion in Wireless Sensor Networks Using Cuckoo Based Particle Approach CBPA Int J of Communications Network and System Sciences Vol 4 No 4 249 255 2011 M Dhivya and M Sundarambal Cuckoo search for data gathering in wireless sensor networks Int J Mobile Communications Vol 9 pp 642 656 2011 A Layeb A novel quantum inspired cuckoo search for Knapsack problems Int J Bio inspired Computation Vol 4 2011 P R Srivastava M Chis S Deb and X S Yang An efficient optimization algorithm for structural software testing Int J Artificial Intelligence Vol 9 S12 68 77 2012 Div takozhAlgoritm gravitacijnogo poshuku Algoritm imitaciyi vidpalu Murashinij algoritm Evristika Evristichnij algoritm