آیا الگوریتم رقابت استعماری، انتخاب مناسبی برای موضوع پایان نامه می باشد؟

اگر شما نیز در مراحل تعریف موضوع پایان نامه هستید و یا اگر قرار است، به زودی این کار را انجام دهید و پایان نامه شما به بهینه سازی و الگوریتم ها و محاسبات تکاملی مربوط است، حتماً این پست را بخوانید. تا به حال این سوال بسیار مطرح شده است که آیا، الگوریتم جدید بهینه سازی تکاملی یعنی الگوریتم رقابت استعماری (Imperialist Competitive Algorithm – ICA) موضوع مناسبی برای یک پایان نامه دوره تحصیل می باشد؟ در این پست می خواهیم با مراجعه کیفی به آمار و مقایسه چند الگوریتم شناخته شده بهینه سازی با الگوریتم رقابت استعماری، پاسخ این سوال را بررسی کنیم.
با در نظر گرفتن چند فاکتور مهم، پاسخ این سوال را مورد بررسی قرار می دهیم.نوآوری و جدید بودن در عین شناخته شده بودن:

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

  1. نوزادی
  2. بلوغ
  3. رشد یافته
شکل: نمودار تقریبی رشد ایده و تکنولوژی از سه ناحیه تشکیل شده است.
احتمال از میان رفتن یک ایده یا متد یا تکنولوژی در مرحله نوزادی به دلیل ضعیف بودن ساختار آن بسیار بالا است. اما اگر ایده ای بتواند این بخش را با سلامت طی کند، وارد مرحله بلوغ خواهد شد که به سرعت و با موفقیت زیاد و به صورت بهمنی، رشد خواهد کرد. پس از مدتی، همانند هر جریان طبیعی، ایده ها نیز به مرحله “رشد یافته” رسیده و حتی در موارد زیادی با آمدن ایده و یا تکنولوژی جدید، می میرند. این نمودار را می توانید در مورد همه شرکتها و فناوری های بزرگ حوزه وب مثل گوگل و فیس بوک و … نیز ببینید. با طراوت ترین و شاداب ترین زمان زندگی ایده های علمی و محصولات تکنولوژیک، نیز دوران میان نوزادی و رشد کامل است. در این مرحله است، که ایده بصورت بهمنی رشد خود را آغاز می کند و سریع به رشد خود ادامه می دهد.مهم ترین مزیتی که ICA دارد این است، که نسبت به الگوریتم های شناخته شده جدیدتر و نسبت به الگوریتم های جدید، شناخته شده تر است. به نوعی در حالت زانوی منحنی رشد یک الگوریتم (شروع دوره بلوغ) قرار دارد. نه آنقدر جدید است که در شناساندن آن و معرفی آن در کار خود به مشکل برخود کنید (دوره مشکل توسط مقالات ارزشمند منتشر شده توسط دانشجویان و محققین دیگر در کنفرانسها، مجلات و ژونالهای معتبر سپری شده است). از طرف دیگر این الگوریتم آنقدر قدیمی نیست که شما در توسعه و ایجاد تغییراتی در آن و کاربرد آن به مشکل برخورد بکنید. هم خود الگوریتم و هم کاربردهای آن جای کار بسیاری دارند. در حالی که استفاده از الگوریتم های شناخته شده، همچون PSO، SA و GA به دلیل استفاده همه گیر از آنها در حوزه های مختلف علوم و صنایع، در توجیه جدید بودن تغییرات انجام شده در الگوریتم و یا نو بودن کاربرد، در کارهای پژوهشی با مشکل مواجه می شوند. در نقطه مقابل الگوریتم های جدیدی نیز وجود دارند که کار انجام شده با آنها می تواند جدید باشد ولی مشکل توجیه اهمیت و میزان شناخته شدن را دارند. بگذارید، از نتایج گوگل استفاده کنیم. جستجو با گوگل به صورت عبارت داخل “گیومه”، تعداد اسناد موجود با دقیقاً هر عبارت را می دهد. ببینیم با هر الگوریتم، دقیقاً چند سند، وجود دارد؟

امروز در لحظه نوشتن این پست (12 ژانویه 2011) نتایج زیر حاصل می شوند.
  • Genetic Algorithm“: About 1,590,000 results (0.26 seconds)
  • Simulated annealing“: About 991,000 results (0.37 seconds)
  • Particle Swarm Optimization“: About 312,000 results (0.28 seconds)
  • Imperialist Competitive Algorithm“: About 4,450 results (0.20 seconds)
