الگوریتم فاخته (Cuckoo Search - CS)، در ریاضیات (Mathematics)
انواع روش های بهینه سازی (Optimization Methods) را در آموزش زیر شرح دادیم :
الگوریتم فاخته (Cuckoo Search - CS) :
📌 معرفی
الگوریتم فاخته (Cuckoo Search - CS) توسط یانگ و دب در سال ۲۰۰۹ معرفی شد. این الگوریتم از رفتار تخم گذاری انگل واره برخی گونه های فاخته (Cuckoo) و همچنین رفتار پروازی لوی (Lévy flights) پرندگان و مگس ها الهام گرفته است.
🥚 ایده اصلی
برخی فاخته ها تخم های خود را در لانه پرندگان دیگر می گذارند. اگر پرنده میزبان تخم بیگانه را تشخیص دهد، یا آن را بیرون می اندازد یا لانه را رها می کند. در الگوریتم CS، هر تخم نماینده یک جواب کاندید است و هدف یافتن لانه های بهتر است.
📐 قوانین پایه
هر فاخته یک تخم در یک لانه تصادفی می گذارد.
لانه های با کیفیت بالا (تخم های خوب) به نسل بعد منتقل می شوند.
تعداد لانه های میزبان ثابت است و با احتمال
\[ p_a \]، تخم کشف شده و لانه رها می شود (جایگزینی با لانه جدید).
✈️ پرواز لوی (Lévy Flight)
برای تولید لانه های جدید، از پرواز لوی استفاده می شود که گام های بلند تصادفی را امکان پذیر می کند:
\[ x_i(t+1) = x_i(t) + \alpha \oplus L\acute{e}vy(\lambda) \]پرواز لوی توزیع احتمال با دنباله های بلند (Heavy-tailed) دارد که باعث می شود گاهی جهش های بزرگ اتفاق بیفتد و فضای جستجو به طور مؤثرتری کاوش شود.