تخفیف ویژه زمستانه پی استور

تا 60 درصد تخفیف

شامل پروژه‌ها و دوره‌های آموزشی
روز
ساعت
دقیقه
ثانیه
آخرین فرصت‌ها

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

الگوریتم پنگوئن های امپراتور — آموزش رایگان ۰ تا ۱۰۰ الگوریتم EPC

الگوریتم پنگوئن های امپراتور – Emperor Penguins Colony
در این مقاله آموزشی، به توضیح و تشریح الگوریتم پنگوئن های امپراتور یا Emperor Penguins Colony خواهیم پرداخت که از جمله کاربردی ترین الگوریتم های فراابتکاری بوده و با نام اختصاری الگوریتم EPC به عنوان یک الگوریتم بهینه سازی محبوب شناخته شده است. این الگوریتم در سال 2018 توسط Sasan Harifi ابداع و در ژورنال Evolutionary Intelligence پایگاه علمی Springer به چاپ رسیده است.

فهرست مطالب

الگوریتم متاهیوریستیک پنگوئن های امپراتور، با الهام از طبیعت و با استفاده از دو فاکتور گرمای بدن پنگوئن‌ها و نحوه حرکت شان در کلونی مربوط به هر کدام، یک یا چند راه‌حل مناسب برای مسئله بهینه‌سازی، ارائه می‌دهد. برای دانلود مقاله اصلی می‌توانید روی این لینک (+) کلیک کنید. اگر شما هم مشتاق هستید با نحوه عملکرد این الگوریتم آشنا شوید؛ در ادامه با ما همراه باشید.

مقدمه مقاله الگوریتم پنگوئن های امپراتور

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

ورودی‌ها، شامل متغیرهایی از جمله: تابع هزینه، تابع هدف، تابع تناسب، و خروجی‌ها شامل هزینه و تناسب است و از آن‌جایی که نتایج حاصله به طور مستقیم با پارامترهای موجود، در ارتباط هستند؛ بنابراین بیشتر الگوریتم های متاهیوریستیک، نمی‌توانند به طور همزمان، دقت و سرعت همگرایی مناسب را برای همه مسائل بهینه سازی ارائه دهند. لذا درنهایت، الگوریتم های بهینه سازی به عنوان راهنما عمل کرده و این مدیر پروژه است که تصمیم می‌گیرد از کدام الگوریتم موجود، برای حل مسئله خود استفاده کند.

امروزه دانشمندان و محققان علوم کامپیوتر با تکیه بر این اصل که طبیعت به عنوان مجموعه‌ای کامل از انواع مفاهیم، ​​مکانیسم‌ها و قواعد طراحی سیستم‌های محاسباتی مصنوعی در دسترس است؛ با الهام گرفتن از آن، بیشتر الگوریتم های بهینه سازی را برای مقابله با مسائل پیچیده محاسباتی، ارائه داده‌اند. در واقع الگوریتم EPC یا همان الگوریتم پنگوئن های امپراتور هم در این دسته قرار می‌گیرد و از آن برای یافتن راه حل مؤثر و کارآمد در حل مسئله پیچیده، استفاده می‌کنند.

نگاهی به زندگی پنگوئن های امپراتور

آیا تا به حال، به نحوه زیست این موجودات بامزه دقت کرده‌اید؟ آیا می‌دانستید که پنگوئن‌ها، گونه‌ای از پرندگان آبزی هستند که نمی‌توانند پرواز کنند؟ دوستان عزیز، زادگاه اصلی پنگوئن‌ها، نیمکره جنوبی کره زمین است و گونه اصلی آن‌ها در جزیره گالاپاگوس بر روی خط استوا ساکن هستند. البته لازم به ذکر است که تاکنون ۲۰ گونه از پنگوئن‌ها شناخته شده‌اند که بزرگ‌ترین و برترین گونه، همین گونه پنگوئن های امپراتور است.

اگر از خودتان می‌پرسید که چرا این نژاد، به نام امپراتور شهرت یافته است؛ باید به اطلاعتان برسانم که این سلاطین، قدی بالغ بر ۱۳۰ سانتی متر دارند و ازجمله بهترین غواصان هستند. جثه بزرگشان آن‌ها را به تنها مهره دارانی تبدیل کرده است که در شرایط سخت زیستی قطب جنوب و تا دمای ۴۰ درجه زیر صفر رشد یافته یا حتی زندگی می‌کنند.

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

پنگوئن های امپراتور

رفتار امپراتورها در اجتماع

جانم برایتان بگوید که این موجودات، بسیار اجتماعی هستند. به نحوی که در سه سالگی بالغ شده و می‌توانند تشکیل خانواده دهند. نکته جالب زندگی پنگوئن‌ها این است کل زحمت نگهداری از بچه‌ها، بر دوش مادر خانواده نیست. به این ترتیب که پنگوئن ماده در ابتدا یک تخم می‌گذارد؛ سپس به دلیل پایان ذخایر تغذیه و خستگی از مراحل تخم گذاری، آن را تحویل پنگوئن نر داده؛ در حدود دو ماه برای تغذیه و جبران مافات، به اعماق دریا سفر می‌کند. نرها هم برای گرم نگه داشتن تخم، کنار یکدیگر جمع می‌شوند. حدود چهار ماه طول می‌کشد تا جوجه پنگوئن از تخم سر در بیاورد.

شکل گیری کلونی پنگوئن های امپراتور

آیا می‌دانستید که حدود ۹۸ درصد از پرندگان دریایی در کلونی خود رشد می‌کنند؟ یعنی درواقع، برخلاف پرندگان خشکی، در محل زیست پرندگان دریایی چیزی به نام لانه وجود ندارد. توده‌های عظیمی از پنگوئن‌ها، کنار هم جمع می‌شوند تا یکدیگر را گرم نگه دارند. به نحوی که در کم‌تر از دو ساعت دمای بدن هر کدام از آن‌ها به ۳۷ درجه سانتی گراد هم می‌تواند برسد. این توده عظیم Huddle نام دارد و برای توصیف تراکم آن، می‌توان گفت که این توده از صدها پنگوئن تشکیل شده و شامل ده پرنده در یک متر مربع می‌شود. در تصویر زیر، نمونه‌ای از کلونی پنگوئن های امپراتور را مشاهده می‌کنید.

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

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

قبل از این که به تشریح الگوریتم پنگوئن های امپراتور بپردازیم؛ بهتر است بدانید که زمانی که پنگوئن‌ها یک کلونی را تشکیل می‌دهند؛ تمرکز گرما در مرکز Huddle شکل می‌گیرد و تک تک پنگوئن‌ها به صورت غریزی، برای استفاده از این گرما به صورت مارپیچی به سمت مرکز Huddle حرکت می‌کنند تا برحسب نیازشان از آن استفاده کنند. شکل زیر، این حرکت مارپیچ مانند که در عین حال هماهنگ است را نشان می‌دهد.

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

الگوریتم پنگوئن های امپراتور

فرض اولیه در الگوریتم پنگوئن های امپراطور، این است که پنگوئن‌ها در سراسر محیط مورد بررسی، پراکنده شده باشند. بنابراین در همین ابتدا و قبل از پیچیده شدن مراحل، ابتدا بایستی موقعیت هر پنگوئن نسبت به پنگوئن دیگر سنجیده شود. در نظر داشته باشید که یک پنگوئن، معمولاً به سمت پنگوئنی می‌رود که هزینه جذب پایینی دارد. بنابراین فاکتور دوم مورد سنجش هم، هزینه جذب هر پنگوئن است که با توجه به شدت گرما و میزان مسافت، مورد سنجش قرار می‌گیرد.

طی این الگوریتم، در هر مرحله از جذب، در واقع یک راه حل جدید برای مسئله مورد بررسی، ارزیابی شده و شدت گرما، بروزرسانی می‌گردد. در ادامه، تمام راه حل‌ها مرتب سازی شده و بهترین‌‎شان انتخاب می‌گردد. البته در این میان، یک نسبت میرایی هم برای هر پنگوئن ارزیابی می‌شود که عواملی همچون حرکت هر پنگوئن، تابش گرما و جذب حرارت در میزان آن، تأثیر می‌گذارد. هر چه نسبت میرایی کم‌تر باشد؛ آن راه حل مناسب‌تر است. در ادامه، الگوریتم EPC آورده شده است.

-----------------------------------------------------------------------
Algorithm 1: Pseudo code of the Emperor Penguins Colony (EPC) algorithm.
-----------------------------------------------------------------------

generate initial population array of EPs (Colony Size);
generate position of each EP;
generate cost of each EP;
determine initial heat absorption coefficient;
for I t=1to MaxIteration do
 generate repeat copies of population array;
 for i=1to n population do
    for j=1to n population do
       if costj < costi then
          calculate heat radiation (Eq. 6);
          calculate attractiveness (Eq .11);
          calculate coordinated spiral movement (Eq. 18);
          determine new position (Eq. 19);
          evaluate new solutions;
       end
    end
 end
 sort and find best solution;
 update heat radiation (decrease);
 update mutation coefficient (decrease);
 update heat absorption coefficient (increase);
end

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

دوستان و همراهان گرامی مجموعه پی استور، برای درک کامل الگوریتم پنگوئن های امپراتور، تمام مراحل آن را توضیح خواهیم داد تا در یافتن پاسخ بهینه مسئله مورد بررسی تان دچار مشکل نشوید.

محاسبه مساحت سطح بدن هر پنگوئن

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

محاسبه مساحت سطح بدن هر پنگوئن

برای فهم بیشتر آن‌چه گفته شد؛ برای مدل ساده از یک پنگوئن امپراتور که در سرما ایستاده است؛ هر کدام از اندازه‌های مورد نیاز را محاسبه کرده و در شکل زیر آورده‌ایم.

مساحت سطح بدن هر پنگوئن

محاسبه انتقال حرارت در الگوریتم پنگوئن های امپراتور

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