الگوریتم ژنتیک در بیش از یک و نیم میلیون! سند استفاده شده است که همه اینها نیز، کارهای پژوهشی و یا مقالات منتشره هستند. با تقسیم این تعداد مقاله و سند به تعداد رشته های اصلی مرتبط در حوزه مهندسی و علوم به سادگی می توان تعداد سند مرتبط در هر رشته را تخمین زد. در این میان الگوریتم رقابت استعماری با حدود 4500 سند مرتبط، هم به اندازه کافی مورد استفاده قرار گرفته است و هم هنوز فاصله بسیار زیادی تا مرز اشباع دارد.
به ارتباط معنی دار میان قدمت الگوریتم و میزان استفاده از آن نیز توجه کنید. الگوریتم ژنتیک با قدمت حدوداً 70 ساله بیشترین استفاده را داشته و PSO با حدود 15 سال قدمت، کمتر از آن است. در این میان الگوریتم رقابت استعماری با قدمت حدوداً 3 سال، رشد روز افزونی داشته ولی هنوز در نقطه خیزش منحنی رشد قرار داشته و تا اشباع شدن فاصله زیادی دارد.
بنابراین استفاده از الگوریتم رقابت استعماری، به تنهایی و یا در کنار الگوریتم های دیگر، جذبه تحقیقاتی بسیاری خواهد داشت. هم، خود الگوریتم و هم پشتوانه منبع الهام بسیار جدید هستند و کاملاً جا افتاده می باشند. از لحاظ نتایج نیز تا الان روند استفاده از این الگوریتم، کاملاً رضایت بخش بوده است و مقالات بسیار زیادی در رشته های مختلف تحصیلی در داخل و خارج ایران در مورد خود الگوریتم و کاربرد های آن منتشر شده اند. برای انجام یک کار برجسته و جدید در حوزه مسائل بهینه سازی باید یکی از 3 فاکتور زیر برقرار باشند.
  1. از یک روش موجود در حل یک مسئله جدید استفاده شود. در این حالت شما استفاده از ابزار موجود را به مسئله جدیدی توسعه داده اید.
  2. روش جدیدی معرفی شود یا تغییری در یکی از روشهای موجود داده شود و روش جدید یا تغییر یافته، به یکی از مسائل موجود و حل شده اعمال شود و نتایج با قبل مقایسه شوند.
  3. روش جدید یا تغییر یافته ای معرفی شود و به یک مسئله جدید اعمال گردد. این بهترین حالت ممکن است. هم روش جدید است هم مسئله.
در مورد استفاده از الگوریتم های شناخته شده، می توان از فاکتور اول با کمی جستجو در میان کاربردها بهره برد. اما فاکتور دوم معمولاً به سختی انجام می شود. فاکتور 3 نیز که ترکیب فاکتور اول و دوم است، به مراتب انرژی بر تر است.  تقریباً اغلب ایده های بهبود عملکرد در مورد الگوریتم های شناخته شده، اعمال شده و اثر آنها بر روی کارایی الگوریتم مورد بررسی قرار گرفته اند. در نقطه مقابل، در مورد الگوریتم جدید و شناخته شده ای، همانند الگوریتم رقابت استعماری، فاکتور اول به سادگی قابل استفاده است. ما با الگوریتم جدیدی سروکار داریم که در عین شناخته شده بودن و اعمال شدن به بسیاری از کاربردها، هنوز برای بسیاری از مسائل بهینه سازی استفاده نشده است. فاکتور دوم نیز در مورد این الگوریتم با کمی انرژی بیشتر نسبت به فاکتور اول قابل انجام است و نسخه های جدید بسیاری از این الگوریتم معرفی شده اند که مورد استقبال بسیاری قرار گرفته اند. ترکیب حالت سوم را نیز در برخی از مقالات با ارزش می بینیم که در آنها با اعمال تغییراتی روی الگوریتم رقابت استعماری، هم نسخه جدیدی از آن معرفی شده است و هم این نسخه جدید به کاربرد جدیدی اعمال گشته است.کارایی قابل رقابت با الگوریتم های شناخته شده:

