بهینه سازی و رقص زنبوری!

بشر و دیگر موجودات از بدو به دنبال کاهش مصرف انرژی، زمان و... بوده‌اند؛ بنابراین بهتر است که به فکر چاره‌ای برای این معضل خانمان سوز باشیم!

یکی از راه‌ها یا به عبارتی فرایند‌های قابل استفاده برای این معضل،‌ بهینه‌سازی است. اگر دید کلی به آن داشته باشیم، می‌توانیم آن را این گونه تعریف کنیم؛ بهینه‌سازی، فرایندی است که در آن بهترین پاسخ از میان مجموعه‌ای از پاسخ‌ها انتخاب می شود که یکی از این الگوریتم‌ها برای بهینه‌سازی،‌ الگوریتم کلونی زنبور عسل (Artificial bee colony algorithm) است.

الگورریتم کلونی (ABC) به چه شکل کار می‌کند؟

الگوریتم کلونی، الگوریتمی بر اساس هوش جمعی و رفتار هوشمند زنبور عسل است که اولین بار در سال ۲۰۰۵ میلادی توسعه یافت. در واقع این الگوریتم رفتار گروه‌های زنبور عسل را برای یافتن گرده شبیه‌سازی می‌کند. عمل‌ها و کار‌هایی که در آن جستجو انجام می‌دهیم به صورت تصادفی (Random) است که جلوتر به آن خواهیم پرداخت.

یافتن عسل در دل طبیعت

کلونی زنبور عسل مصنوعی دارای سه‌نوع زنبور است؛ زنبور‌ کارگر، ناظر و دیده‌بان(دیدبان). زنبورهای کارگر روی گردآوری غذا و آوردن آن به کندو از یک منبع غذایی خاص کار می کنند، زنبورهای ناظر در میان کارگرها گشت می‌زنند تا تشخیص دهند یک منبع غذایی همچنان ارزش استفاده دارد یا خیر و در نهایت زنبورهای دید‌بان به دنبال کشف منابع غذایی جدید هستند .

فرض کنید اطلاع داریم که زنبور‌های عسل توانایی پیمودن مسافت زیاد و جهت‌یابی برای یافتن منابع مورد نیاز( گرده) را دارند. حال برای بهینه‌کردن این عمل راهبردی را در پیش گرفته‌اند. کلونی، زنبور‌های دیدبانی را برای فصل گل‌دهی آماده کرده که به صورت گروهی برای یافتن گلزار های مناسب (دارای امید بیشتر برای وجود گرده‌) از گلزاری به گلزار دیگر حرکت می کنند .وقتی جستجو پایان یافت هر زنبور دیدبان در بالای گلزاری که اندوخته کیفی مناسبی دارد رقصی ویژه‌ای را اجرا می‌کند. این رقص دارای اطلاعاتی نظیر؛ کیفیت گلزار، فاصله آن تا کندو و... است.

این اطلاعات زنبور‌های کارگر را به سوی گلزار می‌فرستد. اکثر زنبور‌های کارگر به سوی گلزار‌های با امید بیشتر می‌روند. حال وقتی همه زنبور‌ها به سمت ناحیه‌ای مشابه بروند، دوباره به صورت تصادفی و به علت بازه‌ای که رقصشان پوشش می‌دهد، در اطراف گلزار فعلی پراکنده می‌شوند تا با این کار بهترین گلزار‌ها موقعیتشان تعیین شود.



چکیده عملکرد رفتار هوشمند ناپایدار زنبور‌های عسل:

• زنبورها تلاش می‌کنند تا به صورت تصادفی در محیط به دنبال منابع غذایی خوب و مناسب بگردند.

• پس از یافتن یک منبع غذایی، آنها تبدیل به زنبورهای کارگر می‌شوند و شروع به استخراج غذا از منبع یافت شده می‌کنند.

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

• اگر یک منبع غذایی خالی شد، زنبوران کارگر به دید‌‌‌بان تبدیل شده و به جست و جوی تصادفی برای منابع غذایی می‌پردازند.

• زنبورهای ناظر در کندو منتظر مانده و منابع غذایی گردآوری شده توسط زنبور‌های کارگر را مورد نظارت قرار می‌دهند و از میان منابع غذایی موجود، یک منبع را انتخاب می‌کنند.

کاربرد‌ها

• آموزش شبکه عصبی برای الگو شناسی

• زمان‌بندی کارها برای ماشین‌های تولیدی

• دسته‌بندی اطلاعات

• خوشه‌بندی

• بهینه‌سازی چند‌گانه

الگوریتم (ABC) به عنوان یک الگوریتم بهینه‌سازی مبتنی بر جمعیت می‌تواند در مسائل مختلفی (نمونه‌هایی از آن در بالا ذکر شد) مورد استفاده قرار بگیرد .به طور کلی، استفاده از الگوریتم‌های الهام گرفته از سیستم‌های زنده، به عنوان یک رویکرد محبوب در علم بهینه‌سازی محسوب می‌شود که می‌تواند به بهبود کارایی سیستم‌ها و فرایندهای مختلف کمک کند.