جستجوی فاخته

جستجوی فاخته ، جستجوی کوکو یا جستجوی بلبل ، الگوریتم بهینه‌سازی است که زین–شی یانگ و سوآش دب در سال ۲۰۰۹ طراحی کردند. این الگوریتم برگرفته از ملزوم کردن تخم انگلی بعضی گونه‌های بلبل به قرار دادن تخم‌هایش در آشیانه پرندگان میزبان دیگر (از گونه‌های دیگر) است. بعضی پرندگان میزبان می‌توانند با فاخته‌های سربار و مزاحم جنگ و دعوا کنند.
برای مثال اگر پرنده میزبان تخم‌هایی را پیدا کند که متعلق به آن‌ها نیست، او این تخم‌های بیگانه را دور می‌اندازد یا آشیانه‌اش را به راحتی ترک می‌کند و جای دیگر آشیانه جدیدی می‌سازد. بعضی گونه‌های فاخته همچون تخم- انگلی دنیای جدید- تاپیرا(tapera) به همان شیوه‌ای شکل می‌گیرد که فاخته‌های مونث انگلی اغلب خیلی در تقلید در رنگ‌ها و الگوی تخم‌های تعدادی از گونه‌های انتخابی میزبان متخصص می‌شوند.
جستجوی فاخته بر اساس چنین شیوه پرورشی شکل می‌گیرد و بنابراین می‌تواند برای انواع مسایل بهینه‌سازی اجرا شود. به نظر می‌رسد این شیوه می‌توان برای الگوریتم‌های دیگر متاهو-یستیک به‌طور عملی انجام شود. از قرار معلوم الگوریتم مربوطه دیگر از هر نظر برای حوزه‌های مختلف اجرایی بازیافت فاخته (cuckoo hashing) نامیده می‌شود که راس موس پاگ و فلمینگ فریچ رودلدر در سال ۲۰۰۱ طراحی کرد.
مفاد
جستجوی فاخته
راه رفتن اختیاری و اندازه قدم
اجرا
جستجوی شرح داده شده فاخته
جستجوی بلبل چند منظوره
ترکیب سازی
اجرا
مرجع
جستجوی بلبل
جستجوی بلبل (cs) از نمونه‌های زیر استفاده می‌کند:
هر تخم در آشیانه نمایانگر یک راه حل است و تخم بلبل یک راه حل جدید را نشان می‌دهد. هدف آن است تا از راه حل‌های بهتر و جدید بالقوه (بلبل‌ها) استفاده شود تا راه حل نه خیلی ایده‌آلی در اشیانه‌ها جایگزین شود. در ساده‌ترین شکل، هر آشیانه یک تخم دارد. الگوریتم می‌تواند برای بیشتر موارد پیچیده‌ای طراحی شود که در آن هر آشیانه چند تخم دارد که یک سری از راه حل‌ها را نمایش می‌دهد.
Cs بر اساس سد قانونی تایید شده‌است:
هر بلبل یکی یکی بر روی یک تخم می‌خوابد و تخم خود را در آشیانه تصادفی انتخاب شده می‌اندازد
بهترین اشیانه‌ها با بهترین کیفیت تخم‌ها به تولید بعدی واگذار می‌شود.
تعداد اشینه‌های میزبان موجود ثابت است و پرنده میزبان با احتمال (اوه)  pa تخمی را پیدا می‌کند که بلبل بر روی آن خوابیده‌است.
یانگ و دب با کشف عملکرد تعدادی از بهترین اشیانه‌ها و کشف راه حل‌هایی با احتمال (اوه)  pa کشف کردند که دسته پرندگان لری (lery) جستجوی نحوه راه رفتن اتفاقی را در مقایسه با راه رفتن ساده تصادفی بهتر انجام می‌دهند.
کد
کد ساختگی می‌تواند به شکل زیر خلاصه بندی شود:
تابع هدف: f(x) و x=(x1 و x2و …و xd)و
:جمعیت اولیه n اشیانه میزبان را ایجاد کنید
(توقف ضابطه) یا (بیشترین مقدار تولید> t) در حالیکه
یک بلبل را به‌طور تصادفی انتخاب کنید (بگویید، I) و با اجرای دسته پرندگان لری راه حل آن را جایگزین کنید.
کیفیت و ثبات fi را ارزیابی کنید
و {(xi)f . fi و برای بیشترین)
و اشیانه‌ای را در بین n (بگویید، j) به‌طور تصادفی انتخاب کنید
و (fj
pa و pa سرعت کشف کردن است. یک مطلب cs استاندارد می‌تواند در این جا تعریف شود. نرم افراز شی- تنظیم شده اجرای جستجوی بلبل را با سانین طراحی کرد. به عبارت دیگر، الگوریتم تشریحی بلبل همچنین می‌تواند برای مسایل بهینه‌سازی غیرضروری انجام شود. اجرای منبع باز جستجوی بلبل شرح داده شده می‌تواند در این سایت http://code.google.com/p/modified-cs پیدا شود.
جستجوی بلبل شرح داده شده:
والتون و همکارانش با هدف سرعت بخشیدن به همگرایی، جستجوی بلبل استاندارد را توصیف کردند: توصیف شامل گام اضافی اطلاعاتی می‌شود که در بین تخم‌های بالایی مبادله می‌شود. نشان داده شده‌است که جستجوی بلبل شرح داده شده (mcs)، در اصطلاح سرعت‌های همگرایی، هنگام اجرای یک سری از توابع هدف benchmark بهینه‌سازی استاندارد، جستجوی بلبل استاندارد و الگوریتم‌های دیگر را اجرا می‌کند.
سپس، جستجوی بلبل شرح داده شده اجرا شده‌است تا شبکه بدون شکل و ساختاری را اصلاح کند که از هزینه محاسباتی به طرز قابل ملاحظه‌ای بکاهد. علاوه بر این، بهینه‌سازی دیگر جستجوی بلبل به اصطلاح جستجوی بلبل مقدار معینی با نتایج متقاعدکننده‌است.
جستجوی بلبل چند منظوره (mocs):
روش جستجوی بلبل چند منظوره (mocs) فرمول‌سازی شده‌است تا با مسایل بهینه‌سازی چند معیاری روبرو شود. این روش از وزن‌های تصادفی استفاده می‌کند تا اهداف چند گانه را با یک هدف تکی ترکیب کند. همچنین وزن‌ها به‌طور تصادفی متفاوت هستند. حوزه‌های پاریتو می‌توانند پیدا شوند بنابراین نقاط می‌توانند به‌طور معکوس در سراسر حوزه‌ها پراکنده شوند.
ترکیب‌سازی
اگر چه جستجوی بلبل یک الگوریتم بر پایه انبوه هوش است، اما هنوز می‌تواند با الگوریتم‌های دیگر بر پایه انبوه همچونpso ترکیب شود. برای مثال به نظر می‌رسد الگوریتم ترکیبی cs-pso نقص pso را اصلاح می‌کند.
موارد استفاده: موارد استفاده جستجوی بلبل در مسایل بهینه‌سازی مهندسی در بازده پیش‌بینی شده آن نشان داده شده‌است. برای مثال، هم برای طرح پزیدن و هم برای مسایل طرح پرتوهای یکی شده، cs در مقایسه با راه حل‌های مقاله، راه حل‌های بهتری کسب کرد. الگوریتم جستجوی بلبل گسسته پیش‌بینی شده به تازگی طراحی می‌شود تا مسئله زمان‌بندی پرستاری را حل کند.
روش محاسباتی موثر بر پایه جستجوی بلبل که برای انتشار اطلاعات در شبکه‌های حس‌گیری سیم فرض شده‌است. جستجوی بلبل بر پایه مقدار معین انجام شد تا مسایل کی تاپ سک (knapsack) را حل کند که تاثیر ان را نشان دهد. از جستجوی بلبل همچنین می‌توان استفاده کرد تا مسیرهای آزمایشی مستقل را برای آزمایش نرم‌افزار ساختاری و برای ایجاد اطلاعات آزمایشی به وجود آورد.
مقایسه مفهومی جستجوی بلبل با pso, dE, abc نشان می‌دهد که الگوریتم‌های cs و dE در مقایسه با pso و abc دقیق‌تری ارائه می‌دهند. مطالعه دقیق گسترده بر روی انواع مسایل بهینه‌سازی ساختاری نشان می‌دهد جستجوی بلبل در مقایسه با الگوریتم‌های دیگر نتایج بهتری به دست می‌دهد. علاوه بر این، رروش آزمایش نرم‌افزار جدید بر اساس جستجوی بلبل شکل گرفته‌است.
علاوه بر این جستجوی بلبل به خصوص برای حل مسایل بزرگ مقیاس مناسب است. همان‌طور که در مطالعه اخیر نشان داده شده‌است جستجوی بلبل اجرا شده استتا شبکه‌های عصبی با عملکرد اصلاح شده‌ای پرورش یابند. علاوه بر این cs به شکل موفقیت‌آمیز اجرا می‌شود تا الگوهای عصبی spiking شکل گیرند. همچنین از جستجوی بلبل استفاده می‌شود تا فرایند ترکیب خدماتا و طراحی گراف‌ها بهینه‌سازی شود.
جستجوی بلبل روش مطمئنی برای طرح سیستم کار گذاشته و بهینه‌سازی طرح از جمله مناسب‌ترین طرح ساختارهای فولادسازی است. مطالعات جدیدتر نشان می‌دهد که جستجوی بلبل می‌تواند در الگوریتم‌های دیگر در استفاده‌های نورد سازی، ساخت برنامه زمان‌بندی و موارد دیگر اجرا شود. یک استفاده جالب از جستجوی بلبل حل مسایل محدوده ارزش است.