توضیحات تکمیلی
الگوریتم های تکاملی و فراابتکاری (متاهیوریستیک ها) از جمله ابزارهای بسیار قدرتمند هوش مصنوعی، برای حل مسائل بهینه سازی از طریق روش های هوشمند هستند و امروزه در شاخه های مختلفی از علوم و مهندسی، کاربردهای فراوانی را به خود اختصاص داده اند. این الگوریتم ها، که اغلب از فرایندهای طبیعی الهام گرفته شده اند، در واقع روش های جستجو هستند که در فضای همه پاسخ های ممکن برای یک مساله بهینه سازی جستجو می کنند و بهترین پاسخ (یا پاسخ ها) را پیشنهاد می دهند.
پیش از این، آموزش تئوری و عملی بیش از ۲۵ الگوریتم فرا ابتکاری در قالب گنجینه بهینه سازی هوشمند در فرادرس ارایه شده اند که در کنار مباحث تئوری و بیان نحوه عملکرد این الگوریتم ها، پیاده سازی گام به گام این موارد در محیط متلب نیز، مورد بحث و بررسی قرار گرفته است. اما همان طور که می دانیم، زبان برنامه نویسی و نرم افزار متلب، اساسا برای امور پژوهشی و آزمایشگاهی مناسب هستند و اغلب برنامه هایی که در متلب نوشته می شوند، از سرعت مناسبی برخوردار نیستند. از این رو، برای نخستین بار، مجموعه آموزشی پیاده سازی الگوریتم های تکاملی و فراابتکار با استفاده از زبان برنامه نویسی سی شارپ (C#) بر روی فرادرس منتشر شده است، تا پاسخگوی نیاز روز افزون دانشجویان و پژوهشگران این حوزه باشد.
از طریق پیاده سازی الگوریتم های فرا ابتکاری در سی شارپ، سرعت اجرای آن ها در مقایسه با متلب، به مراتب افزایش خواهد یافت و این امکان وجود خواهد داشت که نرم افزار نهایی، به صورت یک برنامه مستقل و به راحتی در همه سیستم های ویندوزی (و حتی ادوات موبایل و برخی سیستم های غیر ویندوزی) اجرا شود. در این دوره آموزشی منحصر به فرد، علاوه بر این که موضوع محاسبات تکاملی مورد بررسی قرار می گیرد، مثال های کاملی از نحوه کاربرد سی شارپ در محاسبات علمی و آکادمیک نیز، به صورت ضمنی ارایه می شوند. از این نظر، این آموزش مشابهی حتی به زبان های خارجی ندارد و برای نخستین بار است که چنین مفاهیمی در قالب ویدیویی و با این میزان از تشریح، ارایه می شوند.
ما در این آموزش قصد داریم تا مبحث مرور مبانی تئوری الگوریتم شبیه سازی تبرید و پیاده سازی آن را مورد بحث و بررسی قرار دهیم.
این آموزش رایگان بخشی از آموزش پیاده سازی الگوریتم های تکاملی و فراابتکاری در سی شارپ است. برای کسب اطلاعات بیشتر و استفاده از این آموزش بر روی این لینک (+) کلیک کنید.
فهرست سرفصلها و رئوس مطالب مطرح شده در اين مجموعه آموزشی، در ادامه آمده است:
- مرور مبانی تئوری الگوریتم شبیه سازی تبرید و پیاده سازی آن
- بررسی نحوه عملکرد الگوریتم Simulated Annealing یا SA
- ساده سازی قاعده انتخاب پاسخ در SA
- بررسی شیوه ایجاد همسایگی در الگوریتم شبیه سازی تبرید با توزیع گوسی
- پیاده سازی الگوریتم SA در قالب کلاس SimulatedAnnealing
- افزودن ویژگی ها و متدهای پایه
- پیاده سازی فاز آماده سازی SA
- آشنایی با نگاشت باکس-مولر (Box-Muller) برای ایجاد توزیع نرمال (گوسی)
- پیاده سازی فرمول - باکس مولر در C#
- افزودن مجموعه توابع NormalRand به کلاس Randoms
- پیاده سازی حلقه اصلی الگوریتم SA
- نهایی سازی الگوریتم SA
نظرات