نامعلوم و مستتر در پوشش گیاهی ایجاد می‌کنند تا از شناسایی توسط شکارچیان جلوگیری نمایند.در این میان برخی از پرندگان خود را از دردسر هر گونه لانه سازی و وظایف والدین رهانیده و به نوعی زیرکی جهت پرورش جوجه های خود متوسل شدند. این پرندگان هرگز برای خود لانه نمی‌سازند و به جای آن تخم‌های خود را در داخل لانه سایر انواع پرندگان قرار داده و صبر می‌کنند تا آنها در کنار تخم‌های خود به تخم‌های این پرندگان نیز رسیدگی نمایند.
فاخته مشهورترین پرنده‌ای می‌باشد که به نوعی یک متخصص در زمینه فریبکاری است. فاخته به جای ساختن لانه و تخم‌گذاری در لانه خود،لانه یک پرنده را انتخاب کرده و یکی از فاخته‌ها لانه های انواع پرنده ها را آلوده به تخم خود می‌کنند و این کار را با دقت و با تقلید از رنگ و الگوی تخم‌های موجود در هر لانه انجام می‌دهند تا تخم‌های جدید لانه شبیه تخم های تخم‌های پرنده میزبان را از بین می‌برد و تخم خود را لابه لای تخم‌های آن پرنده قرار می‌دهدو از آن محل دور می‌شود. با این عمل نگهداری تخم خود را به پرنده میزبان واگذار می‌کند.کل این فرآیند به زحمت 10ثانیه طول می‌کشد.‌ فاخته لانه های انواع پرندگان را برای این کار انتخاب می‌کند و این کار را با دقت و با توجه به رنگ و الگوی تخم‌های هر لانه انجام می‌دهد تا تخم‌های جدید شبیه تخم‌های قبلی لانه باشند. هر‌گروه‌ از فاخته‌ها،روی میزبان خاصی تخصص می‌یابند.ثابت شده که هر گروه متخصص از فاخته ها به صورت ژنتیکی با گروه دیگر اختلاف دارند.در این بین برخی پرندگان میزبان تخم‌های فاخته را در لانه خود تشخیص داده و تخم‌های فاخته را بیرون می‌اندازند و برخی لانه را ترک کرده و یک لانه جدید می‌سازند.فاخته‌ها تقلید خود را در لانه میزبان بهبود می‌بخشند و پرندگان میزبان هم روش شناسایی تخم‌های بیگانه را یاد می‌گیرند.این تلاش و مبارزه برای بقا بین پرندگان مختلف و فاخته ها مدام و پیوسته است.
جوجه‌های فاخته زودتر از تخمهای پرنده میزبان بیرون می‌آیند و زودتر هم رشد می‌کنند. در اکثر موارد جوجه‌ی فاخته تخم‌ها و یا جوجه‌های پرنده میزبان را از لانه بیرون می‌اندازند. این مساله کاملا غریزی می باشد.
3-8-2- جزییات الگوریتم بهینه‌سازی فاخته
همانند سایر الگوریتم‌های تکاملی COA هم با جمعیت اولیه کار خود را شروع می‌کند و جمعیتی متشکل از فاخته‌ها. این جمعیت از فاخته‌ها تعدادی تخم دارند که آنها را در لانه تعدادی پرنده میزبان خواهند گذاشت. تعدادی از این تخم‌ها که شباهت بیشتری به تخم‌های پرنده میزبان دارند شانس بیشتری برای رشد و تبدیل شدن به فاخته بالغ را خواهند داشت. سایرتخم‌ها توسط پرنده میزبان شناسایی شده و از بین میروند. میزان تخم‌های رشد کرده، مفید بودن لانه را نشان میدهد. هر چه تخم‌های بیشتری در یک ناحیه قادر به زیست باشند و نجات یابند به همان اندازه سود (تمایل) بیشتری به آن منطقه اختصاص می‌یابد. بنابراین موقعیتی که در آن بیشترین تعداد تخم‌ها نجات یابند پارامتری خواهد بود که COA قصد بهینه سازی آن را دارد.

شکل 3-8 : فلوچارت الگوریتم بهینه سازی فاخته]30[.
فاخخته‌ها برای نجات تعداد بیشتری از تخم‌های خود دنبال بهترین منطقه می‌گردند.پس از انکه جوجه ها از تخم درامدندو بالغ شدند جوامع و گروه‌هایی تشکیل می‌دهند.هر گروه محل سکونت خود را برای زندگی دارد.تمام گروه‌ها به سمت بهترین منطقه مهاجرت می‌کنند و هر گروه نزدیک بهترین منطقه ساکن می شوند.شعاع تخم‌گذاری فاخته در بهترین منطقه فعلی با توجه به در نظر گرفتن تعداد تخم‌هایی که هر فاخته می‌گذارد و فاصله فاخته‌ها از منطقه بهینه فعلی شکل می‌گیرد.سپس فاخته ها در لانه های مو جود در این شعاع تخم‌گذاری می‌کنند.این فرآیند تا رسیدن به بهترین محل تخم‌گذاری ادامه می‌یابد.محل بهینه جایی است که بیشترین تعداد فاخته در آن مکان گرد می‌آیند.]30[.
3-8-2-1- تولید محل‌های سکونت اولیه فاخته‌ها (جمعیت اولیه‌ی جواب‌های کاندید)
برای حل یک مساله بهینه‌سازی لازم است تا مقادیر متغیر‌های مساله به فرم یک آرایه شکل گیرند. دراین آرایه‌ها با نام‌های کروموزوم و موقعیت ذرات مشخص می‌شوند. ولی در الگوریتم بهینه‌سازی فاخته این آرایه habitat یا محل سکونت نام دارند.
در یک مساله بهینه‌سازی N_var بعدی یک habitat آرایه 1*N_var خواهد بود که موقعیت فعلی زندگی فاخته‌ها را نشان می‌دهد. این آرایه به شکل زیر تعریف می‌شود:

میزان مناسب بودن (یا مقدار سود) در habitat فعلی با ارزیابی تابع سود f_p) )در habitat به دست می آید. بنابراین:

همانطور که دیده می شود COA الگوریتمی است که تابع سود را ماکزیمم می‌‌کند. برای استفاده از COA برای حل مسایل کمینه‌سازی کافی است یک علامت منفی در تابع هزینه ضرب کنیم. برای شروع الگوریتم بهینه‌سازی یک ماتریس habitat به سایز N_pop*N_var تولید می‌شود. سپس برای هر کدام از این habitatها تعدادی تصادفی تخم تخصیص می‌یابد. در طبیعت هر فاخته بین 5 تا 20 تخم می‌گذارد. این اعداد به عنوان حد بالا و پایین تخصیص تخم به هر فاخته در تکرار‌های مختلف استفاده می‌شود. دیگر عادت هر فاخته حقیقی این است که آن در یک دامنه مشخص تخم‌های خود را می‌گذارند که به آن حداکثر دامنه تخم‌گذاری (ELR) گفته می‌شود. در یک مساله بهینه‌سازی ‌هر متغیر دارای حد بالا 〖var〗_hi و حد پایین 〖var〗_low است که هر ELRبا استفاده از این حدود قابل تعریف خواهد بود. ELR متناسب است با تعداد کل تخم‌ها، تعداد تخم‌های فعلی فاخته و همچنین حد بالا و پایین متغیر‌های مساله. بنابراین ELR به صورت رابطه زیر تعریف می‌شود:

