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

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

الگوریتم گرگ خاکستری چیست؟

الگوریتم گرگ خاکستری GWO یک الگوریتم متاهیورستیک یا فرا ابتکاری است است و برای مسائل بهینه سازی از آن استفاده می شود. که از ساختار سلسله مراتبی hieratical و رفتار اجتماعی گرگ های خاکستری در هنگام شکار کردن و حمله به طعمه الهام گرفته است. این الگوریتم مبتنی بر جمعیت Population-Based بوده، روال ساده ای دارد. در هر گله از گرگ ها برای شکار کردن ۴ درجه وجود دارد که مانند شکل زیر به صورت یک ساختار هرمی مدل می شود.

کد الگوریتم گرگ خاکستری در پایتون

 

  • گرگ های رهبر گروه alpha نامیده می شوند که می توانند مذکر یا مونث باشند. این گرگ ها بر گله تسلط دارند
  • گرگ های beta: کمک به گرگ های alpha در فرایند تصمیم گیری بوده و همچنین مستعد انتخاب شدن به جای آن ها هستند.
  • گرگ های delta: پایین تر از گرگ های beta و شامل گرگ های پیر، شکارچی ها و گرگ های مراقبت کننده از نوزادان
  • گرگ های omega: پایین ترین مرتبه در هرم سلسله مراتب که کمترین حق را نسبت به بقیه اعضای گروه دارند. بعد از همه غذا می خورند و در فرایند تصمیم گیری مشارکتی ندارند.

روش شکار در گرگ های خاکستری :

شامل ۳ مرحله اصلی است:

  1. مشاهده شکار، ردیابی و تعقیب آن (tracking and approaching)
  2. نزدیک شدن، احاطه کردن (حلقه زدن) به دور شکار و گمراه کردن آن تا زمانی که از حرکت باز بماند (Pursing and encircling)
  3. حمله به شکار (attacking)

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

بهینه سازی با استفاده از گرگ های alpha, beta و delta انجام می شود. یک گرگ به عنوان alpha هدایت کننده اصلی الگوریتم فرض می شود و یک گرگ beta و delta نیز مشارکت دارند و بقیه گرگ ها به عنوان دنبال کننده آن ها محسوب می شوند. گرگ های خاکستری توانایی تخمین موقعیت شکار را دارند. برای مدل سازی این فرایند مراحل زیر را ببینید:

در جستجوی اولیه هیچ ایده ای در مورد موقعیت شکار نداریم. فرض می شود گرگ های alpha, beta, delta دانش اول بهتری در خصوص موقعیت شکار (نقه بهینه جواب) دارند.

وقتی شکار توسط گرگ ها احاطه شده و از حرکت بایستد حمله به رهبری گرگ alpha شروع می شود. مدل کدن این فرایند با استفاده از کاهش بردار a انجام می شود. از آنجا که A برداری تصادفی در بازه [-۲a,2a] است، با کاهش a، بردار ضرایب A هم کاهش می یابد. اگر |A|<1 باشد، گرگ alpha به شکار ( و بقیه گرگ ها) نزدیک می شود و اگر |A|>1 گرگ از شکار ( و بقیه گرگ ها) دور خواهد شد. الگوریتم گرگ خاکستری الزام دارد که تمام گرگ ها موقعت خود را برحسب موقعیت گرگ های alpha, beta, delta آپدیت کنند.

مرحله جستجو

مرحله جستجو پروسه ای دقیقا عکس فرایند حمله دارد: در هنگام جستجو گرگ ها از یکدیگر دور می شوند تا شکار را ردیابی کنند (|A|>1) در حالی ک.ه پس از ردیابی شکار، گرگ ها در فاز حمله به یکدیگر نزدیک می شوند (|A|<1). به این پروسه واگرایی در جستجو – همگرایی در حمله می گویند.

Exploration: |A|>1

Exploitation: |A|<1

نقش بردار C: بردار C به عنوان موانع موجود در طبیعت که نزدیک شدن گرگ ها به شکار را کند می کنند در نظر گرفته می شود. بردار C به شکار وزن داده و ان را برای گرگ ها غیر قابل دستیابی تر می کند. این بردار برخلاف a به صورت خطی از ۲ تا صفر کاهش نمی یابد.

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

  • برازندگی کلیه جواب ها محاسبه شده و سه جواب برتر به عنوان alpha, beta, deltaتا پایان الگوریتم انتخاب می شوند.
  • در هر تکرار سه جواب برتر (گرگ های alpha, beta, delta) قابلیت تخمین موقعیت شکار را داشته و این کار را در هر iteration با استفاده از رابطه زیر انجام می دهند:

 

  • در هر تکرار بعد از تعیین موقعیت گرگ های alpha, beta, delta، آپدیت موقعیت بقیه جواب ها با تبعیت از آن ها انجام می شود.
  • در هر تکرار بردار a (و به تبع آن A) و C آپدیت می شوند.
  • در پایان تکرارها موقعیت گرگ alpha به عنوان نقطه بهینه معرفی می شود.

برای دریافت سورس کامل الگوریتم گرگ خاکستری در Python محصول لطفاً آن را خریداری کنید.

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

 


***  توجه  ***

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


درباره محصول

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

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

  1. programstore

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

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

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

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

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