کد الگوریتم وال یا نهنگ در پایتون Python

در این پست سورس کد الگوریتم وال یا نهنگ در پایتون Python قرار گرفته شده است. این سورس کد به زبان پایتون Python برای الگوریتم WOA نوشته شده است. این سورس کد بر اساس 12 توابع تست  الگوریتم وال یا نهنگ را اجرا می کند. برای اینکه بتوانید مسئله الگوریتم وال یا نهنگ را واضح و کامل درک کنید مقاله ای کامل با عنوان الگوریتم WOA در همین سایت آماده کرده ایم که می توانید مطالعه کنید و یا فیلم آموزش الگوریتم وال یا نهنگ را از همین سایت دانلود کنید. در ادامه مختصری از الگوریتم برای درک کد الگوریتم WOA در پایتون بیان می شود.

الگوریتم بهینه سازی وال ها یا نهنگ ها

یکی از بزرگترین پستانداران دنیا وال یا نهنگ است از بین 7 نهنگ دنیا معروف ترین آنها، نهنگ گوژپشت یا نهنگ کوهان دار است. یک وال گوژپشت بالغ تقریباً به اندازه یک اتوبوس مدرسه است. شکار مورد علاقه وال ها، کریل و گروه های ماهی کوچک است. جالب ترین نکته در مورد وال های گوژپشت روش خاص شکار آنها می باشد. این رفتار کاوش گرانه به نام روش تغذیه حباب تور (Bubble-net) شناخته می شود.

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

مراحل الگوریتم

الگوریتم وال WOA  در سه مرحله یا سه فاز انجام می شود که بصورت زیر است:

  1. شکار محاصره ای
  2. فاز بهره برداری : روش حمله به حباب تور
  3. مرحله اکتشاف: جستجوی شکار

شکار محاصره ای

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

فاز بهره برداری : روش حمله به حباب تور

جهت مدلسازی ریاضی رفتار حباب تور وال ها، ۲ روش طراحی شده است:

  1. مکانیزم محاصره ی انقباضی
  2. مکان در حال بروزرسانی مارپیچی

مرحله اکتشاف: جستجوی شکار

روشی مشابه بر مبنای واریاسیون بردار A را می توان جهت جستجوی شکار (اکتشاف) به کار گرفت. در حقیقت، نهنگ های گوژپشت، بر طبق مکان یکدیگر، به صورت تصادفی به جستجو می پردازند. بنابراین، بردار A را با مقادیر تصادفی بزرگتر از او یا کمتر از ۱- به کار گرفته شده تا عامل جستجو را مجبور به دور شدن از نهنگ مرجع کند. بر خلاف فاز استخراج، جهت بروزرسانی موقعیت عامل جستجو در فاز اکتشاف به جای استفاده از داده های بهترین عامل جستجو، از انتخاب تصادفی عامل بهره برده شده است. این مکانیزم به همراه ۱<A بر اکتشاف تاکید دارند و به الگوریتم WOA اجازه می دهند تا جستجویی سراسری را به انجام رساند.

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

 


***  توجه  ***

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


درباره محصول

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

 

1 دیدگاه برای کد الگوریتم وال در پایتون Python

  1. programstore

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

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

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

اطلاعات فروشنده