در این بخش سورس کد الگوریتم جستجوی فاخته CS در پایتون Python قرار گرفته شده است. این سورس کد به زبان پایتون Python برای الگوریتم بهینه سازی فاخته Cuckoo Search Optimization Algorithm به اختصار CS نوشته شده است. این سورس کد بر اساس ساز و کار الگوریتم CS مسائل بهینه سازی را حل می کند. این الگوریتم، از زندگی خانواده‌ای از پرندگان به نام فاخته Cuckoo الهام گرفته شده است. الگوریتم بهینه سازی فاخته براساس شیوه زندگی بهینه و ویژگی‌های جالب این گونه، نظیر تخم‌گذاری و تولید مثل آن‌ها ساخته شده است. ویژگی شاخص این الگوریتم، شبیه‌سازی مفهوم بقا، مهاجرت برای یافتن منابع غذایی و انتخاب محیط بهینه برای زندگی است. جمعیت الگوریتم بهینه سازی فاخته را فاخته‌های بالغ و تخم‌های فاخته تشکیل می‌دهند. در ادامه مختصری از الگوریتم برای درک کد الگوریتم در پایتون بیان می شود.

الگوریتم جستجوی فاخته CS

الگوریتم جستجوی فاخته یک روش بهینه سازی سراسری براساس رفتار فاخته ها توسط Yang & Deb در سال 2009 ارائه شده است. الگوریتم بهینه سازی فاخته براساس شیوه زندگی بهینه و ویژگی‌های جالب این گونه، نظیر تخم‌گذاری و تولید مثل آن‌ها ساخته شده است. ویژگی شاخص این الگوریتم، شبیه‌سازی مفهوم بقا، مهاجرت برای یافتن منابع غذایی و انتخاب محیط بهینه برای زندگی است. جمعیت الگوریتم بهینه سازی فاخته را فاخته‌های بالغ و تخم‌های فاخته تشکیل می‌دهند. الگوریتم اصلی جستجوی فاخته CS بر اساس ایده های زیر است:

  • چگونه فاخته ها تخم های خود را در لانه های میزبان می گذارند.
  • چگونه در صورت عدم شناسایی و تخریب، تخم ها توسط میزبان به جوجه تبدیل می شوند.
  • چگونه می توان از الگوریتم جستجو براساس چنین طرحی برای یافتن بهینه سراسری یک تابع استفاده کرد.

در ابتدا، فاخته ماده لانه‌ای برای مراقبت از تخم‌هایش پیدا می‌کند. سپس یکی از تخم‌های موجود در لانه پرنده میزبان را با یکی از تخم‌های خود جا به جا می‌کند و با تخم پرنده میزبان از آن منطقه فرار می‌کند. فاخته ماده لانه‌های مختلفی را زیر نظر قرار می‌دهد تا گونه‌ای از پرندگان را پیدا کند که رنگ و الگوی تخم‌های گذاشته شده توسط آن‌ها شباهت زیادی به تخم‌های خودش داشته باشد.

این گونه فاخته‌ها به گونه ای تکامل یافته اند که یاد می‌گیرند از رنگ و الگوهای تخم های چند گونه میزبان انتخاب شده، تقلید کنند. تخم‌هایی بگذارند که رنگ و الگوی تخم‌های میزبان را با دقت بالایی همانندسازی کنند. با این حال، بسیاری از پرندگان میزبان نیز یاد می‌گیرند تا تخم‌های فاخته را از تخم‌های خود تشخیص دهند. در چنین حالتی، یا تخم‌های فاخته از لانه بیرون انداخته می‌شوند یا اینکه پرنده میزبان لانه خود را رها می‌کند و مجددا در مکان دیگری اقدام به لانه‌سازی می‌کنند.

الگوریتم جستجوی فاخته CS در پایتون

در این قسمت سورس کد الگوریتم جستجوی فاخته CS در پایتون آماده شده است این سورس کد شامل 2 فایل می باشد  که عبارتند از:

  • benchmarks.py: این فایل شامل 23 تابع هزینه یا Fitness از توابع benchmark می باشد و در اکثر مقالات علمی از این توابع محک برای ارزیابی الگوریتم ها استفاده می کنند.
  • CS.py: فایل اصلی برای اجرای الگوریتم جستجوی فاخته CS در پایتون می باشد که فراخوانی ها از طریق این فایل انجام و اجرا خواهد شد.

قسمت هایی از سورس کد توابع محک

 


***  توجه  ***

قبل از اجرای سورس کد الگوریتم در محیط پایتون حتماً از نصب پکیج های مورد استفاده در این سورس کد در Python خود مطمئن شوید پکیج های استفاده شده در این سورس کد numpy و  matplotlib می باشد که اولی پکیج مربوط به استفاده از آرایه ها و ماتریس ها در پایتون و دومی مربوط به عملیات های نموداری و Plot گرفتن می باشد. پیشنهاد ما نصب Anaconda  می باشد که هم پایتون و پکیج های مختلف و هم IDE های مختلفی را همراه با امکان آپدیتشان نصب می کند. ما این سورس کد را با IDE اسپایدر (Spyder (Python 3.8 نوشته و اجرا کرده ایم.


ویدئوی معرفی

درباره محصول

سورس کد الگوریتم جستجوی فاخته CS در پایتون Python عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در پایتون و با IDE اسپایدر (Spyder (Python 3.8 نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.

1 دیدگاه برای الگوریتم جستجوی فاخته CS در پایتون

  1. امین جلیل زاده

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *