تمرین سری سوم درس هوش مصنوعی مدرس :دکتر سلیمانی ترم دوم سال تحصیلی 1394-95 دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف موعد تحویل 14 :فروردین 100نمره 15( -1نمره) هر کدام از حالت های خاص زیر معادل چه الگوریتم جستجوی محلی دیگری است؟ توضیح دهید. Local Beam Search .1.1با K=1 Local Beam Search .2.1با یک حالت شروع و بدون محدودیت در تعداد همسایههایی که نگه میدارد Simulated Annealing .3.1با T=0 Simulated Annealing .4.1با ∞=T .5.1الگوریتم ژنتیک با اندازه جمعیت N=1 15( -2نمره) میخواهیم با استفاده از الگوریتم Hill-Climbingمسئله ( Boolean Satisfiability Problemیک عبارت Boolean روی یک تعداد متغیر Booleanرا بررسی میکند که ببیند آیا به ازای هیچ نحوهی مقداردهی به متغیرها میتواند مقدارش صحیح باشد) را حل کنیم .هر وضعیت ( )stateشامل نحوهای از مقدار دهی تمامی متغیرها با استفاده از صحیح یا غلط است .تابع Successorحالت بعدی را تنها با عوض کردن مقدار یکی از متغیرها تولید میکند .برای مثال } {A=true,B=falseیک حالت مقداردهی است و همسایههای آن که توسط تابع Successorتولید میشوند حالتهای } {A=false,B=falseو } {A=true,B=trueمیتوانند باشند. .1.2 تابع successorما با داشتن nمتغیر چند حالت برای حالت فعلی تولید میکند؟ .2.2 فضای جستوجوی ما با فرض داشتن nمتغیر چه اندازه است؟ .3.2 عبارت زیر را در نظر بگیرید حالت بعدی تولید شده توسط الگوریتم در صورت وجود چیست؟ توضیح دهید).در حالت فعلی تنها مقدار Bصحیح است و بقیه دارای مقدار Falseهستند) )𝐷 ∨ 𝐵¬( ∧ )𝐶¬ ∨ 𝐵( ∧ )𝐶 ∨ 𝐵( ∧ )𝐶¬ ∨ 𝐴¬( ∧ )𝐵¬ ∨ 𝐴( .4.2 یک تابع هدف ( )objectiveمناسب برای این منظور پیشنهاد کنید. .5.2 برای عبارت زیر یک حالت بیابید (حالت نهایی نباشد یعنی تمامی عبارات را ارضاء نکند) که یک حالت بهینه محلی باشد. )𝐶¬ ∨ 𝐵 ∨ 𝐴¬( ∧ )𝐶 ∨ 𝐵 ∨ 𝐴¬( ∧ )𝐶¬ ∨ 𝐵¬ ∨ 𝐴¬( ∧ )𝐶¬ ∨ 𝐵 ∨ 𝐴( .6.2 فرض کنید تابع Successorما میتواند همسایگانی با حداکثر تغییر مقدار دو متغیر نسبت به حالت فعلی تولید کند در این حالت تعداد همسایگانی که برای حالت فعلی تولید میشود چه مقدار است)n>1(. 13( -3نمره) مسئله کوله پشتی صفر و یک (اینجا) به دلیل اینکه یک مسئله np-completeاست روشهایی مانند برنامه نویسی پویا ،شاخه و حد و ...برای حل آن زیاد کاربردی نیستند .یکی از بهترین روشهایی که بر روی مسئله کوله پشتی صفر یک جواب قابل قبولی میدهد الگوریتم ژنتیک است .نحوه حل مسئله کوله پشتی صفر -یک توسط الگوریتم ژنتیک را توضیح دهید (.نحوه مدل سازی ژنوم ها ،تابع Cross-، fitness Overو mutationرا مشخص نمایید). 6( -4نمره) در شکل زیر نمونهای از مسئله 8-puzzleبا حالت آغازین سمت چپ و حالت نهایی سمت راست نشان داده شده است: 3 2 1 2 8 3 6 5 4 1 6 4 8 7 7 5 .1.4آیا اگر از روش Hill Climbingبا استفاده از تابع هزینه ( )costمجموع فواصل منهتن اعداد تا محل نهاییشان برای حل این مساله استفاده کنیم (فرض کنید successorها همان همسایههای یک وضعیت باشند که با اعمال یک کنش ( )actionمعتبر به دست میآیند) ،مسئله را حل کنید ،آیا لزوما جواب بهینه به دست میآید؟ جواب غیر بهینه چه طور؟ توضیح دهید. .2.4آیا روش باال معادل greedy best first searchبا تابع اکتشافی ( )heuristicبرابر با تابع هزینه باالست؟ توضیح دهید. 6( -5نمره) برای هر کدام از مسائل زیر توضیح دهید که کدامیک از روشهای * Aیا Simulated Annealingمناسب است؟ .1.5متاسفانه در پارکینگی تعدادی ماشین در هم گره خوردهاند و صاحب پارکینگ میخواهد با کمترین جابهجایی ماشینها راه ماشینی که میخواهد از پارکینگ خارج شود را باز کند .برای این منظور به سراغ شما آمده و از شما درخواست راهنمایی دارد .توجه کنید که هر ماشین فقط میتواند به جلو و عقب جابهجا شود .برای مثال در شکل روبرو ماشین A قصد خروج از پارکینگ را دارد و بدین منظور باید ماشینهای Cو Gو Dبه پایین حرکت کنند تا ماشین Aبتواند از پارکینگ خارج شود. .2.5مساله قراردهی تعدادی ( ICبه شکل مستطیل با طول و عرض مشخص) بر روی یک تخته مدار چاپی بهطوریکه که کمترین سطح تخته به کار برده شود. -6زمانبندی استخر (پیادهسازی 45نمره) مسئله زمانبندی در حالت کلی یکی از مسائل NP-Hardاست که میتوان آنرا با استفاده از الگوریتمهای heuristic searchنظیر * Aحل نمود ،ولی این راه حل تنها برای حالتهای ساده در زمان منطقی جواب میدهد .یکی از بهترین الگوریتمها برای حل این مسئله الگوریتم ژنتیک است و به کمک این الگوریتم میتوان شکلهای پیچیدهتر این مسئله را نیز حل نمود. دانشگاه قصد دارد اقدام به برگزاری کالسهای شنا برای دانشجویان بکند و بدین منظور نیازمند برنامهریزی برای استفاده گروههای مختلف از استخر دانشگاه است .برای این مهم باید محدودیتهای زیر رعایت شود. .1 خانمها صبحها ( 8تا )12و آقایان در سانس عصر ( 12تا )18میتوانند از استخر استفاده کنند. .2 تنها امکان برگزاری یک کالس در استخر در هر لحظه امکان پذیر است. .3 به ازای برگزاری هر دو ساعت دوره یک ساعت استخر برای تمیز کردن محیط از دسترس خارج میشود. .4 مربیان و دانشجویان در یکروز نمیتوانند بیش از دو ساعت به تمرین بپردازند. .5 حداقل میزان اختصاص دادن زمان نباید کمتر از یکساعت در هر سانس باشد. .6 کلیه دورهها در هفته بایست به طور کامل اجرا گردند. .7 دانشجویان و مربیان عالقه دارند کالسشان پیوسته باشد (شکستن کالسها حداقل باشد (محدودیت نرم) ورودیهای مسئله: یک فایل jsonدر اختیار شما قرار گرفته که در آن آرایههای زیر قرار دارد: .1مربیان که برای هرکدام یک نشانه منحصر به فرد و نام در نظر گرفته میشود. .2گروههای دانشجویی :هر گروه دانشجویی یک نشانه و نام منحصر به فرد دارد و همینطور جنسیت اعضای گروه نیز مشخص شده است. .3مهارت :مهارتهای مختلفی آموزش داده میشود که هرکدام دارای نام و شناسه منحصر به فرد خود است. .4دوره آموزشی :دوره آموزشی نشاندهنده مشخصات دورهای است که باید ارائه گردد که شامل موارد زیر است: .1نشانه مربی دوره .2نشانه مهارت .3مدت زمان مورد نیاز در هفته .4گروه دانشجویی شرکت کننده در آن دوره توجه کنید که زمان شروع و پایان در اختیار داشتن استخر از ساعت 8تا 18میباشد و استخر از شنبه تا چهارشنبه (پنج روز) در اختیار ماست. برای زمانبندی به نحو بهینه در این شرایط ،با کمک گرفتن از الگوریتم ژنتیک ،راه حل مناسبی به دانشگاه ارائه کنید. نکات مهم انجام سوال: .1برای این سوال میتوانید از زبانهای C/C++, python, Javaاستفاده کنید. .2 خروجی کد شما باید ،یک جدول متشکل از روزها و ساعتهای موجود در هر روز کاری باشد و دورهها را در آن جدول ،در مکان مناسب قرار دهید . .3خروجی و توضیحات نحوه پیادهسازی شامل نحوه نمایش کروموزوم ،تابع Cross-Over ، fitnessو Mutationرا در یک سند به همراه کد خود ارسال کنید. موفق باشید
© Copyright 2025 Paperzz