الگوریتم جستجوی باکتریایی (Bacterial Foraging Optimization - BFO)، در ریاضیات (Mathematics)
انواع روش های بهینه سازی (Optimization Methods) را در آموزش زیر شرح دادیم :
الگوریتم جستجوی باکتریایی (Bacterial Foraging Optimization - BFO) :
📌 تعریف: الگوریتم جستجوی باکتریایی (Bacterial Foraging Optimization - BFO) توسط پاسینو (Passino) در سال ۲۰۰۲ معرفی شد. این الگوریتم از رفتار جستجوی غذای باکتری E. coli (اشریشیا کلی) در هنگام یافتن مواد مغذی الهام گرفته است. باکتری ها برای یافتن غذا و دوری از مواد مضر، حرکات و رفتارهای خاصی از خود نشان می دهند.
🦠 رفتارهای اصلی باکتری در BFO
شیمی تاکسی (Chemotaxis): حرکت باکتری به سمت مواد جذب کننده (گرادیان مثبت) و دوری از مواد دفع کننده (گرادیان منفی). این حرکت شامل دو نوع است: شنای مستقیم (Swim) و چرخش (Tumble).
تولید مثل (Reproduction): باکتری های سالم تر (با برازندگی بهتر) تقسیم می شوند و باکتری های ضعیف تر حذف می شوند.
حذف و پراکندگی (Elimination & Dispersal): با احتمال کم، برخی باکتری ها حذف شده و باکتری های جدید به طور تصادفی در فضای جستجو ظاهر می شوند تا از گیر افتادن در بهینه محلی جلوگیری شود.
📐 فرمول بندی حرکت شیمی تاکسی
موقعیت یک باکتری در مرحله شیمی تاکسی به صورت زیر به روز می شود:
\[ \theta^i(j+1,k,l) = \theta^i(j,k,l) + C(i) \frac{\Delta(i)}{\sqrt{\Delta^T(i)\Delta(i)}} \]که
\[ \theta^i \]موقعیت باکتری i،
\[ C(i) \]اندازه گام، و
\[ \Delta(i) \]یک بردار تصادفی در جهت چرخش است. j شماره گام شیمی تاکسی، k شماره گام تولید مثل، و l شماره گام حذف و پراکندگی است.
🔧 مراحل الگوریتم
مقداردهی اولیه پارامترها و جمعیت باکتری ها.
حلقه حذف و پراکندگی.
حلقه تولید مثل.
حلقه شیمی تاکسی:
محاسبه تابع هزینه برای هر باکتری.
چرخش (Tumble) و تولید جهت جدید.
شنا (Swim) تا حداکثر تعداد گام مجاز یا کاهش هزینه.
پس از پایان شیمی تاکسی، تولید مثل انجام می شود.
پس از پایان تولید مثل، حذف و پراکندگی انجام می شود.