آلفا متغیری است که حداکثر مقدار ELR تنظیم می‌شود.
3-8-2-2- روش فاخته‌ها برای تخم‌گذاری
هر فاخته به صورت تصادفی تخم‌هایی را در لانه پرندگان میزبان که در ELR خود قرار دارد می‌گذارد (شکل 3-8). وقتی تمام فاخته‌ها تخم‌های خود را گذاشتند برخی از تخم‌ها که شباهت کمتری به پرنده میزبان دارند شناسایی شده و از لانه بیرون انداخته می‌شود. بنابراین بعد از هر تخم‌گذاری p% از تمام تخم ها (معمولا 10%)که مقدار تابع سود آنها کمتر است نابود می‌شوند. بقیه جوجه‌ها در لانه‌های میزبان تغذیه شده و رشد می‌کنند.
وقتی جوجه فاخته‌ها از تخم در می‌آیند تخم‌های خود پرنده میزبان را از لانه بیرون پرت می‌کنند و اگر جوجه‌های پرنده میزبان زودتر از تخم خارج شده باشند جوجه فاخته بیشترین مقدار غذا را که پرنده میزبان ‌‌‌ می‌آورد خورده (بدن 3 برابر بزرگتری که دارد بقیه جوجه ها را کنار می گذارد) و پس از چند روز جوجه های خود پرنده میزبان از گرسنگی می‌میرند و فقط جوجه فاخته زنده می‌ماند.

