برای دیدن دوره های ما کلیک کنید...

Artificial bee colony algorithm

معماری و هوش مصنوعی

Artificial bee colony algorithm یا الگوریتم زنبور عسل:

bee colony algorithm یا الگوریتم زنبور عسل، الگوریتمی مبتنی بر جستجو است. در نسخه اولیه این الگوریتم، الگوریتم جستجو محلی (local) را همراه با جستجو سراسری (global) انجام می دهد. الگوریتم زنبور عسل از رفتار جستجو گر زنبور ها برای پیدا کردن مواد غذایی تقلید می کند. این الگوریتم می تواند برای بهینه سازی ترکیبی (شاخه ای از بهینه سازی است که در آن مجموعه جواب های پاسخ گسسته هستند و در این  شاخه از بهینه سازی ،هدف یافتن بهترین پاسخ هست)و همین طور بهینه سازی مستمر به کار گرفته شود. تنها شرط استفاده از این الگوریتم این  است که برخی اندازه گیری های به معنی فاصله توپولوژیکی بین راه حل ها تعریف شده باشد.

جستجو غذا توسط زنبور عسل:

تئوری این روش براین اساس است که یک کلونی زنبور عسل برای جمع آوری شهد یا گرده مناطق زیادی از محیط زیست را در جهت های مختلف مورد بررسی قرار می دهد. زنبور های دیده بان به صورت تصادفی اطراف کندو را گشت می زنند و پس از بازگشت به کندو زنبور ها مواد غذایی خود را مورد بررسی قرار می دهند و آن دسته از زنبورهای که منبع غذایی غنی پیدا کرده اند به سراغ پیست رقص کندو می روند و با انجام رقص حرکتی، ما بقیه زنبور ها را از این منبع غذایی با خبر می نمایند. هر چه طول رقص بیشتر باشد می توان گفت منبع غذایی غنی تر آوری بیشتری دارد و زنبور های بیشتری به سمت آن منبع غذایی می روند در ادامه حتی زنبور هایی که به آن منطقه رفتند و بازگشتند دوباره می توانند این رقص را انجام دهند تا زنبور های بیشتری به آن محل بروند و تا زمانی که آن منبع غذایی غنی باشد مدام این تبلیغ توسط زنبور های دیده بان انجام می شود.

با این ترفند کلونی می تواند با سرعت زیاد تمرکز را به جستجو گل های سودآورتغییر دهد.در واقع این فرایند یک فرایند اتوکاتالیزوری است .الگوریتم زنبور عسل دقیقا همین استراتژی را تقلید می کند و همانند زنبور ها که به دنبال بهترین گل ها هستند این الگوریتم نیز همانند آن ها به دنبال یافتن بهترین جواب است دراین الگوریتم هر راه حل به عنوان یک منبع غذایی است و از عوامل جمعیت (زنبور ها) برای جستجو فضای راه حل استفاده می شود و هر بار که الگوریتم همانند یک زنبوری که به یک منبع غذایی رسیده به جوابی می رسد سود آن را ارزیابی می نماید و سازگاری پاسخ ها را مورد بررسی قرار می دهد. الگوریتم زنبور عسل برای تعدادی داده آنقدر تکرار می شود تا یک جواب قابل قبول پیدا کند و شامل یک چرخه جستجو می باشد که دارای 5 روش است.

جستجوی محلی:

کاوشگرهای استخدام شده به صورت کاملا تصادفی در گل ها پراکنده می شوند و راه حل های مراجعه شده توسط دیده بان ها را به اشتراک می گذارند.

کوچک شدن محله: 

در این روش اگر کاوشگر استخدام شده راه حل مناسب تری برای کلونی داشته باشد به کاوشگر دیده بان ارتقاء  می یابد. 

متروکه شدن محل:

تکه های گل که در ابتدا به صورت محله بزرگ برای دریافت شهد تعریف شده بودند به تدریج کوچکتر و متمرکز تر می شوند و اگر به سازگاری از پیش تعیین شده کلونی نرسیم (یعنی برای همه زنبورها فضای کافی که دارای شهد باشد فراهم نگردد) و بهبودی در این روند پیدا نکنیم در واقع  می توان گفت ما در آن محله به یک سازگاری ماکزیمم رسیده ایم (حداکثر برداشت شهد از گل ها صورت گرفته است) که در این صورت محل ترک و محله متروکه می شود.

جتسجو کلی:

در این روش یک سری از دیده بان ها که تعداد آن ها کم است به جستجوی فضاهای مختلف ادامه می دهند تا راه حل برای یافتن مناطق جدیدی با سازگاری بالا فراهم شود.

کاربردهای الگوریتم:

الگوریتم زنبور عسل در مهندسی کاربرد زیادی پیدا کرده است.

بهینه سازی طبقه، ساخت، کنترل، مهندسی زیست، بهینه سازی  هدف

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *