الگوریتم کرم شب تاب (Firefly Algorithm)، در ریاضیات (Mathematics)
انواع روش های بهینه سازی (Optimization Methods) را در آموزش زیر شرح دادیم :
الگوریتم کرم شب تاب (Firefly Algorithm) :
📌 تعریف: الگوریتم کرم شب تاب (Firefly Algorithm) توسط یانگ (Yang) در سال ۲۰۰۸ معرفی شد. این الگوریتم از رفتار جذب و درخشش کرم های شب تاب (Fireflies) الهام گرفته است. کرم های شب تاب با تولید نور، یکدیگر را جذب می کنند و این رفتار مبنای جستجوی جواب های بهتر در فضای مسئله قرار می گیرد.
✨ ایده اصلی
در الگوریتم کرم شب تاب، سه قانون اساسی حاکم است:
همه کرم های شب تاب غیرجنسی هستند و هر کرم می تواند هر کرم دیگری را جذب کند.
جذابیت (Attractiveness) یک کرم شب تاب متناسب با شدت نور آن است و با افزایش فاصله کاهش می یابد. کرم با شدت نور کمتر به سمت کرم با شدت نور بیشتر حرکت می کند.
شدت نور یک کرم شب تاب توسط مقدار تابع هدف در موقعیت آن تعیین می شود.
📐 فرمول بندی
جذابیت بین دو کرم شب تاب i و j با فاصله
\[ r_{ij} \]به صورت زیر تعریف می شود:
\[ \beta(r) = \beta_0 e^{-\gamma r^2} \]که
\[ \beta_0 \]جذابیت در فاصله صفر (حداکثر جذابیت) و
\[ \gamma \]ضریب جذب نور است. حرکت کرم i به سمت کرم j (که پرنورتر است) به صورت زیر انجام می شود:
\[ x_i = x_i + \beta_0 e^{-\gamma r_{ij}^2} (x_j - x_i) + \alpha \epsilon_i \]که جمله آخر یک حرکت تصادفی با ضریب
\[ \alpha \]است.
🔧 ویژگی ها
به طور خودکار به زیرجمعیت ها (Sub-swarms) تقسیم می شود که برای مسائل چندوجهی (Multimodal) مفید است.
قابلیت جستجوی محلی و سراسری را به طور همزمان دارد.
پارامترهای
\[ \gamma \]و
\[ \alpha \]نقش مهمی در تعادل بین اکتشاف و بهره برداری دارند.