شکل 3-9: شعاع تخم‌گذاری فاخته ها، ستاره قرمز در مرکز داره سکونت فعلی فاخته ها با 5 تخم می‌باشد. ستاره های صورتی آشیانه های جدید تخم‌ها می‌باشد]30[.
3-8-2-3- مهاجرت فاخته‌ها
پس از بزرگ شدن فاخته‌ها مدتی در آن محیط زندگی می‌کنند ودر زمان تخم‌گذاری به habitatهای بهتر که در آنجا شانس زنده ماندن بیشتر است، مهاجرت می‌کنند. پس از تشکیل گروه‌های فاخته در مناطق مختلف زیست کلی (فضای جستجوی مساله) گروه دارای بهترین موقعیت به عنوان نقطه هدف برای سایر فاخته‌ها جهت مهاجرت انتخاب می‌شود.
هنگامی که فاخته‌های بالغ در اقصی نقاط محیط زیست زندگی می‌کنند، تشخیص اینکه هر فاخته به کدام گروه تعلق دارد کار سختی است. برای حل این مشکل،‌گروه‌بندی فاخته‌ها توسط روش کلاس بندی k-means انجام می‌شود (یک k بین 3 تا 5 معمولا کفایت می کند). حال که گروه‌های فاخته تشکیل شدند سود میانگین گروه محاسبه می‌شود تا بهینگی نسبی محل زیست آن گروه به دست آید سپس گروهی که دارای سود (بهینگی) باشد به عنوان گروه هدف انتخاب و در آن گروه موقعیت بهترین فاخته را به دست آورده می‌شود و همه‌ گروه‌ها به سمت آن فاخته مهاجرت می‌کنند. شکل (3-9)مهاجرت فاخته‌ها را نشان می‌دهد.

شکل 3-10 : مهاجرت فاخته‌ها به سمت Habitat هدف ]30[.
گام مهاجرت به سمت نقطه هدف فاخته‌ها تمام مسیر را به سمت محل هدف طی نمی‌کنند. انها فقط قسمتی از مسیر را‌ طی کرده و در آن مسیر هم انحرافی دارند.‌ این نحوه حرکت را در شکل 3 به وضوح مشاهده می‌شود. همان طور که از شکل معلوم است هر فاخته فقط λ% از کل مسیر را به سمت هدف ایده ال فعلی را طی می‌کند و یک انحراف ϕ رادیان نیز دارد. این دو پارامتر به فاخته‌ها کمک می‌کند تا محیط بیشتری را جستجو کند. λ عددی تصادفی بین 0 و 1ست و ϕ عددی بین (-π)/6,π/6 می باشد. وقتی تمام فاخته‌ها به سمت نقطه هدف مهاجرت کردند و نقاط سکونت جدید هر کدام مشخص شد، هر فاخته صاحب تعدادی تخم می‌شود. با توجه به تعداد تخم هر فاخته یک ELR برای آن مشخص می‌شود و سپس تخم گذاری شروع می‌شود. فرمول عملگر مهاجرت در الگوریتم بهینه‌سازی فاخته به صورت رابطه زیر است.

F پارامتری است که باعث انحراف می‌شود.
3-8-2-4- از بین بردن فاخته‌های قرار گرفته در مناطق نا‌مناسب
با توجه به این واقعیت که همیشه تعادلی بین جمعیت پرندگان وجود دارد عددی مثل Nmax حداکثر تعداد فاخته‌هایی را که می توانند در یک محیط زندگی کنند کنترل و محدود می‌کند. این تعادل به دلیل محدودیت‌های غذایی، شکار شدن توسط شکارچیان و نیز عدم امکان پیدا کردن لانه‌های مناسب برای تخم‌ها وجود دارد.
3-8-2-5- همگرایی الگوریتم
پس از چند تکرار تمام جمعیت فاخته‌ها به یک نقطه بهینه با حداکثر شباهت تخم‌ها به تخم‌های پرندگان میزبان و همچنین به محل بیشترین منابع غذایی می‌رسند. این محل بیشترین سود کلی را خواهد داشت و در آن کمترین تعداد تخم‌ها از بین خواهند رفت. بنابراین گام‌های اصلی COA را می‌توان به صورت زیر بیان نمود:
گام1: مکان‌های سکونت فعلی فاخته ها را به صورت تصادفی مشخص نمایید.
گام 2: تعدادی تخم‌ها را به هر فاخته اختصاص دهید.
گام 3: شعاع تخم‌گذاری هر فاخته را تعیین نمایید.
گام 4: فاخته‌ها در لانه‌های میزبانانی که در شعاع تخم‌گذاری آن ها قرار دارند، تخم‌گذاری می کنند.
گام 5: تخم‌هایی که توسط پرندگان میزبان شناسایی می شوند از بین می‌روند.
گام 6: محل سکونت فاخته‌های جدید را ارزیابی نمایید.
گام 7: ماکزیمم تعداد فاخته‌هایی که در هر مکان امکان زندگی دارند را مشخص نمایید و آنهایی را که در مکان‌های نامناسب هستند از بین ببرید.
گام 8: فاخته‌ها را با استفاده از روش k-means خوشه‌بندی و بهترین گروه فاخته را به عنوان محل سکونت هدف مشخص نمایید.
گام 9: جمعیت جدید فاخته‌ها به سمت مکان هدف حرکت می‌کند.
گام 10: اگر شرط توقف برقرار گردیده توقف، در غیر این صورت به گام 2 بروید]30[.

3-9- گسسته‌‌سازی دودویی الگوریتم فاخته
در این بخش جهت تبدیل COA پیوسته به فضای دودویی، عملگر مهاجرت COA به صورت زیر بازتعریف می شود. XGoal و XCurrenPostion به ترتیب نقطه هدف جاری و موقعیت جاری یک فاخته در جمعیت می‌باشد. ما موقعیت بعدی فاخته (XNextHabitat) را به شکل زیر محاسبه می‌کنیم:

برای این که موقعیت جدید برای فضای دودویی مناسب باشد از تابع سیگموید21 رابطه زیر برای نگاشت XNextHabitat به محدوده 0 و 1 به شکل زیر استفاده کردیم.

سپس بر اساس رابطه زیر مقدار موقعیت به مقدار دودویی0 و 1 تغییر می‌یابد (rand یک عدد تصادفی یکنواخت می‌باشد)]19[.

3-10- ماشین بردار پشتیبان(SVM22)
ماشین بردار پشتیبان از جمله طبقه‌بند‌های با سرپرست محسوب می‌شود که پیش‌بینی می‌کند هر نمونه باید درکدام گروه قرار می‌گیرد. این روش برای تفکیک دو گروه از یکدیگر، از یک ابر صفحه استفاده می کند، بطوریکه این ابرصفحه

دسته بندی : No category

دیدگاهتان را بنویسید