بهینه سازی کلونی مورچه ها یا Ant Colony Optimization و (به اختصار ACO)، که در سال ۱۹۹۲ توسط مارکو دوریگو (Marco Dorigo) و در رساله دکتری وی مطرح شد، یکی از بارزترین نمونه ها برای روش های هوش جمعی است. این الگوریتم از روی رفتار جمعی مورچه ها الهام گرفته شده است. مورچه ها با همکاری یکدیگر، کوتاه ترین مسیر را میان لانه و منابع غذایی پیدا می کنند تا بتوانند در کمترین زمان مواد غذایی را به لانه منتقل کنند. هیچ کدام از مورچه ها، به تنهایی قادر به انجام چنین کاری نیستند، اما با همکاری و پیروی از چند اصل ساده، بهترین راه را پیدا می کنند. الگوریتم مورچه ها، یک مثال بارز از هوش جمعی هستند که در آن عامل هایی که قابلیت چندان بالایی ندارند، در کنار هم و با همکاری یکدیگر می توانند نتایج بسیار خوبی به دست بیاورند.
مجموعه فرادرس های الگوریتم مورچگان در متلب عنوان یک مجموعه آموزشی کامل است که شامل تقریبا ۷ ساعت فیلم آموزشی ناب به زبان فارسی است. این مجموعه آموزشی از چندین قسمت تشکیل شده است که اطلاعات آن در ادامه آمده اند.
درس یکم: الگوریتم مورچگان کلاسیک یا ACO در متلب
در این فرادرس، دانشجویان عزیز، با مباحث مختلف تئوری و عملی الگوریتم مورچگان در متلب آشنا می شوند. سرفصل هایی که در این آموزش به آن پرداخته می شود، مبانی و مفاهیم اساسی هوش جمعی، مبانی تئوری الگوریتم مورچگان، پیاده سازی الگوریتم مورچگان در متلب و … می باشد. توضیح کامل مباحث مربوطه و آموزش توسط یکی از بهترین مدرسین متخصص در این زمینه از نقاط قوت این آموزش به شمار می رود.
فهرست سرفصل ها و رئوس مطالب مطرح شده در درس یکم در ادامه آمده است:
- مروری بر مبانی و مفاهیم اساسی هوش جمعی (Swarm Intelligence)
- مبانی تئوری الگوریتم مورچگان یا ACO
- تشریح بخش های مختلف الگوریتم مورچگان
- بررسی انواع نسخه های الگوریتم مورچگان
- پیاده سازی الگوریتم مورچگان در متلب
- بیان ریاضی مساله فروشنده دوره گرد یا TSP
- پیاده سازی گام به گام الگوریتم مورچگان در محیط متلب برای حل مساله فروشنده دوره گرد
- نمایش نتایج حاصل از حل مساله TSP به صورت گرافیکی
- جمع بندی و نتیجه گیری های نهایی
درس دوم: حل مسائل گسسته با استفاده از الگوریتم مورچگان در متلب
الگوریتم مورچگان برای حل و بررسی محدوده وسیعی از مسائل بهینه سازی به کار برده شده است. از این میان می توان به حل مساله کلاسیک فروشنده دوره گرد و همچنین مساله راهیابی در شبکه های مخابرات راه دور اشاره نمود. در این درس آموزش عملی حل مسائل گسسته با استفاده از الگوریتم مورچگان، روش های حل مسائل گسسته (از نوع باینری، عدد صحیح و جایگشتی) مورد بحث و بررسی واقع شده است. در این درس با حل سه مساله به صورت عملی، نکات عملی مربوطه به طور گام به گام آموزش داده شده اند.
سه مساله مورد بررسی در این درس عبارتند از:
- مساله کوله پشتی باینری یا Binary Knapsack Problem
- مساله کوله پشتی عدد صحیح یا Integer Knapsack Problem
- مساله تخصیص درجه دو یا Quadratic Assignment Problem (به اختصار QAP)
فهرست سرفصل ها و رئوس مطالب مطرح شده در درس دوم در ادامه آمده است:
- بیان ریاضی مساله کوله پشتی باینری
- شیوه نمایش راه حل مساله باینری به صورت لایه ای در الگوریتم مورچگان
- پیاده سازی گام به گام و حل مساله کوله پشتی باینری در متلب
- بهبود عملکرد و تکمیل برنامه نوشته شده
- بیان ریاضی مساله کوله پشتی عدد صحیح
- طراحی راه حل به صورت لایه های نامتجانس در الگوریتم مورچگان
- پیاده سازی گام به گام و حل مساله کوله پشتی عدد صحیح در متلب
- بیان ریاضی مساله QAP و کاربردهای آن
- نمایش راه حل مساله QAP به صورت لایه ای در الگوریتم مورچگان
- پیاده سازی گام به گام برنامه مربوط به حل QAP در متلب
- بررسی تاثیر تغییر پارامترهای مساله در پاسخ نهایی
- نمایش گرافیکی نتایج حاصل از حل مساله QAP
- جمع بندی و نتیجه گیری های نهایی
درس سوم: الگوریتم مورچگان پیوسته یا ACOR در متلب
درس جامع الگوریتم مورچگان برای فضای پیوسته یا ACOR در متلب، شامل مباحث تئوری و عملی در خصوص الگوریتم مورچگان پیوسته است و می تواند به عنوان یک مرجع بسیار کامل، برای استفاده دانشجویان و دانش پژوهان مورد استفاده قرار بگیرد.
فهرست سرفصل ها و رئوس مطالب مطرح شده در درس سوم در ادامه آمده است:
- مروری بر مبانی الگوریتم مورچگان پیوسته و تعریف فرومون (Pheromone) در فضای پیوسته
- بیان ارتباط میان مدل سازی احتمال و توزیع گوسی با تعریف فرومون پیوسته
- معرفی مفهوم بایگانی جواب یا Solution Archive و جایگاه آن در الگوریتم مورچگان
- مفاهیم اساسی مربوط به نمونه برداری از طریق یک ترکیب گوسی یا Gaussian Mixture
- بیان مراحل الگوریتم ACOR به صورت گام به گام و بررسی دقیق عملکرد هر مرحله
- پیاده سازی الگوریتم ACOR در محیط متلب به صورت مرحله به مرحله
- مباحث تکمیلی در خصوص نحوه در نظر گرفتن همبستگی متغیرها توسط PCA و الگوریتم گرام-اشمیت (Gram – Schmidt algorithm) در ACOR
داوود عزیزی :
سلام و خسته نباشید
من از بسته های آموزشی شما خیلی راضی هستم و از شما و همکارانتان به خاطر همه زحمت هایی که می کشید کمال تشکر و قدردانی را دارم .
داود عزیزی دانشجوی ارشد کامپیوتر
محمد :
از خریدم راضی هستم
امید :
به نظر بنده این آموزش عالی بود. خصوصا تدریس استاد قابل تحسین بود. فقط ای کاش مثال های بیشتری در تدریس هایشان قرار دهند. امیدوارم آموزش های بیشتری در این زمینه منتشر شود.
ژاله منبری :
با سلام بسیار کارا و با مدت زمان مناسب بود.
اصغر نافع مرکید :
خیلی مفید بود ولی به نظرم میشد خلاصه تر باشد
سید علی معصومی :
با سلام. آموزش مختصر و مفید است.
سالار عیناوی پور :
من از این آموزش برای پیش برد پروژه های درسی ام استفاده کردم و راضی بودم و فکر میکنم این آموزش تنها منبع ممکن و معتبر با این کیفیت فیلم برداری و صدا گذاری عالی باشد.
برای شما آرزوی موفقیت دارم.
ناصر رمضانپور :
در کل خوب بود. اینکه بعضی از آموزش های ارائه شده در کلاس ضبط شده اند که محیط تعاملی را ایجاد میکند عالی است. من از فیلم آموزشی الگوریتم ژنتیک هم استفاده کرده ام بسیار عالی بود.
بیژن فیلی :
آموزش به خصوص در بخش پیاده سازی مناسب بود. اگر آموزش هایی که ارائه می شوند تخصصی تر باشند یعنی بطور اختصاصی برای رشته خاصی تهیه شوند بهتر است.
مهرداد آقامحمدی :
سلام بر شما،
من از اکثر آموزش های ارائه شده استفاده کرده ام و واقعا عالی هستند. فقط به نظر تنها ایراد، سرعت کند تدریس می باشد اگه امکان دارد هنگام ویرایش سرعت را افزایش دهید.
برای شما آرزوی موفقیت دارم.
زهره :
با سلام. کلا خوب بود و راضی بودم.
ستاره افشاری :
سلام و خسته نباشید. واقعا آموزش قابل استفاده ای بود من راضی بودم. به نظرم میتوانست سرفصل های دیگری را هم پوشش دهد و گسترده تر باشد.
فاطمه :
سلام. من میخواستم بدونم که تو این فیلم توضیح خط به خط کدها داده میشه؟ و برای توضیح کد ها باید کدوم بسته رو بگیرم؟ ممنون
روابط عمومی :
در پاسخ فاطمه:
با سلام،
یکی از مهمترین ویژگی آموزش های فرادرس، عملی بودن آنهاست.
کدهای تدریس شده در آموزش، در حین توضیحات شفاهی، خط به خط تایپ می شوند و سپس اجرا می شوند؛ پیش نمایش های موجود در سایت، نمایانگر این موضوع هستند.
موفق باشید.
جواد بافکر :
سلام. با اینکه آموزش خوبی است ولی اگر مثال هایش بیشتر بود بهتر می شد.
بهروز :
من از همه آموزش هایی که از فرادرس تهیه کرده ام راضی هستم. در مقالاتم از آنها استفاده کرده ام. پیشنهاد دارم الگوریتم های ترکیبی با SVM ارائه کنید.
رزا آذروند :
با سلام. راجع به الگوریتم و عملکردش توضیحات جامع بودند. کد ها نیز به خوبی تدریس شده اند.
محمد مشتاقی :
از این آموزش برای انجام پایان نامه ام استفاده کردم. متشکرم. آموزش اندروید را زودتر ارائه کنید. ممنون.
حبیب الله سقاوی :
سلام بر دوستان فرادرس. آموزش غنی و کامل است. از شما بخاطر تهیه و ارائه این آموزش ها کمال تشکر را دارم.
سجاد محمدی :
از نکات قوت آموزش کیفیت دیداری و مرحله به مرحله بودن آموزش است که باعث یادگیری بهتر می شود.
محمد زاهدی :
این فیلم آموزشی با مطرح نمودن مفاهیم پایه ای و راه حل برای مسائل این حوزه بسیار راضی کنند بود.
عیسی اکبری چوکلایی :
آموزش توضیحات بسیار خوبی داشت و برای من مفید بود.
محمد رضا درویشی :
من قبلا آموزش فازی را تهیه کردم که عالی بود. این آموزش نیز در یکی از پروژه های درسی بسیار برایم مفید واقع شد.
افسانه :
مجموعه بسیار خوبی بود توضیحات تئوری خیلی خوبی داشت همین طور قسمت پیاده سازی. البته با ارائه مثال های بیشتر میتونست کیفیت کار بهتربشه. ممنون از زحماتتون.
سامان :
سلام و خسته نباشید.
از آموزش های تصویری عالی که برای دانشجویان و جوانان ایرانی تهیه میکنید از شما ممنون و سپاس گذارم. بنده مدتها دنبال همچین آموزش هایی میگشتم تا بتوانم از آن ها در پروژ ها و همینطور یادگیری مباحثی که در کلاس درس متوجه نشدم استفاده کنم و از این نظر برای من بسیار مفید واقع شد و از این الگوریتم کلونی مورچه در پروژه خود هم قصد دارم که استفاده کنم. متشکرم از شما. امیدوارم مباحث ادامه پیدا کند و مثال های عملی در متلب افزایش یابد.
جعفر :
سلام و خسته نباشید.
ببخشید من یه سوال داشتم توی الگوریتم مورچگان پیوسته، اگه کسی تونست به ما جواب بده ممنون می شم.
در تابع هدف من ۸ تا متغیر وجود داره. حالا هر متغیر هم بین دو تا عدد هستش من اینا رو توی قسمت varmin و varmax چجوری تعریف کنم برای هر متغیر؟
سپاس.
امید :
با عرض سلام و خسته نباشید خدمت مدیر محترم،
آیابرای این الگوریتم بهینه سازی کلونی مورچگان کد نوشتید یا از دیفالت خود نرم افزار متلب استفاده کردین؟ (در این آموزش)
با تشکر
روابط عمومی :
از مکاتبه شما متشکریم.
در این آموزش ابتدا توضیحات تئوری الگوریتم و سپس پیاده سازی در محیط متلب به صورت کد نویسی تدریس شده است.
موفق باشید.
رضا :
با سلام و خسته نباشید،
بابت زحمات بسیار گران بهای شما در این حوزه و از این که الگوریتم بسیار جالب مورچگان را هم به صورت تئوری و هم بصورت کاربردی توضیح دادین ممنونم. این می تونه کمک بسیار زیادی به همه عزیزان مون در مقاله نویسی خودشون و پایان نامه نویسی هاشون کنه، اما با این حال نظرم این که اگه یه مقدار اصولی تر برای هر موضوعی با یک مقاله بیس که با سختی های کار در زمان نوشتن کد متلب و راهکار های مناسب اشنا بشیم، کمک بسیار مفیدی می کنه توی این حوزه که همه در حال نوشتن مقاله هستن و با مشکلاتی دستو پنجه نرم می کنن، که زمان هاشون و میگیره.
کیفیت آموزش بالا هست. ممنون از شما.
abasinejad :
با سلام.
سپاس فراوان از جناب آقای کلامی هریس و تیم خیلی خوب شون که تونستن این آموزش خیلی خوب رو ارائه بدن، این آموزش خیلی کامل و جامع هست و به صورت خیلی شیرین و کاربردی الگوریتم مورچگان که یکی از الگوریتم های تکاملی هست رو ارائه داده. این آموزش خیلی مناسب هست برای کسانی که دوست دارن در حوزه هوش جمعی و الگوریتم های مربوط به اون تحقیقات و تحصیلات خودشون رو ادامه بدن به علاوه اینکه سایر آموزش های مرتبط با الگوریتم های تکاملی نیز توسط فرادرس تهیه شده و در دسترس هست.
یک پیشنهادی که میتونه ارائه بشه اینه که خیلی بهتره اگر در کنار آموزش جامع و کاربردی که ارائه میشه، به مسئله ها و مشکلات روز و جدید حوزه هوش مصنوعی که با اون موضوع خاص قابل حل هست هم اشاره بشه.
در هر صورت این یک فرادرس خیلی خوب برای علاقه مندان به این حوزه هست. خود من خیلی وقت بود که دنبال یه همچین منبعی بودم که به شکل کاربردی به یک ابزاری به قدرت متلب این الگوریتم های کاربردی رو توضیح بده و واقعا به هدفم رسیدم!!