الگوریتم بهینه سازی گرگ خاکستری (GWO) فناوری جدید بهینه سازی فرا ابتکاری در زمینه برنامه نویسی می باشد. رفتار و عملکرد اصلی این الگوریتم تقلید شده از رفتار گرگ خاکستری در طبیعت برای شکار است. گرگ خاکستری (GWO) از نظر ساختار مدل با سایر الگوریتم های بهینه سازی متفاوت بوده و روش جستجو در مقیاس بزرگ است که بر سه نمونه بهینه تمرکز دارد. در حال حاضر الگوریتم گرگ خاکستری موضوع تحقیق بسیاری از محققان و برنامه نویسان است. در این مقاله به معرفی الگوریتم فرا ابتکاری گرگ خاکستری (GWO) خواهیم پرداخت، با ما همراه باشید.
در مسئله بهینه سازی که راه حل بهینه 0 است، عملکرد خوبی دارد ولی عملکرد آن در مسائل دیگر، مزیت یکسان داشته یا زیاد بد نیست. هنگامی که گرگ خاکستری (GWO) تابع بهینهسازی را حل میکند، هر چقدر جواب بهینه سازی تابع از صفر دورتر باشد، عملکرد آن بدتر است و این نقص در سایر الگوریتمهای بهینهسازی نیز ظاهر میشود. با مطالعه این نقص، تحلیل انجام شده و دلیل آن مشخص می شود.
فهرست مطالب
الگوریتم گرگ خاکستری
این الگوریتم طبق رفتار گرگ خاکستری که طعمههای بزرگ را شکار میکند و با کمک سایر گرگهای گروه این کار را انجام می دهد. این رفتار دو جنبه جالب دارد از جمله:
- سلسله مراتب اجتماعی
- استراتژی شکار
سلسله مراتب اجتماعی
گرگ خاکستری یک حیوان بسیار اجتماعی است که دارای یک سلسله مراتب اجتماعی پیچیده می باشد. سیستم سلسله مراتب که در آن گرگ ها بر اساس قدرت رتبه بندی می شوند، “dominance hierarchy” نامیده می شود و ۴ نوع از جمله آلفا، بتا، دلتا و امگا می باشند.
نحوه عملکرد گرگ خاکستری
گرگ خاکستری یک حیوان بسیار اجتماعی است که دارای یک سلسله مراتب اجتماعی پیچیده می باشد. سیستم سلسله مراتب که در آن گرگ ها بر اساس قدرت رتبه بندی می شوند، “dominance hierarchy” نامیده می شود و ۴ نوع از جمله آلفا، بتا، دلتا و امگا می باشند.
گرگ آلفا
گرگ نر و ماده آلفا در بالای سلسله مراتب قرار می گیرند و گروه گرگ ها را رهبری می کنند. سیستم سلسله مراتب گرگ ها فقط وابسته به تسلط و تهاجم نمی باشد، همچنین به اعضای آسیب پذیر دسته که نمی توانند شکار کنند کمک می کند.
گرگ بتا
گرگ نوع بتا از تصمیمات گرگ آلفا حمایت کرده و به حفظ نظم و انضباط در گله کمک می کند.
گرگ دلتا
گرگ دلتا از نظر رتبه پایین تر از گرگ بتا است، همچنین اغلب قوی هستند اما فاقد مهارت های رهبری یا اعتماد به نفس برای به عهده گرفتن مسئولیت های رهبری می باشند.
گرگ امگا
گرگ امگا قدرتی نداشته و گرگ های دیگر به سرعت او را تعقیب می کنند، همچنین مسئول مراقبت از گرگ های جوان است.
استراتژی شکار
علاوه بر سلسله مراتب اجتماعی، گرگ های خاکستری روش بسیار خاصی برای شکار استراتژی منحصر به فردی دارند که به صورت دسته جمعی شکار کرده و به صورت گروهی با هم کار می کنند تا طعمه را از گله جدا کنند، سپس یک یا دو گرگ به تعقیب و حمله به طعمه می پردازند در حالی که بقیه هر گرگ را تعقیب می کنند.
Muro et al و همکارانش استراتژی شکار دسته گرگ را در موارد زیر شرح داده اند:
- نزدیک شدن، دنبال کردن و تعقیب طعمه
- تعقیب، آزار و محاصره کردن در اطراف طعمه تا زمان متوقف شدن حرکت آن
- حمله به طعمه وقتی که طعمه خسته شود
برای مسئله بهینهسازی، هر مرحله سه نوع راهحل برتر را به ترتیب با آلفا، بتا و دلتا و سایر راهحلها را با امگا مشخص کنید به این معنی که فرآیند بهینهسازی با انجام دادن سه راهحل به بهترین شکل پیش میرود. همچنین در این مسئله طعمه راه حل بهینه سازی خواهد بود.
برای مثال بیشتر منطق ها از معادلات پیروی می کند، همانند معادله زیر:
برای درک بهتر این الگوریتم یک مثال عینی از رفتار دسته گرگ ها را ارائه می کنیم. همانند تصویر زیر در سمت چپ، حالت اولیه عوامل را می بینیم که طعمه یا همان بهینه سازی رنگ قرمز دارد. نزدیک ترین گرگ ها به طعمه (آلفا، بتا و دلتا) به ترتیب دارای رنگ های سبز، آبی و بنفش هستند و نقاط سیاه نشان دهنده گرگ های امگا می باشند.
در صورتی که موقعیت گرگهای امگا را طبق فرمولهای توضیح داده شده در بخش قبل بهروزرسانی کنید، میتوانید رفتار عوامل را در تصویر زیر در سمت راست مشاهده کنید. توجه داشته باشید که متغیر a که مبادله بین اکتشاف و بهره برداری را کنترل می کند و روی مقدار 2 تنظیم شده است:
اکنون در تصویر بعدی رفتار دسته جمعی گرگ ها را هنگامی که متغیر a روی مقدار 1 تنظیم شده است نشان می دهد:
در نهایت، در تصویر زیر، متغیر a برابر با 0 می باشد به این معنی که فرآیند بهینه سازی در حال تمام شدن است. اکنون میتوانید ببینید که چگونه گرگهای امگا بین سه گرگ جمع میشوند، در نقطهای که از نظر هندسی مرکز بین عوامل آلفا، بتا و دلتا را نشان میدهد:
دقت کنید که موقعیت عوامل آلفا، بتا و دلتا را فقط به دلیل مقایسه با امگاها به روز نکردید. در غیر این صورت موقعیت همه ی عامل ها را به روز کنید و بعد از آن آلفا و بتا و دلتای جدید را انتخاب کنید. در حال حاضر همگرایی عوامل گرگ خاکستری (GWO) ممکن است شبیه تصویر زیر باشد:
مزایای الگوریتم GWO
الگوریتم GWO می تواند عملکرد کارآمدی را در مقایسه با سایر بهینه سازهای تثبیت شده نشان دهد و مزایای بزرگ GWO این است که الگوریتم ساده، انعطاف پذیر، قوی و آسان برای پیاده سازی می باشد، همچنین پارامترهای کنترلی کمتری برای تنظیم وجود دارد.
معایب الگوریتم GWO
نسخه اصلی الگوریتم بهینه سازی گرگ خاکستری (GWO) دارای تعداد کمی از معایب از جمله دقت حل کم، توانایی جستجوی محلی بد و سرعت همگرایی کند می باشد.
برنامه های کاربردی
به طور کلی، می توانید از این الگوریتم برای حل بسیاری از مسائل مختلف بهینه سازی استفاده کنید. در ادامه فقط به برخی از آن ها اشاره کرده ایم که می توانند در یادگیری ماشینی مفید باشند.
تنظیم Hyperparameter
یکی از کاربردهای جالب ممکن است تنظیم Hyperparameter هر الگوریتم در یادگیری ماشینی باشد. هدف اصلی این تنظیم، یافتن مجموعه ای از مقادیر بهینه سازی برای پارامترها به منظور به حداکثر رساندن عملکرد یک الگوریتم معین است.
به عنوان مثال، با استفاده از GWO میتوانید فراپارامترهای Gradient Boosting را بهینه کنید. در آن صورت، میتوانید بردار موقعیت را بهگونهای بسازید که هر یک از مؤلفههای برداری برای یک مقدار دارای فراپارامتر خاصی باشد. پارامترها نباید مقدار عددی داشته باشند زیرا همیشه معیارهای خود را باید برای محاسبه فاصله بین عامل ها تعریف کنید.
انتخاب ویژگی
یکی دیگر از کاربردهای GWO که به یادگیری ماشینی مربوط می شود، انتخاب ویژگی است. این الگوریتم با ساخت مجموعهای از ویژگیهای ممکن و اصلاح دقیق هریک این ویژگیها بر اساس برخی معیارها تا زمانی که راهحل مورد نظر پیدا شود، کار میکند.
این رویکرد از نظر پیچیدگی زمانی بسیار ارزان بوده و پیچیدگی برای انتخاب بهترین زیرمجموعه ویژگیها به طور تصاعدی با هر متغیر اضافی افزایش مییابد. این به این دلیل است که تعداد کل زیر مجموعه های یک مجموعه با n عنصر است.
علاوه بر موارد گفته شده در بالا، GWO در حل مشکلات مختلفی موفق می باشد که در زیر آمده است:
- Traveling Salesman Problem (TSP)
- Minimum spanning tree problem
- Systems of nonlinear equations
- Power flow problem and other things
آذرسیس ارائه دهنده سرور مجازی و سرور اختصاصی با بهترین کیفیت و سخت افزار قدرتمند
نتیجه گیری
در این مقاله به معرفی الگوریتم فرا ابتکاری گرگ خاکستری (GWO) پرداختیم تا درک بهتری از نحوه عملکرد آن برای حل برخی از مسائل بهینهسازی ارائه کنید. این الگوریتم کاملاً مؤثر و به اندازه کافی ساده بوده و به راحتی قابل درک باشد، از همراهی شما سپاس گذاریم.
سوالات متداول
چرا باینری را به خاکستری تبدیل می کنیم؟
کدهای خاکستری در توالی معمولی اعداد باینری تولید شده توسط سخت افزار بسیار مفید هستند که ممکن است باعث ایجاد خطا یا ابهام در هنگام انتقال از یک عدد به عدد دیگر شود. بنابراین، کد خاکستری می تواند این مشکل را به راحتی برطرف کند زیرا تنها یک بیت مقدار خود را در طول هر انتقال بین دو عدد تغییر می دهد.
نمونه ای از کد GRAY چیست؟
برای مثال نمایش مقدار اعشاری “1” معمولاً “001” و “2” “010” خواهد بود. در کد خاکستری، این مقادیر به صورت “001” و “011” نمایش داده می شوند. به این ترتیب برای افزایش یک مقدار از 1 به 2، به جای دو بیت، فقط یک بیت برای تغییر نیاز دارد.
بابک زنجانی اصل
دنبال یه آموزش ویدیویی میگشتم ولی با بهترین مقاله رو بروی شدم