مقدمه
الگوریتم کلونی زنبور عسل ، یک راهکار انتخاب ویژگی است که رفتار یک کلونی زنبور عسل را شبیهسازی میکند و برای اولین بار در سال ۲۰۰۵ توسط «کارابوگا» (Karaboga)، برای انتخاب ویژگی پارامتر واقعی ارائه شد.
الگوریتم انتخاب ویژگی کلونی زنبور عسل چیست؟
در این مدل، کلونی زنبور عسل مصنوعی دارای سه نوع زنبورهای کارگر، ناظر و دیده بان است. زنبورهای کارگر روی گردآوری غذا و آوردن آن به کندو از یک منبع غذایی خاص کار میکنند. زنبورهای ناظر در میان کارگرها گشت میزنند تا تشخیص دهند یک منبع غذایی همچنان ارزش استفاده دارد یا خیر و در نهایت زنبورهای دیدهبان که بهدنبال کشف منابع غذایی جدید هستند.
در الگوریتم انتخاب ویژگی کلونی زنبور عسل، یک منبع غذایی به عنوان حالتی در فضای جستوجو تعریف میشود، و تعداد منابع غذایی در ابتدا برابر با تعداد زنبورهای موجود در کندو است. کیفیت منابع غذایی توسط مقدار تابع هدف در آن موقعیت (مقدار تناسب) تعیین میشود.
یک کلونی زنبور عسل میتواند در مسافت زیادی و نیز در جهتهای گوناگون پخش شود تا از منابع غذایی بهرهبرداری کند. گل ها با مقادی زیادی شهد و گرده که با تلاشی کم قابل جمع آوری است، به وسیله ی تعداد زیادی زنبور بازدید میشود؛ به طوری که قطعاتی از زمین که گرده یا شهد کمتری دارد، تعداد کمتری زنبور را جلب میکند.
جستجو غذا
پروسهٔ جستجوی غذای یک کلونی به وسیلهٔ زنبورهای دیده بان آغاز میشود که برای جستجوی گل زارها فرستاده میشوند. زنبورهای دیدهبان از گلزاری به گلزار دیگر حرکت میکنند. در طول فصل برداشت محصول (گلدهی)، کلونی با آماده نگه داشتن تعدادی از جمعیت کلونی به عنوان زنبور دیدهبان به جستجوی خود ادامه میدهند.
هنگامی که جستجوی تمام گلزارها پایان یافت، هر زنبور دیدهبان، بالای گلزاری که اندوختهٔ کیفی مطمئنی از شهد و گرده دارد، رقص خاصی را اجرا میکند. این رقص که به نام رقص چرخشی شناخته میشود، اطلاعات مربوط به جهت تکه گلزار (نسبت به کندو)، فاصله تا گلزار و کیفیت گلزار را به زنبورهای دیگر انتقال میدهد. این اطلاعات زنبورهای اضافی و پیرو را به سوی گلزار میفرستد. بیشتر زنبورهای پیرو به سوی گلزارهایی میروند که امید بخشتر هستند و امید بیشتری برای یافتن نکتار و گرده در آنها وجود دارد. وقتی همهٔ زنبورها به سمت ناحیهای مشابه بروند، دوباره به صورت تصادفی و به علت محدودهی رقصشان در پیرامون گلزار پراکنده میشوند تا به موجب این کار سرانجام نه یک گلزار، بلکه بهترین گلهای موجود درون آن تعیین موقعیت شوند.
الگوریتم زنبور عسل هر نقطه را در فضای پارامتری متشکل از پاسخهای ممکن به عنوان منبع غذا تحت بررسی قرار میدهد. زنبورهای دیدهبان به صورت تصادفی فضای پاسخ ها را ساده می کنند و به وسیله ی تابع شایستگی کیفیت موقعیت های بازدید شده را گزارش می دهند. جوابهای ساده شده رتبه بندی میشوند و دیگر زنبورها نیروهای تازهای هستند که فضای پاسخها را در پیرامون خود برای یافتن بالاترین رتبه محلها جستجو میکنند که گلزار نامیده میشود. الگوریتم به صورت گزینشی دیگر گلزارها را برای یافتن نقطه ی بیشینه ی تابع شایستگی جستجو میکند.
رفتار هوشمند ناپایدار زنبورهای عسل را میتوان در چند گام زیر خلاصه کرد:
- زنبورها تلاش میکنند تا به صورت تصادفی در محیط بهدنبال منابع غذایی خوب بگردند (مقدار تناسب).
- پس از یافتن یک منبع غذایی، آنها تبدیل به زنبورهای کارگر میشوند و شروع به استخراج غذا از منبع یافت شده میکنند.
- زنبور کارگر با شهد به کندو باز میگردد و بار شهد خود را خالی میکند. پس از خالی کردن آن، میتواند مستقیما به منبع کشف شده خود باز گردد یا اطلاعاتی که درباره منبع غذاییش دارد را با اجرای یک رقص گردون در ناحیه رقص به اشتراک بگذارد.
- اگر یک منبع غذایی خالی شد، زنبوران کارگر به دیدهبان مبدل شده و به جست و جوی تصادفی برای منابع غذایی میپردازند.
- زنبورهای ناظر در کندو منتظر مانده و زنبورهای کارگر را در منابع غذایی گردآوری کردهشان مورد نظارت قرار میدهند و از میان منابع غذایی موجود با بیشترین سود، یک منبع را انتخاب میکنند.
- انتخاب منابع غذایی متناسب با کیفیت آن منبع (مقدار تناسب) است.
با اینکه سه نوع از زنبورهای عسل موجود در کلونی معرفی شدند، در مرحله پیادهسازی تنها دو نوع زنبور وجود دارد که زنبورهای کارگر و ناظر هستند. در واقع زنبور دیدهبان یک رفتار اکتشافی است که میتواند توسط زنبورهای کارگر و ناظر انجام شود.
زنبور کارگر
رفتار اصلی زنبور کارگر استخراج غذا از یک منبع غذایی است که در آن کارگران تا مرحله خالی شدن منبع کار میکنند. در مرحله پیادهسازی، این رفتار را میتوان به عنوان ساخت موقعیتهای جدید در نزدیکی جایی که زنبورهای کارگر مشغول کار هستند دید و ارزیابی کرد که آیا این موقعیت جدید مقدار بهتری غذا فراهم میکند؟ زنبورهای کارگر همیشه موقعیت بهترین منابع غذایی که به دست آوردهاند را تا پیش از خالی شدن آن، به خاطر میسپارند.
زنبورهای ناظر
زنبورهای ناظر از عملکرد زنبورهای کارگر پاسداری میکنند. آنها بر فراز کندو پرواز کرده، پیشرفت کار زنبورهای کارگر را مورد بررسی قرار داده و ارزیابی میکنند که کدام کارگرها در گردآوری غذا موفقتر عمل کردهاند. زنبورهای ناظر همیشه بهترین کارگران را هدف میگیرند و از یک رویکرد احتمالی، با عنوان «محل ملاقات»، استفاده میکنند که بر اساس آن دیگر زنبورها نیز با این امید که غذای بیشتری گردآوری کنند باید به این موقعیت موفقیت بیایند.