وقتی جوجه فاختهها از تخم در میآیند تخمهای خود پرنده میزبان را از لانه بیرون پرت میکنند و اگر جوجههای پرنده میزبان زودتر از تخم خارج شده باشند جوجه فاخته بیشترین مقدار غذا را که پرنده میزبان میآورد خورده (بدن ۳ برابر بزرگتری که دارد بقیه جوجه ها را کنار می گذارد) و پس از چند روز جوجه های خود پرنده میزبان از گرسنگی میمیرند و فقط جوجه فاخته زنده میماند.
شکل ۳-۹: شعاع تخمگذاری فاخته ها، ستاره قرمز در مرکز داره سکونت فعلی فاخته ها با ۵ تخم میباشد. ستاره های صورتی آشیانه های جدید تخمها میباشد]۳۰[.
۳-۸-۲-۳- مهاجرت فاختهها
پس از بزرگ شدن فاختهها مدتی در آن محیط زندگی میکنند ودر زمان تخمگذاری به habitatهای بهتر که در آنجا شانس زنده ماندن بیشتر است، مهاجرت میکنند. پس از تشکیل گروههای فاخته در مناطق مختلف زیست کلی (فضای جستجوی مساله) گروه دارای بهترین موقعیت به عنوان نقطه هدف برای سایر فاختهها جهت مهاجرت انتخاب میشود.
هنگامی که فاختههای بالغ در اقصی نقاط محیط زیست زندگی میکنند، تشخیص اینکه هر فاخته به کدام گروه تعلق دارد کار سختی است. برای حل این مشکل،گروهبندی فاختهها توسط روش کلاس بندی k-means انجام میشود (یک k بین ۳ تا ۵ معمولا کفایت می کند). حال که گروههای فاخته تشکیل شدند سود میانگین گروه محاسبه میشود تا بهینگی نسبی محل زیست آن گروه به دست آید سپس گروهی که دارای سود (بهینگی) باشد به عنوان گروه هدف انتخاب و در آن گروه موقعیت بهترین فاخته را به دست آورده میشود و همه گروهها به سمت آن فاخته مهاجرت میکنند. شکل (۳-۹)مهاجرت فاختهها را نشان میدهد.
شکل ۳-۱۰ : مهاجرت فاختهها به سمت Habitat هدف ]۳۰[.
گام مهاجرت به سمت نقطه هدف فاختهها تمام مسیر را به سمت محل هدف طی نمیکنند. انها فقط قسمتی از مسیر را طی کرده و در آن مسیر هم انحرافی دارند. این نحوه حرکت را در شکل ۳ به وضوح مشاهده میشود. همان طور که از شکل معلوم است هر فاخته فقط λ% از کل مسیر را به سمت هدف ایده ال فعلی را طی میکند و یک انحراف ϕ رادیان نیز دارد. این دو پارامتر به فاختهها کمک میکند تا محیط بیشتری را جستجو کند. λ عددی تصادفی بین ۰ و ۱ست و ϕ عددی بین می باشد. وقتی تمام فاختهها به سمت نقطه هدف مهاجرت کردند و نقاط سکونت جدید هر کدام مشخص شد، هر فاخته صاحب تعدادی تخم میشود. با توجه به تعداد تخم هر فاخته یک ELR برای آن مشخص میشود و سپس تخم گذاری شروع میشود. فرمول عملگر مهاجرت در الگوریتم بهینهسازی فاخته به صورت رابطه زیر است.
(۳-۱۷)
F پارامتری است که باعث انحراف میشود.
۳-۸-۲-۴- از بین بردن فاختههای قرار گرفته در مناطق نامناسب
با توجه به این واقعیت که همیشه تعادلی بین جمعیت پرندگان وجود دارد عددی مثل Nmax حداکثر تعداد فاختههایی را که می توانند در یک محیط زندگی کنند کنترل و محدود میکند. این تعادل به دلیل محدودیتهای غذایی، شکار شدن توسط شکارچیان و نیز عدم امکان پیدا کردن لانههای مناسب برای تخمها وجود دارد.
۳-۸-۲-۵- همگرایی الگوریتم
پس از چند تکرار تمام جمعیت فاختهها به یک نقطه بهینه با حداکثر شباهت تخمها به تخمهای پرندگان میزبان و همچنین به محل بیشترین منابع غذایی میرسند. این محل بیشترین سود کلی را خواهد داشت و در آن کمترین تعداد تخمها از بین خواهند رفت. بنابراین گامهای اصلی COA را میتوان به صورت زیر بیان نمود:
گام۱: مکانهای سکونت فعلی فاخته ها را به صورت تصادفی مشخص نمایید.
گام ۲: تعدادی تخمها را به هر فاخته اختصاص دهید.
گام ۳: شعاع تخمگذاری هر فاخته را تعیین نمایید.
گام ۴: فاختهها در لانههای میزبانانی که در شعاع تخمگذاری آن ها قرار دارند، تخمگذاری می کنند.
گام ۵: تخمهایی که توسط پرندگان میزبان شناسایی می شوند از بین میروند.
گام ۶: محل سکونت فاختههای جدید را ارزیابی نمایید.
گام ۷: ماکزیمم تعداد فاختههایی که در هر مکان امکان زندگی دارند را مشخص نمایید و آنهایی را که در مکانهای نامناسب هستند از بین ببرید.
گام ۸: فاختهها را با بهره گرفتن از روش k-means خوشهبندی و بهترین گروه فاخته را به عنوان محل سکونت هدف مشخص نمایید.
گام ۹: جمعیت جدید فاختهها به سمت مکان هدف حرکت میکند.
گام ۱۰: اگر شرط توقف برقرار گردیده توقف، در غیر این صورت به گام ۲ بروید]۳۰[.
۳-۹- گسستهسازی دودویی الگوریتم فاخته
در این بخش جهت تبدیل COA پیوسته به فضای دودویی، عملگر مهاجرت COA به صورت زیر بازتعریف می شود. XGoal و XCurrenPostion به ترتیب نقطه هدف جاری و موقعیت جاری یک فاخته در جمعیت میباشد. ما موقعیت بعدی فاخته (XNextHabitat) را به شکل زیر محاسبه میکنیم:
(۳-۱۸)
برای این که موقعیت جدید برای فضای دودویی مناسب باشد از تابع سیگموید[۲۱] رابطه زیر برای نگاشت XNextHabitat به محدوده ۰ و ۱ به شکل زیر استفاده کردیم.
(۳-۱۹)
سپس بر اساس رابطه زیر مقدار موقعیت به مقدار دودویی۰ و ۱ تغییر مییابد (rand یک عدد تصادفی یکنواخت میباشد)]۱۹[.
(۳-۲۰)
۳-۱۰- ماشین بردار پشتیبان(SVM[22])
ماشین بردار پشتیبان از جمله طبقهبندهای با سرپرست محسوب میشود که پیشبینی میکند هر نمونه باید درکدام گروه قرار میگیرد. این روش برای تفکیک دو گروه از یکدیگر، از یک ابر صفحه استفاده می کند، بطوریکه این ابرصفحه از هر طرف بیشترین فاصله را تا هر دو گروه داشته باشد. نزدیکترین نمونهها آموزشی به این صفحه طبق شکل (۳-۱۱)، بردارهای پشتیبان نام دارند. در واقع این نمونهها به نوعی مرز گروه خودی را مشخص میکنند[۲۷]. این روش میتواند برای جداسازی گروهها از یکدیگر از کرنلهای متفاوتی مانند کرنل گوسی و کرنل نمایی استفاده کند. کرنل گوسی در زیر آورده شده است:
(۳-۲۱)
فرض کنید برای طبقهبندی دادهای با m نمونه آموزش با برچسب گروه .
شکل ۳-۱۱: تصویری از طبقهبند ماشین بردار پشتیبان که نمونهها را توسط ابرصفحه به دو گروه تقسیم کرده است. صفحات پشتیبان بصورت خطچین مشخص شدند و فاصله دو صفحه از هم به اندازه میباشد.
هدف یافتن تابع تمایز خطی به شکل است که بر اساس نگاشت فضای ورودی، دو گروه را از هم تفکیک کند و Φ عملگر نگاشت خطی است. برای تولید ابر صفحه بهینه با بیشترین حاشیه ممکن و کمترین خطا جهت در آموزش ماشین بردار پشتیبان خطی، مسئله زیر تعریف میشود:
(۳-۲۲)
(۳-۲۳)
با توجه رعایت افزایش حاشیه ابرصفحه برای کمترین خطا در یادگیری شبکه توسط داده، متغیر C در رابطه فوق لحاظ شده است که مصالحهای بین افزایش حاشیه و کمترین خطا در یادگیری شبکه ایجاد کند، بدین منظور زمانی که نگاشت خطی نتواند مانع روی هم افتادگی نمونهها شود، ضریب C طوری تعیین میشود که افزایش حاشیه ابر صفحه توام با کاهش خطای یادگیری شبکه گردد]۲۸[. حال رابطه زیر با بهره گرفتن از ضرایب لاگرانژ قابل حل است:
(۳-۲۴)
(۳-۲۵)
۳-۱۱- الگوریتم بهینهسازی ذرات(PSO[23])
بهینهسازی ازدحام ذرات (PSO) توسط ]۳۲[ در سال ۱۹۹۵ توسعه داده شد. در PSO، یک پرنده از یک گله به عنوان یک ذره نشان داده میشود. موقعیت هر ذره را می توان به عنوان راه حل مناسب به یک مساله بهینهسازی در نظر گرفت. در این الگوریتم هر عضو گروه که یک ذره نامیده میشود دارای یک مقدار شایستگی است که در تابع هدف تعین میشود. هنگامی که هر ذره برای موقعیت جدیدی در فضای جستجو حرکت میکند،بهترین اطلاعات خصوصی را حفظ می کند (Pbest). علاوه بر این به خاطر سپردن اطلاعات خاص، هر ذره با سایر ذرات مبادله و بهترین را حفظ می کند (Gbest). سپس، هر ذره به سرعت خود را اصلاح و جهت تطابق با Pbest آن و Gbest به سمت مقدار بهینه حرکت و راه حل بهینه را پیدا میکند. با توجه به مزایای استفاده از نرم افزار ساده و آسان، نیاز کمتر تنظیم پارامتر، و عملکرد مناسب و معقول، PSO در بسیاری از زمینهها به تصویب رسیده شد، مانند TSP، flowshop ، VRP، وظیفه تخصیص منابع در شبکه، زمانبندی ویژه و غیره. برای شروع یک الگوریتم PSO، سرعت اولیه و موقعیت هر ذره در یک گروه از ذرات به طور تصادفی تعیین میشود. سپس، روند در در حال تکامل تحول به شرح زیر است:
موقعیت اولیه و سرعت هر ذره در بعد n ام به صورت تصادفی تعیین میشود.
ارزش تناسب از هر ذره با توجه به تابع هدف تعریف شده، ارزیابی شده است.
اگر مقدار سازگاری از مکان فعلی هر ذره نسبت به Pbest خود بهتر است، Pbest به موقعیت فعلی تنظیم شده است.
مقدار سازگاری ذره با Gbest آن مقایسه شده است. اگر آن بهتر است، Gbest به روزرسانی شده است.
معادله زیر همانطور که در زیر نشان داده شده است برای به روزرسانی سرعت و موقعیت هر ذره اعمال میشود.
(۳-۲۶)
(۳-۲۷)
Vid مولفه سرعت ذره i ام در بعد DTH است.