توضیحات
برنامه نویسی الگوریتم جستجوی غیر کلاسیک به زبان پایتون python
هدف:
هدف این پروژه آشنایی شما با الگوریتمهای جستجوی غیرکلاسیک و نحوه فرموله کردن مسائل جستجوی مختلف در قالب یک رابط یکسان است.
شرح پروژه:
در این پروژه، میبایست مجموعه ای از الگوریتمهای جستجویی که فهرست آنها در ادامه ذکر شده است را پیادهسازی و از این الگوریتم ها برای حل چند مساله جستجوی مختلف که در قالب یک واسط مشخص پیادهسازی میشوند استفاده کرد. پیادهسازی الگوریتمها و مسائل مختلف میبایست به صورت مستقل از یکدیگر باشند به گونهای که حل یک مساله جستجوی جدید نیازمند هیچ گونه تغییری در پیادهسازی الگوریتم های جستجو نباشند. هر الگوریتم جستجو میبایست در انتهای اجرا، اطلاعات کافی در مورد اجرای الگوریتم را بازگرداند.
الگوریتمها:
الگوریتمهایی که میبایست در این پروژه پیادهسازی شوند عبارتند از:
گرم و سرد کردن شبیهسازی شده ( simulated annealing )
خروجی های الگوریتم:
– تعداد گره های ایجاد (مشاهده) شده
– تعداد گره های بسط داده شده
– راه حل و ارزش (شایستگی) راه حل یافته شده
تپه نوردی (ساده، تصادفی، اولین انتخاب و شروع مجدد تصادفی)
خروجیهای الگوریتم:
– تعداد گره های ایجاد (مشاهده)شده
– تعداد گره های بسط داده شده
– راه حل و ارزش (شایستگی)راه حل یافته شده
الگوریتم ژنتیکی
خروجیهای الگوریتم:
– بهترین،بدترین و متوسط شایستگی در هر نسل
– تعداد نسلها تا رسیدن به جواب بهینه (درصورت رسیدن به جواب بهینه)
مسائل
به ازاء هر یک از مسائلی که در این بخش معرفی میشود شما میبایست یک کلاس Problem مجزا بنویسید. کلاس مساله در این حالت میبایست شامل تابع حالت اولیه، تابع همسایگان هر حالت و تابع شایستگی )هدف( باشد. با اجرای الگوریتمهای جستجوی ذکر شده برای هر مساله، عملکرد این الگوریتمها در حل مساله مورد نظر را بررسی و با یکدیگر مقایسه کنید.
مساله اول: هشت وزیر
برای مساله هشت وزیر یک تابع هدف تعریف کنید و از الگوریتمهای تپه نوردی )نسخه های مختلف الگوریتم تپه نوردی( برای حل این مساله استفاده کنید. خروجی های ذکر شده برای نسخه های مختلف الگوریتم تپه نوردی را گزارش و نتایج را با یکدیگر مقایسه نمایید.
مساله دوم: پارتیشنبندی گراف
گراف زیر را در نظر بگیرید. آن را به دو زیرگراف چنان تقسیم کنید که یالهایی که رئوس این دو زیرگراف را به یکدیگر متصل کرده اند حداقل باشند و اندازه راسهای دو زیرگراف نزدیک به هم باشد. این مساله را توسط الگوریتم SA حل کرده،سه روش مختلف برای کاهش دمای الگوریتم انتخاب کنید و نتایج را با یکدیگر مقایسه کنید.
مساله سوم: حل معادله به وسیله الگوریتم ژنتیکی
الف) نمودارهای بهترین، بدترین و میانگین شایستگی را در طول زمان ترسیم کنید.
ب) تاثیر کاهش یا افزایش احتمال جهش در نتایج را بررسی کنید.
ج) تاثیر کاهش یا افزایش تعداد برشها (n)در نتایج را بررسی کنید.
د) با ثابت نگه داشتن تعداد ارزیابیهای شایستگی، تاثیر اندازه جمعیت بر همگرایی الگوریتم و کیفیت نتایج را را بررسی کنید.
برنامه نویسی الگوریتم جستجوی غیر کلاسیک به زبان پایتون python توسط کارشناسان گروه ۱.۲.۳ پروژه پیاده سازی گردیده و به تعداد محدودی قابل فروش می باشد.فایلهای پروژه به صورت کامل پس از خرید فایل بلافاصله در اختیار شما قرار خواهد گرفت.
سفارش پروژه مشابه
درصورتیکه این پروژه دقیقا مطابق خواسته شما نمی باشد، با کلیک بر روی کلید زیر پروژه دلخواه خود را سفارش دهید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.