Бджолиний алгоритм (в англомовних статтях також зустрічаються назви Artificial Bee Colony (ABC) Algorithm та Bees Algorithm) є доволі молодим алгоритмом для знаходження глобальних екстремумів (максимумів чи мінімумів) складних багатовимірних функцій.
В інформатиці та дослідженні операцій, бджолиний алгоритм на основі алгоритму пошуку вперше розроблений в 2005 році. Він імітує поведінку харчування зграї бджіл. У базовій версії, алгоритм виконує свого роду сусідній пошук в поєднанні з випадковим пошуком і може використовуватися для комбінаторної оптимізації і функціональної оптимізації.
Загальні принципи
Для розгляду принципів роботи бджолиного алгоритму, або методу бджолиної сім'ї (МБС) вдамося до аналогії з реальною бджолиною сім'єю.
Уявімо собі вулик бджіл у природі. Їх мета — знайти в радіусі льоту робочої бджоли область з найвищою щільністю квітів. Без якого-небудь уявлення про поле апріорі, бджоли починають пошук квітів з випадкових позицій з випадковими векторами швидкості. Кожна бджола може пам'ятати позиції, де вона знайшла найбільшу кількість квітів і порівнювати знайдені джерела найбільшої щільністі квітів з іншими, які виявили інші бджоли-розвідниці. Вибираючи між поверненням до місця, де бджола сама виявила найбільшу кількість квітів, або дослідженням місця, визначеного іншими, як місце з найбільшою кількістю квітів, бджола спрямовується в напрямку між двома точками в залежності від того, що надасть більший вплив на її рішення — персональний спогад або соціальний рефлекс. По дорозі бджола може знайти місце з більш високою концентрацією квітів, ніж було знайдено раніше. Надалі воно може бути позначено як нове місце з найбільшою концентрацією квітів, а також як місце найбільшого скупчення квітів, знайдене бджолами-розвідницями цієї сім'ї. Випадково бджола може пролетіти повз місця, з великою кількістю квітів, ніж було знайдено будь-якою іншою бджолою сім'ї. Всі робочі бджоли сім'ї потім будуть прагнути до цього місця в додаток до власних спостережень кожної бджоли (інформація іншим бджолам передається всередині вулика, за допомогою «бджолиного танцю»). Таким чином, бджоли досліджують поле: перелітаючи місця з найбільшою концентрацією, вони сповільнюються в їхньому напрямку. Безперервно вони перевіряють місця, які пролетіли, порівнюючи з знайденими раніше місцями з найбільшою концентрацією квітів сподіваючись знайти абсолютну найбільшу концентрацію квітів. В підсумку, бджола закінчує рух на місці поля з найбільшою концентрацією квітів. Незабаром всі робочі бджоли сім'ї зосереджується в околицях цієї позиції. Не маючи можливості виявити місця з більшою концентрацією квітів, бджоли безперервно літають в райони найбільшої щільності квітів. Ця поведінка бджіл і була покладена в основу цього методу оптимізації.
Мова методу
Частинка або Агент — кожна бджола в сім'ї розглядається як частинка або агент. Всі частинки сім'ї діють індивідуально відповідно до одного керуючого принципу: прискорюватися в напрямку найкращої персональної і найкращої спільної позиції, постійно перевіряючи значення поточної позиції. Позиція — аналогічно розташування бджоли на полі представлені координатами на площині xy. Однак, в загальному випадку можна розширити цю ідею в будь-який N-мірний простір відповідно до поставленого завдання. Цей N-мірний простір є областю рішень для задачі, що оптимізується, де кожний набір координат представляє рішення. Придатність — за аналогією з прикладом бджолиної сім'ї функція придатності буде щільність квітів: чим більша щільність, тим краща позиція. Функція придатності служить засобом зв'язку між фізичною проблемою і алгоритмом оптимізації. Персональна найкраща позиція — за аналогією з бджолиною сім'єю, кожна бджола пам'ятає позицію, де вона сама виявила найбільшу кількість квітів. Ця позиція з найбільшим значенням придатності виявлена бджолою відома як персональна найкраща позиція (ПНП). Кожна бджола має власне ПНП, яке визначається шляхом, який вона пролетіла. У кожній точці вздовж шляху руху бджола порівнює значення придатності поточної позиції зі значенням ПНП. Якщо поточна позиція має значення придатності вище, значення ПНП замінюється на значення поточної позиції. Глобальна найкраща позиція — кожна бджола сім'ї також дізнається про область найбільшої концентрації квітів за допомогою «бджолиного танцю», результуюче рішення визначається вік конкуруючих танців кожної з бджіл-розвідниць. Якщо одна із розвідниць бачить, що джерело квітів, знайдене іншою розвідницею значно краще, ніж знайдене нею, вона летить, і перевіряє дані. Якщо це дійсно так, то по прильоту до вулика, вона підключається до заохочування бджіл збирати нектар (або пилок) в новій області найбільшої концентрації квітів. Ця позиція найбільшої придатності відома як глобальна найкраща позиція (ГНП). Для всієї сім'ї це одна ГНП, до якої прагне кожна бджола. У кожній точці протягом всього шляху кожна бджола порівнює придатність її поточної позиції з ГНП. У разі якщо будь-яка бджола виявить позицію з більш високою придатністю, ГНП замінюється поточною позицією цієї бджоли.
Алгоритм
Першим кроком в реалізації МБС є вибір параметрів, які необхідно оптимізувати, і визначення допустимого інтервалу для пошуку оптимальних значень. Потім в допустимої області випадковим чином розташовуються бджоли, а також задаються вектори і швидкості їх руху. Потім кожна частка повинна переміщатися через простір рішень, так якщо б вона була бджолою в сім'ї. Алгоритм діє на кожну частку окремо, переміщаючи її на невелику величину, циклічно рухаючи її через всю сім'ю. Наступні кроки виконуються для кожної частки:
Оцінка придатності для частинки, порівняння з ПНП і ГНП. Функція придатності, використовуючи координати частинки в просторі рішень, повертає значення придатності для поточної позиції. Якщо це значення більше, ніж значення ПНП, відповідне цій частці, або ГНП, тоді відповідні позиції замінюються поточної позицією.
Коригування швидкості частинки. Маніпуляції зі швидкістю частинки є основним елементом усієї оптимізації. Точне розуміння рівняння, використовуваного для визначення швидкості, є ключем до розуміння всього процесу оптимізації. Швидкість частинки змінюється відповідно до взаємним розташуванням позицій ПНП і ГНП. Вона прагне в напрямку цих позицій найбільшої придатності згідно з наступним рівнянням:
де:
— це швидкість частинки в n-том вимірі на попередньому кроці,
— це координата частинки в n-том вимірі,
— ПНП,
— ГНП.
Розрахунок проводиться для кожного з N. З цього рівняння видно, що нова швидкість виходить зі старої швидкості шляхом простого масштабування на , і додавання напрямків ГНП і ПНП для цього конкретного напряму.
і — це масштабні коефіцієнти, які визначають відносне взаємне «тяжіння» до ПНП і ГНП. Вони іноді розглядаються як пізнавальний і соціальний фактори. — це коефіцієнт, що визначає який вплив на частку надає її пам'ять про ПНП, — коефіцієнт, що визначає який вплив на частку надають інші члени сім'ї. Збільшення передбачає дослідження простору рішень шляхом руху кожної частинки в напрямку свого ПНП; збільшення передбачає дослідження передбачуваного глобального максимуму.
Функція випадкових чисел повертає число в інтервалі між -1 і 1. Загалом випадку два появи функції являє собою два різних виклику функції. Більшість реалізацій використовують дві незалежні випадкові величини для стохастичного зміни відносного тяжіння ГНП і ПНП. Це введення випадкового елемента в оптимізацію призначено для моделювання незначного непередбачуваного компонента реальної поведінки сім'ї. називають «інерційним вагою» і це число (вибране в інтервалі між 0 і 1) відображає в якій мірі частка залишається вірною своєму первісному курсом, не зазнавши впливу ГНП і ПНП.
Граничні умови
Межі ми поставили спочатку, але ніде в формулах і методах про них не згадувалося. Так як же все-таки їх враховувати? Існує декілька варіантів.
Наприклад, можна зробити стіни поглинаючими. Коли частка вдаряється об кордон простору рішень в одному з вимірів, швидкість в цьому вимірі обнуляється, і частка в кінцевому підсумку буде повернена в заданий простір рішень. Це означає, що кордони — «стіни» поглинають енергію частинок, що намагаються покинути дозволену область. Або ж відображати швидкість частинки, коли та підлітає до «стіни». Але найефективнішим рішенням виявилися «невидимі стіни». Частка може спокійно вилітати за їх межі, але перебуваючи поза дозволеною областю, значення, отримані нею значення просто не враховуються, до тих пір, поки вона не повернеться назад.
Висновок
Метод бджолиної сім'ї можна ефективно розподілити на декілька паралельних процесів, за рахунок чого значно збільшиться його швидкість. У порівнянні з генетичним алгоритмом, оператори якого можуть бути реалізовані різним чином, МБС має лише один оператор — обчислення швидкості, що робить його простішим у використанні.
У методі бджолиної сім'ї можна легко визначити досягнення точки глобального мінімуму, в той час як в генетичних алгоритмах це значно ускладнено. Концепція цих методів ґрунтується на двох зовсім різних природних процесах: МБС ґрунтується на соціальній поведінці бджолиної сім'ї, а генетичний алгоритм імітує процес еволюції і природного відбору. За рахунок цього є можливість об'єднати два цих методи.
Див. також
Посилання
- Природні алгоритми. Алгоритм поведінки рою бджіл [ 14 лютого 2012 у Wayback Machine.]
- Бджолиний алгоритм для оптимізації функції [ 17 березня 2012 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Bdzholinij algoritm v anglomovnih stattyah takozh zustrichayutsya nazvi Artificial Bee Colony ABC Algorithm ta Bees Algorithm ye dovoli molodim algoritmom dlya znahodzhennya globalnih ekstremumiv maksimumiv chi minimumiv skladnih bagatovimirnih funkcij Bdzhola zbiraye nektar V informatici ta doslidzhenni operacij bdzholinij algoritm na osnovi algoritmu poshuku vpershe rozroblenij v 2005 roci Vin imituye povedinku harchuvannya zgrayi bdzhil U bazovij versiyi algoritm vikonuye svogo rodu susidnij poshuk v poyednanni z vipadkovim poshukom i mozhe vikoristovuvatisya dlya kombinatornoyi optimizaciyi i funkcionalnoyi optimizaciyi Zagalni principiDlya rozglyadu principiv roboti bdzholinogo algoritmu abo metodu bdzholinoyi sim yi MBS vdamosya do analogiyi z realnoyu bdzholinoyu sim yeyu Uyavimo sobi vulik bdzhil u prirodi Yih meta znajti v radiusi lotu robochoyi bdzholi oblast z najvishoyu shilnistyu kvitiv Bez yakogo nebud uyavlennya pro pole apriori bdzholi pochinayut poshuk kvitiv z vipadkovih pozicij z vipadkovimi vektorami shvidkosti Kozhna bdzhola mozhe pam yatati poziciyi de vona znajshla najbilshu kilkist kvitiv i porivnyuvati znajdeni dzherela najbilshoyi shilnisti kvitiv z inshimi yaki viyavili inshi bdzholi rozvidnici Vibirayuchi mizh povernennyam do miscya de bdzhola sama viyavila najbilshu kilkist kvitiv abo doslidzhennyam miscya viznachenogo inshimi yak misce z najbilshoyu kilkistyu kvitiv bdzhola spryamovuyetsya v napryamku mizh dvoma tochkami v zalezhnosti vid togo sho nadast bilshij vpliv na yiyi rishennya personalnij spogad abo socialnij refleks Po dorozi bdzhola mozhe znajti misce z bilsh visokoyu koncentraciyeyu kvitiv nizh bulo znajdeno ranishe Nadali vono mozhe buti poznacheno yak nove misce z najbilshoyu koncentraciyeyu kvitiv a takozh yak misce najbilshogo skupchennya kvitiv znajdene bdzholami rozvidnicyami ciyeyi sim yi Vipadkovo bdzhola mozhe proletiti povz miscya z velikoyu kilkistyu kvitiv nizh bulo znajdeno bud yakoyu inshoyu bdzholoyu sim yi Vsi robochi bdzholi sim yi potim budut pragnuti do cogo miscya v dodatok do vlasnih sposterezhen kozhnoyi bdzholi informaciya inshim bdzholam peredayetsya vseredini vulika za dopomogoyu bdzholinogo tancyu Takim chinom bdzholi doslidzhuyut pole perelitayuchi miscya z najbilshoyu koncentraciyeyu voni spovilnyuyutsya v yihnomu napryamku Bezperervno voni pereviryayut miscya yaki proletili porivnyuyuchi z znajdenimi ranishe miscyami z najbilshoyu koncentraciyeyu kvitiv spodivayuchis znajti absolyutnu najbilshu koncentraciyu kvitiv V pidsumku bdzhola zakinchuye ruh na misci polya z najbilshoyu koncentraciyeyu kvitiv Nezabarom vsi robochi bdzholi sim yi zoseredzhuyetsya v okolicyah ciyeyi poziciyi Ne mayuchi mozhlivosti viyaviti miscya z bilshoyu koncentraciyeyu kvitiv bdzholi bezperervno litayut v rajoni najbilshoyi shilnosti kvitiv Cya povedinka bdzhil i bula pokladena v osnovu cogo metodu optimizaciyi Mova metoduChastinka abo Agent kozhna bdzhola v sim yi rozglyadayetsya yak chastinka abo agent Vsi chastinki sim yi diyut individualno vidpovidno do odnogo keruyuchogo principu priskoryuvatisya v napryamku najkrashoyi personalnoyi i najkrashoyi spilnoyi poziciyi postijno pereviryayuchi znachennya potochnoyi poziciyi Poziciya analogichno roztashuvannya bdzholi na poli predstavleni koordinatami na ploshini xy Odnak v zagalnomu vipadku mozhna rozshiriti cyu ideyu v bud yakij N mirnij prostir vidpovidno do postavlenogo zavdannya Cej N mirnij prostir ye oblastyu rishen dlya zadachi sho optimizuyetsya de kozhnij nabir koordinat predstavlyaye rishennya Pridatnist za analogiyeyu z prikladom bdzholinoyi sim yi funkciya pridatnosti bude shilnist kvitiv chim bilsha shilnist tim krasha poziciya Funkciya pridatnosti sluzhit zasobom zv yazku mizh fizichnoyu problemoyu i algoritmom optimizaciyi Personalna najkrasha poziciya za analogiyeyu z bdzholinoyu sim yeyu kozhna bdzhola pam yataye poziciyu de vona sama viyavila najbilshu kilkist kvitiv Cya poziciya z najbilshim znachennyam pridatnosti viyavlena bdzholoyu vidoma yak personalna najkrasha poziciya PNP Kozhna bdzhola maye vlasne PNP yake viznachayetsya shlyahom yakij vona proletila U kozhnij tochci vzdovzh shlyahu ruhu bdzhola porivnyuye znachennya pridatnosti potochnoyi poziciyi zi znachennyam PNP Yaksho potochna poziciya maye znachennya pridatnosti vishe znachennya PNP zaminyuyetsya na znachennya potochnoyi poziciyi Globalna najkrasha poziciya kozhna bdzhola sim yi takozh diznayetsya pro oblast najbilshoyi koncentraciyi kvitiv za dopomogoyu bdzholinogo tancyu rezultuyuche rishennya viznachayetsya vik konkuruyuchih tanciv kozhnoyi z bdzhil rozvidnic Yaksho odna iz rozvidnic bachit sho dzherelo kvitiv znajdene inshoyu rozvidniceyu znachno krashe nizh znajdene neyu vona letit i pereviryaye dani Yaksho ce dijsno tak to po prilotu do vulika vona pidklyuchayetsya do zaohochuvannya bdzhil zbirati nektar abo pilok v novij oblasti najbilshoyi koncentraciyi kvitiv Cya poziciya najbilshoyi pridatnosti vidoma yak globalna najkrasha poziciya GNP Dlya vsiyeyi sim yi ce odna GNP do yakoyi pragne kozhna bdzhola U kozhnij tochci protyagom vsogo shlyahu kozhna bdzhola porivnyuye pridatnist yiyi potochnoyi poziciyi z GNP U razi yaksho bud yaka bdzhola viyavit poziciyu z bilsh visokoyu pridatnistyu GNP zaminyuyetsya potochnoyu poziciyeyu ciyeyi bdzholi AlgoritmPershim krokom v realizaciyi MBS ye vibir parametriv yaki neobhidno optimizuvati i viznachennya dopustimogo intervalu dlya poshuku optimalnih znachen Potim v dopustimoyi oblasti vipadkovim chinom roztashovuyutsya bdzholi a takozh zadayutsya vektori i shvidkosti yih ruhu Potim kozhna chastka povinna peremishatisya cherez prostir rishen tak yaksho b vona bula bdzholoyu v sim yi Algoritm diye na kozhnu chastku okremo peremishayuchi yiyi na neveliku velichinu ciklichno ruhayuchi yiyi cherez vsyu sim yu Nastupni kroki vikonuyutsya dlya kozhnoyi chastki Ocinka pridatnosti dlya chastinki porivnyannya z PNP i GNP Funkciya pridatnosti vikoristovuyuchi koordinati chastinki v prostori rishen povertaye znachennya pridatnosti dlya potochnoyi poziciyi Yaksho ce znachennya bilshe nizh znachennya PNP vidpovidne cij chastci abo GNP todi vidpovidni poziciyi zaminyuyutsya potochnoyi poziciyeyu Koriguvannya shvidkosti chastinki Manipulyaciyi zi shvidkistyu chastinki ye osnovnim elementom usiyeyi optimizaciyi Tochne rozuminnya rivnyannya vikoristovuvanogo dlya viznachennya shvidkosti ye klyuchem do rozuminnya vsogo procesu optimizaciyi Shvidkist chastinki zminyuyetsya vidpovidno do vzayemnim roztashuvannyam pozicij PNP i GNP Vona pragne v napryamku cih pozicij najbilshoyi pridatnosti zgidno z nastupnim rivnyannyam vni 1 w vni c1rand pn xn c2rand gn xn displaystyle v n i 1 w cdot v n i c 1 rand p n x n c 2 rand cdot g n x n de vni displaystyle v n i ce shvidkist chastinki v n tom vimiri na poperednomu kroci xn displaystyle x n ce koordinata chastinki v n tom vimiri pn displaystyle p n PNP gn displaystyle g n GNP Rozrahunok provoditsya dlya kozhnogo z N Z cogo rivnyannya vidno sho nova shvidkist vihodit zi staroyi shvidkosti shlyahom prostogo masshtabuvannya na w displaystyle w i dodavannya napryamkiv GNP i PNP dlya cogo konkretnogo napryamu c1 displaystyle c 1 i c2 displaystyle c 2 ce masshtabni koeficiyenti yaki viznachayut vidnosne vzayemne tyazhinnya do PNP i GNP Voni inodi rozglyadayutsya yak piznavalnij i socialnij faktori c1 displaystyle c 1 ce koeficiyent sho viznachaye yakij vpliv na chastku nadaye yiyi pam yat pro PNP c2 displaystyle c 2 koeficiyent sho viznachaye yakij vpliv na chastku nadayut inshi chleni sim yi Zbilshennya peredbachaye doslidzhennya prostoru rishen shlyahom ruhu kozhnoyi chastinki v napryamku svogo PNP zbilshennya peredbachaye doslidzhennya peredbachuvanogo globalnogo maksimumu Funkciya vipadkovih chisel rand displaystyle rand povertaye chislo v intervali mizh 1 i 1 Zagalom vipadku dva poyavi funkciyi rand displaystyle rand yavlyaye soboyu dva riznih vikliku funkciyi Bilshist realizacij vikoristovuyut dvi nezalezhni vipadkovi velichini dlya stohastichnogo zmini vidnosnogo tyazhinnya GNP i PNP Ce vvedennya vipadkovogo elementa v optimizaciyu priznacheno dlya modelyuvannya neznachnogo neperedbachuvanogo komponenta realnoyi povedinki sim yi w displaystyle w nazivayut inercijnim vagoyu i ce chislo vibrane v intervali mizh 0 i 1 vidobrazhaye v yakij miri chastka zalishayetsya virnoyu svoyemu pervisnomu kursom ne zaznavshi vplivu GNP i PNP Granichni umoviMezhi mi postavili spochatku ale nide v formulah i metodah pro nih ne zgaduvalosya Tak yak zhe vse taki yih vrahovuvati Isnuye dekilka variantiv Napriklad mozhna zrobiti stini poglinayuchimi Koli chastka vdaryayetsya ob kordon prostoru rishen v odnomu z vimiriv shvidkist v comu vimiri obnulyayetsya i chastka v kincevomu pidsumku bude povernena v zadanij prostir rishen Ce oznachaye sho kordoni stini poglinayut energiyu chastinok sho namagayutsya pokinuti dozvolenu oblast Abo zh vidobrazhati shvidkist chastinki koli ta pidlitaye do stini Ale najefektivnishim rishennyam viyavilisya nevidimi stini Chastka mozhe spokijno vilitati za yih mezhi ale perebuvayuchi poza dozvolenoyu oblastyu znachennya otrimani neyu znachennya prosto ne vrahovuyutsya do tih pir poki vona ne povernetsya nazad VisnovokMetod bdzholinoyi sim yi mozhna efektivno rozpodiliti na dekilka paralelnih procesiv za rahunok chogo znachno zbilshitsya jogo shvidkist U porivnyanni z genetichnim algoritmom operatori yakogo mozhut buti realizovani riznim chinom MBS maye lishe odin operator obchislennya shvidkosti sho robit jogo prostishim u vikoristanni U metodi bdzholinoyi sim yi mozhna legko viznachiti dosyagnennya tochki globalnogo minimumu v toj chas yak v genetichnih algoritmah ce znachno uskladneno Koncepciya cih metodiv gruntuyetsya na dvoh zovsim riznih prirodnih procesah MBS gruntuyetsya na socialnij povedinci bdzholinoyi sim yi a genetichnij algoritm imituye proces evolyuciyi i prirodnogo vidboru Za rahunok cogo ye mozhlivist ob yednati dva cih metodi Div takozhKolektivnij intelekt Murashinij algoritm Metod royu chastok Algoritm gravitacijnogo poshuku Shtuchna imunna sistema Algoritm zozuliPosilannyaPrirodni algoritmi Algoritm povedinki royu bdzhil 14 lyutogo 2012 u Wayback Machine Bdzholinij algoritm dlya optimizaciyi funkciyi 17 bereznya 2012 u Wayback Machine