الگوریتم GPC با الهام از باستان، دارای ویژگیهای یک الگوریتم فراابتکاری خوب برای مقابله با بسیاری از مسائل است. این الگوریتم در سال ۲۰۲۰ توسط Sasan Harifi ابداع و در ژورنال Evolutionary Intelligence پایگاه علمی Springer به چاپ رسیده است. اگر شما هم مشتاق هستید با این ویژگیها آشنا شوید؛ در ادامه با ما همراه باشید.
مقدمه مقاله الگوریتم ساخت اهرام جیزه
دوستان عزیز، حتماً به خوبی، آگاه هستید که امروزه بسیاری از مسائل بهینه سازی (Optimization Problem) یا با روشهای دقیق، قابل حل نیستند و یا زمان طولانی برای حل آن مسائل نیاز است اما در این میان، الگوریتم های فراابتکاری توسط محققان علوم کامپیوتر “Computer Science” طراحی شدهاند تا بهترین راه حل (solution) را از بین تمام راه حلهای ممکن و صد البته در کوتاهترین زمان ممکن، بیابند و آن را در اختیار کاربر قرار دهند تا گره کور مسئله مورد بررسی خود را حل کند. در نظر داشته باشید که سرعت همگرایی (Speed in convergence)، دقت و توانایی حل مسئلههای کلان داده، از ویژگیهای یک الگوریتم فراابتکاری خوب است.
الگوریتم ساخت اهرام جیزه، یک الگوریتم فراابتکاری مبتنی بر جمعیت جدید و با الهام از منابع جدیدی است که با حرکات کارگران و هل دادن بلوکهای سنگی روی سطح شیب دار کنترل میشود. ازجمله کاربردهای وسیع الگوریتم GPC، میتوان به کاربرد آن در تقسیمبندی تصویر اشاره کرد. نتایج نشان میدهد که الگوریتم GPC، تاکنون در حل مسائل با ابعاد کلان، به ویژه در حوزه تقسیمبندی تصویر، موفق عمل کرده است.
انواع الگوریتم های فراابتکاری
جانم برایتان بگوید که همانند تمام روشها و الگوریتمهای ارائه شده توسط دانشمندان و محققان حوزه علوم طبیعی و کامپیوتری، الگوریتم های فراابتکاری هم انواع مختلفی دارند که در ادامه، به تشریح هر کدام خواهیم پرداخت.
مدلهای تکاملی فراابتکاری
مدل تکاملی یک مدل انتزاعی از تکامل بیولوژیکی و بر اساس تکامل جمعیت فرض میشود. مدلهای تکاملی، بر اساس مفهوم رقابت الگوبرداری شده و تکامل گونهها را شبیه سازی میکنند. در این نوع الگوریتم فراابتکاری، گروهی از جمعیت به عنوان کاندیدای راه حل در نظر گرفته شده و اغلب در معرض انتخاب طبیعی یا تنوع ژنتیکی قرار می گیرند اما تک جوابه نیستند.
در یک مدل تکاملی، ابتدا جمعیت معمولاً به صورت تصادفی ایجاد شده و هر فرد در واقع یک راه حل درنظر گرفته میشود. سپس، الگوریتم در مرحله بعدی، یک تابع هدف تعیین کرده و در طی این تابع هدف، مشخص میسازد که کدام راه حل مناسب است. در مراحل بعدی، با توجه به الگوی انتخاب، هرکسی که تناسب بهتری داشته باشد با احتمال بیشتری انتخاب میشود.
سپس جمعیت انتخاب شده توسط اپراتورهای مختلف بازتولید میگردد تا نسل جدیدی از بهار ایجاد شود. این عملگرها معمولاً متقاطع بوده و شامل جهش میباشند. برخی از تکنیکهای مبتنی بر تکامل عبارتند از: الگوریتم ژنتیک (Genetic Algorithm | GA)، تکامل تفاضلی (Differential Evolution | DE)، جستجوی هارمونی (Harmony Search | HS)، الگوریتم انتخاب کلونال (Clonal Selection Algorithm) و غیره.
چنانچه علاقهمند به مطالعه بیشتر یا داشتن ارائهای عالی در زمینه انواع الگوریتمهای فراابتکاری هستید، فایلهای آماده موجود را مد نظر قرار دهید.
- پاورپوینت الگوریتم های ژنتیک — کلیک کنید.
- پاورپوینت الگوریتم جستجوی هارمونی — کلیک کنید.
- پاورپوینت الگوریتم شبیه ساز حرارتی SA — کلیک کنید.
الگوریتم های فراابتکاری مبتنی بر مسیر
الگوریتم های مبتنی بر مسیر، روشهایی هستند که بر روی یک راه حل کار کرده و تک جوابه هستند. در طی این الگوریتمها، فضای مسئله با یک مسیر جستجو میشود یا به عبارت دیگر، یک راه حل واحد را بهبود میبخشد. در طی این فرآیند، با استفاده از عملیات تکرار، یک راه حل به راه حل دیگر منتقل میشود. مثالهایی از این الگوریتم: عبارتند از الگوریتم شبیه ساز حرارتی یا تبرید (Simulated Annealing | SA)، جستجوی ممنوعه (Tabu Search | TS)، جستجوی محلی تکراری، جستجوی محلی هدایت شده، تصادفی تطبیقی حریصانه رویه جستجو، جستجوی همسایگی متغیر (Variable Neighborhood Search | VNS) و غیره.
الگوریتمهای هیوریستیک الهام گرفته از طبیعت
روشهای الهام گرفته از طبیعت Nature-inspired یا روشهای محبوب من، روشهایی هستند که از قوانین طبیعت پیروی میکنند. عزیزان من، طبیعت را دست کم نگیرید. طبیعت قوانین ساده و قابل فهمی دارد. در واقع، رفتار جمعی اکثر موجودات زنده، در طی این الگوریتم به عنوان جستجوگر در فضای مسئله فرض میشود که به هدف و راه حل منتهی خواهند گردید. در ادامه، بر به بررسی انواع مختلف الگوریتم های الهام گرفته از طبیعت خواهیم گرفت.
الگوریتم های مبتنی بر ازدحام
جالب است بدانید که خود همین الگوریتم های متا هیوریستیک الهام گرفته از طبیعت، هم شامل زیر مجموعههای گسترده ای از جمله روشهای مبتنی بر ازدحام، الهامگرفته از زیست یا فیزیک و شیمی یا حتی مبتنی بر انسان یا گیاه است. روشهای Swarm-based درباره رفتارهای گروهی و هوش ازدحامی مجموعهای از موجودات است.
Swarm را میتوان به عنوان مجموعهای سازمان یافته از عوامل یا موجودیتهایی که با هم کار میکنند تعریف کرد. چقدر زیباست که این روش، میتواند نمونهای از زندگی مورچهها، زنبورها، موریانهها و پرندگان را مورد بررسی قرار داده و راز نهفته در زندگی این موجودات را در قالب الگوریتم، برملا کند. نمونههایی از الگوریتم های مبتنی بر ازدحام عبارتند از: بهینه سازی ازدحام ذرات، الگوریتم آتشین، کلونی زنبورهای مصنوعی، بهینه سازی کلونی مورچه ها، پنگوئن های امپراتور و غیره.
برای مطالعه و کسب آگاهی بیشتر در زمینه الگوریتم٬های مبتنی بر ازدحام، فایلهای تهیه شده توسط مجموعه آموزشی پی استور را مد نظر قرار دهید.
- پاورپوینت الگوریتم PSO یا ازدحام ذرات — کلیک کنید.
- پاورپوینت الگوریتم بهینه سازی کلونی زنبور مصنوعی ABC — کلیک کنید.
- پاورپوینت الگوریتم کلونی مورچه ها — کلیک کنید.
همراهان گرامی، درست است که در بخش قبل، گفتیم الگوریتمهای هوش ازدحام را میتوان زیرمجموعهای از الگوریتمهای الهامگرفته از زیستی در نظر گرفت اما بسیاری از الگوریتمهای الهامگرفته از زیستشناسی مستقیماً از رفتار مبتنی بر ازدحام استفاده نمیکنند. بنابراین بهتر است آنها را در یک زیر مجموعه جداگانه به نام الگوریتم های Bio-Inspired قرار دهیم. الگوریتم گله کریل، الگوریتم جستجوی کلاغ، بهینه ساز گرگ خاکستری، الگوریتم جستجوی جغد، بهینه ساز شیر مورچه و غیره نمونههایی از الگوریتم های الهام گرفته شده از زیست هستند.
در اینجا سؤال پیش میآید که آیا الگوریتم های مبتنی بر ازدحام فقط در حوزه زیستی، بررسی میشوند؟ در پاسخ به این سؤال باید بگویم که خیر! گاهی اوقات الگوریتم های ازدحام میتوانند در چند دسته مبتنی بر فیزیک یا مبتنی بر شیمی و بیشتر، با تقلید از قوانین فیزیک یا شیمی قرار بگیرند. برای درک بیشتر، این قوانین شامل بار الکتریکی، گرانش، تغییرات فیزیکی و شیمیایی مواد و غیره است. از این دسته هم میتوان به بهینه سازی واکنش شیمیایی، سیاه چاله، بهینه ساز چند آیه، بهینه سازی تبادل حرارتی و غیره اشاره کرد.
روشهای مبتنی بر قوانین طبیعی حاکم بر انسان
الگوریتم های متاهیوریستیک مبتنی بر قوانین طبیعی حاکم بر انسان، همه رفتارهای فردی و اجتماعی انسان را مدلسازی میکنند. این زیرمجموعه، شامل رفتارهای فردی مانند چگونگی جستجو و سازگاری انسان با محیط و نحوه رفتار انسان با احساسات متفاوت است. رفتارهای اجتماعی مانند هرج و مرج که در جامعه رخ میدهد؛ نحوه کار انسانها با یکدیگر و دیگر رفتارهای انسان، قابل الگوبرداری است. محبوبترین الگوریتمها در این زیر مجموعه عبارتند از: الگوریتم رقابت امپریالیستی، الگوریتم فرهنگی، بهینه سازی مبتنی بر آموزش و بهینه ساز سیاسی که اخیراً منتشر شده است.
الگوریتم های هیوریستیک الهام گرفته از گیاهان
روشهای فراابتکاری گیاهی از روند رشد گیاه، پراکندگی گیاه، رشد ریشه و گیاه و غیره الهام گرفته شده است. عزیزان من، به طور کلی هر الگوریتمی که به نحوی یک گیاه را مدل سازی کند؛ در این زیر مجموعه قرار میگیرد. نمونههایی از الگوریتم در این زیر مجموعه عبارتند از: بهینه سازی تهاجمی علفهای هرز و الگوریتم تغذیه ریشه مصنوعی.
تئوری اولیه ساخت اهرام جیزه
دوستان و همراهان گرامی، تا اینجای مقاله با انواع روش های بهینه سازی و انواع روش های فراابتکاری آشنا شدید. از اینجا به بعد یک روش جدید که برای اولین بار توسط این مقاله (+) ارائه شده است را به شما آموزش میدهیم. این روش الهام گرفته از گذشته یا باستان میباشد که برای نویسنده این مقاله، یک ایدئولوژی جدید و خاستگاه الهام بوده است.
در دوران باستان محدودیتهای متعددی وجود داشت اما سازههای مختلف دستساخته کارگران و صنعتگران، نشان میدهد که محدودیتها و کمبود امکانات سختافزاری و نرمافزاری به نوعی به عنوان بهینهساز، عمل کرده است. در این آموزش، بیشتر طبقه بندیهای موجود و جایگاه باستان جدید الهام گرفته شده است که در ادامه، در قالب نمودار آورده شده است.
ایدئولوژی الهام گرفته از باستان
تاریخ کهن به رویدادهای گذشته، از آغاز نگارش و ثبت تاریخ بشریت تا آغاز دوره پسا کلاسیک اشاره دارد. طول این دوره تقریباً ۵۰۰۰ سال بوده و مورخان پایان این دوره را سال ۵۰۰ میلادی میدانند. دو راه برای درک بهتر این دوران وجود دارد. اولین راه، کاوش و مطالعه آثار باستانی برای تفسیر و بازسازی رفتار گذشته انسان یا باستان شناسی است. باستان شناسان در حال جستجوی ویرانههای شهرهای باستانی برای یافتن سرنخهایی در مورد سبک زندگی و دوره زمانی هستند اما راه دوم منابع متنی یا روایات مورخان باستان میباشد.
بسیاری از وقایع توصیف شده توسط آنها بر اساس درک تاریخ باستان است. به طوری که در دوران باستان، کار مولد انسان را قادر میساخت تا ثروت به دست آورد. در واقع، کار یک وظیفه شرعی و یک فضیلت اخلاقی در باورهای عموم مردم بود و بر همین اساس، کار و مهارتهای فنی، هسته اصلی هوش انسان بسیار مورد تحسین قرار گرفت. از جمله فناوریهای باستان، میتوان به فناوریهای مصری، هندی، چینی، یونانی، رومی و ایرانی اشاره کرد.
یک عنصر اساسی در توسعه ساخت و سازهای باستانی، استفاده از مواد با اندازه استاندارد از پیش ساخته شده است. این امر هزینههای ساخت و ساز را تا حد زیادی کاهش داد و زمان توسعه را بهبود بخشید. علاوه بر آن، استانداردسازی مصالح ساختمانی و ایجاد فناوریهای ساخت حتی میتواند هزینههای نیروی کار را کاهش دهد.
مجموعه اهرام جیزه چیست؟
مجموعه اهرام جیزه که به عنوان گورستان جیزه نیز شناخته میشود؛ مکانی است دارای سه هرم بزرگ که همگی در زمان سلسله چهارم مصر باستان ساخته شدهاند. بزرگترین هرم که به عجایب هفتگانه نیز معروف است؛ هرم خوفو نام دارد. دو هرم دیگر خفره و منکاور هم در این مجموعه ساخته شدهاند که به گفته باستان شناسان، روش ساخت آنها با یکدیگر متفاوت میباشد. چرا که ساخت اهرام در طول زمان، توسعه یافته است. همچنین به دلیل کمبود امکانات سخت افزاری، زمان نسبتاً کوتاه ساخت و تعداد زیاد بلوکهای سنگی به کار رفته در اهرام، ساخت آن هم بهینه شده است.
تشریح ساخت و ساز در اهرام جیزه
عزیزان، کارگران اهرام جیزه، برده، سنگ تراش، فلزکار، نجار هستند که توسط یک عامل متخصص رهبری میشوند. این مأمور متخصص، مأمور ویژه فرعون است. کارگران بلوکهای سنگی را حمل میکنند و این کار تحت نظارت مستقیم عامل فرعون انجام میشود. ممکن است در این میان، کارگران مختلفی وجود داشته باشند که هر کدام مسئول حمل یک بلوک سنگی هستند.
دوستان عزیز، به یاد داشته باشید که برای ساخت هرم از رمپ استفاده شده است و کارگر مسئول، وظیفه دارد فاصله بلوک سنگ تا محل نصب آن در هرم را بسنجد. مسافت طی شده برای هل دادن سنگ با توانایی کارگران سنجیده میشود و در طول روز کاری، اگر نیروی کافی در دسترس باشد؛ حمل و نقل بیشتری توسط کارگران انجام میشود یا بلوک را به محل نصب در هرم نزدیکتر میکند.
علاوه بر آن، گرادیان سطح شیب دار، سرعت اولیه و نیروی اصطکاک بر حرکت بلوک سنگ تأثیر میگذارد. شکل زیر، ایدهای از نحوه انجام کار این عوامل، یعنی کارگر ساده و عامل ویژه فرعون را نشان میدهد که در محل ساخت و ساز، هر کدام موقعیتی دارند.
الگوریتم ساخت اهرام جیزه
فرض کنید که بلوکهای سنگی در اطراف محل ساخت و ساز پراکنده شدهاند و کارگران باید بلوکهای سنگی را به محل نصب فشار دهند. موقعیت اولیه هر بلوک و هزینه آن در ابتدا باید محاسبه شود. در قدم دوم، برای انتقال بلوکهای سنگی به محل نصب از رمپ، استفاده میشود. شیب رمپ و اصطکاک آن بر جابجایی بلوکهای سنگی تأثیر می گذارد. پس فاکتورهای بعدی قابل اندازه گیری هم مشخص شد. به شکل زیر، توجه کنید.
در قدم سوم الگوریتم، بررسی می کنیم که کارگران دائما در حال حرکت هستند تا بهترین موقعیت را برای تسلط بر بلوک سنگ پیدا کنند. با توجه به ویژگیهای متفاوت هر کارگر، امکان جایگزینی کارگران برای متعادل کردن قدرت کارگران برای حمل بلوک سنگ وجود دارد. بنابراین جایگاه برخی از کارگران با برخی دیگر جایگزین خواهد شد. این جایگزینی باعث تغییر در سیستم جابجایی بلوک سنگ و تعادل قدرت میشود. الگوریتم زیر، شبه کد الگوریتم GPC را توصیف میکند.
محاسبات الگوریتم ساخت اهرام جیزه
همراهان گرامی در این مرحله از آموزش، به معادلات حرکت یک جسم در سطح شیبدار نیاز داریم. با توجه به اینکه جسم در امتداد یک سطح شیبدار حرکت میکند؛ محور مختصات طوری تنظیم میشود که جهت محور x در جهت شتاب باشد. با انتخاب این محور مختصات، نیروی وارد شده به جسم به صورت افقی و عمودی قرار نمیگیرد. به این ترتیب، نیروی جرم روی محور را داریم و از این پس به جای جرم، نیروهایی را که از جرم تجزیه شده اند رسم میکنیم.
عزیزان، با توجه به ماهیت الگوریتم، هر بلوک سنگ با سرعت اولیه v0 روی سطح شیب دار به سمت بالا حرکت میکند. بنابراین، بلوک پس از طی مسافت d روی سطح شیب دار متوقف میشود. fk نیروی اصطکاک جنبشی است و از آنجایی که بلوک سنگ در آستانه جابجایی قرار دارد، fk را میتوان از معادله زیر به دست آورد.
که در آن m جرم بلوک سنگ، g گرانش زمین، ضریب هم زاویهای است که سطح شیب دار با افق ایجاد میکند. زیرا طبق قانون دوم نیوتن یعنی روی محور x قرار داریم:
در ادامه، با قرار دادن معادله ۱ در معادله ۲، شتاب بلوک سنگ به سمت بالا در سطح شیب دار به دست میآید. بنابراین، در اینجا به یک معادله حرکت مستقل از زمان تحت شتاب ثابت نیاز داریم که با استفاده از معادله زیر، میتوان جابجایی یک بلوک سنگ را روی سطح شیبدار محاسبه کرد.
v0 سرعت اولیه بلوک سنگ است و در الگوریتم با یک عدد تصادفی توزیع شده یکنواخت در هر تکرار، تعیین میشود. به این ترتیب، اگر کارگر به یک بلوک سنگ نیرو وارد کند؛ بلوک سنگ با سرعت اولیه شروع به حرکت میکند و بر اساس علوم فیزیکی، نیروی اصطکاک باعث میشود که بلوک سنگ پس از مدتی متوقف شود. بنابراین کارگر دوباره نیروی دیگری را بر روی بلوک سنگ وارد میکند تا بلوک سنگ دوباره با سرعت اولیه شروع به حرکت کند.
در هر تکرار الگوریتم، سرعت اولیه یک عدد تصادفی در نظر گرفته میشود. زیرا هر بار که کارگر تلاش میکند تا بلوک سنگ را جابجا کند و نیروی اعمال شده با توجه به توان مصرفی کارگر تغییر میکند. بنابراین، برای v0 داریم:
در این مرحله از آموزش، به یک ضریب جنبشی اصطکاک بین بلوک سنگ و سطح شیب دار نیاز خواهیم داشت که در الگوریتم، با عدد تصادفی توزیع شده یکنواخت تعیین می شود.
ایده اصلی الگوریتم، این است که کارگرانی که بلوک سنگ را هل می دهند دائماً در حال حرکت یا تکان هستند تا بهترین تسلط و کنترل بر روی بلوک سنگ را به دست آورند. این ضربه ها باعث می شود که کارگر برای هل دادن بهتر بلوک سنگ حرکات غیر تکراری انجام دهد. برای کارگر اصطکاک در نظر گرفته نمی شود. بنابراین موقعیت جدید کارگری که بلوک سنگ را هل می دهد از معادله زیر، به دست می آید:
سایر فرمول های الگوریتم هم، به همین ترتیب استفاده می شوند.
کلام آخر در رابطه با الگوریتم ساخت اهرام جیزه
دوستان، خسته نباشید. در این مقاله، یک الگوریتم فراابتکاری جدید بر اساس روش ساخت اهرام جیزه در گذشته باستان به نام ساخت اهرام جیزه (GPC) پیشنهاد شد که یک الگوریتم مبتنی بر جمعیت است که با حرکات کارگران و هل دادن بلوک های سنگی روی سطح شیب دار کنترل می شود و می تواند به عنوان یک روش بهینه سازی اساسی در بسیاری از حوزه های دانش از جمله علوم مهندسی مورد استفاده قرار گیرد. امید است از آن در مسئله های واقعی خود استفاده کرده و نتایج خود را با ما در اشتراک بگذارید. موفق باشید.
یک پاسخ
تشکر از زحمات شما