از لحاظ کارایی و نتیجه الگوریتم نیز، نکته مهمی که باید ذکر شود این است که هیچ روشی لزوماً و کلاً بهتر از دیگری نیست. اگر ریسکی در انتخاب الگوریتم “الف” باشد، به همان اندازه ریسک در انتخاب الگوریتم “ب” نیز وجود دارد. این موضوع تا حد زیادی در این پست (بهترین روش بهینه سازی تکاملی چه روشی است؟ – پرسش و پاسخ) مورد بررسی قرار گرفته است. در هر صورت مقالات منتشر شده با این الگوریتم، حاکی از موفقیت آن در کاربردهای گزارش شده بوده اند.

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

مستندات آموزشی و غیر آموزشی کافی و رایگان بر روی وب:
کمتر الگوریتمی در حوزه محاسبات تکاملی را می توان نام برد که به اندازه الگوریتم رقابت استعماری، محتوا و مستندات آموزشی شامل، کدهای آماده استفاده (به همراه توضیحات کامل در قالب پی دی اف و فیلم)، متن های آموزشی آنلاین و فیلم های آموزشی رایگان در محور های مختلف به زبان فارسی داشته باشد. تعداد بسیار بالای محتوای آموزشی و غیر آموزشی مرتبط با الگوریتم رقابت استعماری بر روی وب و همچنین تعداد جستجوی بالا در اینترنت در مورد این الگوریتم در سالهای اخیر باعث شده است که در با تایپ و جستجوی کلمه “الگوریتم” (در زمان نوشتن این پست 12 ژانویه 2011)، “الگوریتم رقابت استعماری” در مناطق، شهرها و کشورهای بسیاری به عنوان پیشنهاد گوگل حتی قبل از الگوریتم های شناخته شده ای مانند الگوریتم های ژنتیک و شبیه سازی تبرید مطرح باشد. حتی در مواردی (بسته به IP منطقه و شهر جستجو) مشاهده شده است که تایپ حروف “ال” به پیشنهاد “الگوریتم رقابت استعماری” توسط گوگل منجر شود.بنابراین این الگوریتم از منظر مستندات آموزشی، حداقل در ایران و در سطح مستندات فارسی، بسیار جلوتر از الگوریتم های دیگر قرار دارد و کار کردن با آن به سادگی (و حتی در بسیاری از موارد راحت تر از) کار با الگوریتم های دیگر بوده و با ریسک کمتری در تامین منابع آموزشی همراه است. شکل زیر یک تصویر از صفحه نمایش پس از تایپ حروف “الگ” را نشان می دهد.

 
شکل: یک تصویر از صفحه نمایش پس از تایپ حروف “الگ” را نشان می دهد. الگوریتم رقابت استعماری در زمان نگارش این پست، پیشنهاد گوگل بوده و قبل از سایر الگوریتم ها قرار می گیرد.

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

 نتیجه گیری:
یک بار دیگر مزایای استفاده از الگوریتم رقابت استعماری را مرور می کنیم.

  • نوآوری و جدید بودن در عین شناخته شده بودن
  • کارایی قابل رقابت با الگوریتم های شناخته شده
  • انعطاف پذیری
  • مستندات آموزشی و غیر آموزشی کافی و رایگان بر روی وب
شرایط الگوریتم رقابت استعماری به گونه ای بوده است که این الگوریتم اخیراً بطور متناوب در پایان نامه های مقاطع کارشناسی ارشد و دکتری در داخل و خارج ایران موضوع اصلی پروپوزالهای مختلف قرار گرفته است و روز به روز نیز استفاده از آن گسترده تر می گردد. با در نظر گرفتن توضیحات فوق استفاده از الگوریتم رقابت استعماری، در پایان نامه های مرتبط با مسائل بهینه سازی، نه تنها مشکلی از لحاظ نتیجه و کارایی نخواهد داشت، بلکه به خاطر پایین بودن ریسک نوآوری در آن (انجام کار جدید و یا اعمال آن به کاربرد جدید)، انعطاف پذیری بالا و همچنین مستندات آموزشی کافی، این الگوریتم توصیه نیز می شود.
جهت مشاهده لیست برخی از مقالات و پایان نامه های مرتبط با ICA، این لینک (پایان نامه ها و مقالات) را ببینید.
0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

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