در الگوریتم EPC از معیار انتقال حرارت توسط تابش استفاده می‌‎شود و می‌توان نتیجه گرفت که تابش ملاک جذابیت پنگوئن هاست. با فرض این که پنگوئن با محیط خود در یک تعادل حرارتی قرار دارد؛ برای محاسبه انتقال حرارت کلی، باید حرارت منتقل شده از هر ناحیه بدن پنگوئن را به شرح زیر داشته باشیم.

فرمول 1 محاسبه انتقال حرارت

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

فرمول 2 محاسبه انتقال حرارت

شدت گرما و جذابیت پنگوئن

یک نکته جالب در علم فیزیک وجود دارد که می‌گوید؛ در انتقال حرارت توسط تابش، فوتون‌ها حامل انرژی هستند. فوتون را نه فقط به وسیله سطوح انرژی الکترونیکی بلکه می‌توان با افزایش سطوح انرژی کوانتیزه چرخشی یا ارتعاشی، جذب کرد. منابع فوتون متمرکز عبارتند از: منابع سطحی، منابع نقطه‌ای و منابع خطی که در منابع سطحی، اگر منبع I0 باشد؛ معادله دریافت فوتون‌های حرارتی در I به شرح زیر خواهد بود.

شدت گرما و جذابیت پنگوئن

به همین ترتیب، در منابع نقطه‌ای، اگر منبع I0 باشد؛ در فاصله r، شدت گرمای دریافتی در I به شکل زیر خواهد بود و از فرمول ذیل محاسبه خواهد گردید.

شدت گرمای دریافتی

و اما دوستان عزیز، با توجه به فاصله بین پنگوئن‌ها و نوع فیزیک بدن آن‌ها، در الگوریتم EPC، منبع گرما خطی در نظر گرفته می‌شود. اگر منبع گرما خطی باشد؛ با مقدار اولیه I0 در فاصله r، که به صورت عمودی به I تابش می‌کند؛ معادله شدت گرمای دریافتی در I به صورت زیر خواهد بود.

الگوریتم EPC

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

ضریب تضعیف در الگوریتم پنگوئن

ما تمام این محاسبات را انجام دادیم تا در نهایت به فرمول جذابیت Q برسیم که در ادامه، آورده شده است.

فرمول جذابیت Q در الگوریتم پنگوئن

محاسبات مربوط به نحوه حرکت پنگوئن‌ها در داخل کلونی

همان طور که در کارتون‌های دوران کودکی، بارها مشاهده کرده‌ایم؛ حرکت دسته جمعی پنگوئن‌ها به دور یکدیگر، در جهت عقربه‌های ساعت، حول یک مرکز ثابت انجام می‌شود. به شکل زیر، توجه کنید.

نحوه حرکت پنگوئن ها در داخل کلونی

همراهان گرامی، برای درک بیشتر این بخش از الگوریتم پنگوئن های امپراتور، فرض کنید دو پنگوئن به نام‌های i و j وجود دارند و مسیر حرکت همیشه از سمت پنگوئنی که به گرما نیاز دارد به سمت پنگوئنی که گرم‌تر است؛ شکل می‌گیرد. در اینجا، حرکت مارپیچی از i به j است؛ زیرا پنگوئن‌های j گرم‌تر هستند. به شکل زیر، توجه کنید.

حرکت مارپیچی در الگوریتم پنگوئن

دوستان عزیز، به بخش شیرین مقاله نزدیک می‌شویم. آیا می‌دانستید که مارپیچ لگاریتمی را می‌توان از پرتوهایی با فاصله مساوی با شروع از نقطه‌ای در امتداد یک پرتو و کشیدن عمود بر یک پرتو همسایه، تشکیل داد؟ بله! فرآیند به این ترتیب است که با نزدیک شدن تعداد پرتوها به بی نهایت، دنباله قطعات به مارپیچ لگاریتمی صاف نزدیک می‌شود.

در شکل بالا، مقدار جذابیت Q معیاری برای میزان مسافت طی شده، از پنگوئن i به سمت پنگوئن j است. جالب است که این موجود بامزه به دلیل جذابیت، به مقصد نمی‌رسد و پس از طی مسافت طولانی متوقف شده و نقطه توقف این پنگوئن، k یا موقعیت جدید پنگوئن i نامیده می‌شود. این فرآیند جابجایی تا جایی ادامه پیدا می‌کند که مسئله در بهینه‌ترین حالت خود قرار بگیرد و الگوریتم پنگوئن های امپراتور پایان یابد. به فرمول‌های زیر، توجه کنید.

فرمول های فرآیند جابجایی در الگوریتم پنگوئن های امپراتور

سخن آخر در رابطه با الگوریتم پنگوئن های امپراتور

همراهان عزیز مجموعه پی استور، خسته نباشید. در این پست آموزشی، سعی کردیم تا شما را با کلیات الگوریتم پنگوئن های امپراتور EPC آشنا کنیم. در پاورپوینت مربوط به آن، جزئیات مورد بررسی آورده شده است و هدف این است که با تکمیل آموخته‌هایتان، بتوانید این الگوریتم فراابتکاری را در حل مسائل پیچیده خود، به کار بگیرید. از این که نظرات و پیشنهادات خود را با ما در میان می‌گذارید؛ سپاس گزاریم. کامیاب باشید.

2 پاسخ

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

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