تمرین سری دوم درس هوش مصنوعی مدرس :دکتر سلیمانی ترم دوم سال تحصیلی 1394-95 دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف موعد تحویل تمرین نظری :یکشنبه 16اسفند ساعت 24 موعد تحویل تمرین عملی :پنجشنبه 20اسفند ساعت 24 نمره5+100 : بخش اول( سواالت نظری ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ 15( .1نمره) به سواالت زیر پاسخ دهید. الف) در روش جستجوی ،UCSچه نکاتی باید لحاظ شود که در جستجوی گرافی هر گاه یک stateبه باالی صف اولویت رسید ،بعد از آن دیگر نیاز به بررسی و به روز رسانی آن stateنباشد؟ توضیح دهید. ب) بخش الف را برای الگوریتم * Aحل کنید ،یعنی بیان کنید که چه شرطی باید برقرار باشد تا اولین مسیری که به هر گره پیدا می کنیم ،کوتاهترین مسیر به آن گره باشد؟ توضیح دهید. ج) فرض کنید تابع هزینهی * Aبه صورت زیر باشد: )f(s) = αg(s) + (1-α)h(s که αبین 0و 1است .بررسی کنید که در حاالت حدی A* ،با استفاده از تابع باال به چه الگوریتمی تبدیل میشود. د) فرض کنید قصد داریم از تعدادی تابع هیوریستیک 𝑛 ℎ1 , . . , ℎکه همگی سازگار 1و قابلقبول 2میباشند ،یک هیوریستیک ترکیبی 1 تهیه کنیم .در مورد سازگاری و قابلقبول بودن تابع هیوریستیک ) 𝑖 𝑛 (∑𝑛𝑖=1 ℎتوضیح دهید. .2 ( 15نمره) افرادی قصد دارند به مهمانی بروند .هوا تاریک است و یک پل باریک در سر راه وجود دارد .عبور از پل فقط با تنها چراغقوه موجود ممکن است .این افراد بسیار عجله دارند .در نهایت همه افراد باید در کمترین زمان ممکن از پل عبور کرده باشند .هر فرد یک سرعت حداکثر دارد .شرایط زیر در مساله وجود دارد. در یک زمان حداکثر دو نفر میتوانند از پل عبور کنند. یک نفر باید چراغقوه را برای استفاده از بازماندگانی که از پل عبور نکردهاند برگرداند. اگر دو نفر به طور همزمان حرکت کنند سرعت آنها حداکثر به اندازه کم سرعتترین فرد است. الف .این مساله را به صورت یک مساله جستجو فرموله کنید .تعداد حاالت فضای حالت را محاسبه کنید. ب .یک تابع هیوریستیک مناسب برای این مساله پیدا کنید. مثال :گروهی شامل 4فرد که هر کدام به ترتیب در 5 ،2 ،1و 10دقیقه از پل عبور میکنند ،در نظر بگیرید .جواب بهینه برای این گروه 17دقیقه است که شامل قدمهای زیر است. )1فرد 1و 2از پل عبور میکنند ( 2دقیقه). )2فرد 1برمیگردد ( 1دقیقه). )3فرد 3و 4از پل عبور میکنند ( 10دقیقه). )4فرد 2برمیگردد ( 2دقیقه). )5فرد 1و 2از پل عبور میکنند ( 2دقیقه). توجه شود که این جواب بهینه ممکن است تنها جواب بهینه نباشد. consistency admissible 1 2 15( .3نمره) فرض کنید فضای حالت مسئلهای به صورت زیر است و مقادیر هزینهی کنشها روی یالهای مربطه مشخص شده است .همینطور مقدار تابع heuristicداخل هر گره نشان داده شده است: start h = 10 4 4 A 10 B h= 8 h= 7 4 4 D 5 h= 4 E C 3 h=5 h= 3 1 5 Goal h= 0 الف) ( 5نمره) مسیر بدست آمده و دنبالهی حاالت گسترش یافته با استفاده از الگوریتم UCSرا بنویسید. ب) ( 10نمره) مسیر بدست آمده و دنبالهی حاالت گسترش یافته با استفاده از الگوریتم * Aرا مشخص کنید .آیا * Aجواب بهینه را میدهد؟ اگر نه ،دلیل چیست و چه تغییراتی باید اعمال شود؟ 30( .4نمره) فرض کنید یک گراف داریم که هر گره آن ،یکی از 3نوع دشت ،جنگل ،و آب است .شخصی میخواهد از نقطهی جنوب غربی نقشه به دوستش در نقطهی شمال شرقی برسد .او از آب نمیتواند عبور کند و سرعت حرکت او در دشت دو برابر سرعت حرکتش در جنگل است و میخواهد در کمترین زمان ممکن به مقصد برسد .وزن یالها بدین صورتند که اگر دو سر یک یال ،دشت باشند ،وزن یال ،1اگر یک سرش دشت و سر دیگرش جنگل باشد 2و اگر هر دو سرش جنگل باشد 4 ،است. وزن یالی که یک سرش آب است ،برای این شخص بینهایت است .نقطهی ،Sمحل شروع و Gهدف است. فرض کنید قرار است با * Aمسئله را حل کنیم .تابع هزینه را بدین صورت تعریف کردهایم: )f(s) = αg(s) + (1-α)h(s 5( )1.4نمره) چه مقداری را برای پارامتر αپیشنهاد میکنید؟ آیا بهتر است این پارامتر ثابت باشد یا متغیر؟ اگر متغیر باشد، بهتر است تغییرات آن به چه شکل باشد؟ توضیح دهید. )2.4فرض کنید نقشه به صورتی باشد که در صفحهی بعد آمده (زرد :دشت ،سبز :جنگل ،آبی :دریاچه): G S الف) ( 5نمره) الگوریتم ( IDSالگوریتم DFSعمیق شوندهی تکراری) را تا 4دور ( )iterationاجرا کنید و دنبالهی حاالت بررسی شده را گزارش کنید. ب) ( 5نمره) الگوریتم * IDAرا (از بخش 3.5.3کتاب آقای راسل و نرویگ) مطالعه کنید و نحوه عملکرد این الگوریتم را توضیح دهید. ج) ( 5نمره) یک تابع هیوریستیک برای این مسئله ارائه دهید( .راهنمایی :فرض کنید فاصلهی گرهها را با فرض 1بودن وزن همهی یالها داریم). د) ( 10نمره) روی همان نقشهی بخش الف ،الگوریتم * IDAرا تا 4مرحله (یعنی 4بار تمام شدن گرههای قابل گسترش با upper boundفعلی) پیاده کنید و دنبالهی حاالت بررسی شده در هر مرحله و upper boundهر مرحله را بنویسید. بخش دوم) سوال عملی ( 30نمره) ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ شخصی در منهتن یک پیتزافروشی با دو شعبه تاسیس کرده و دو نفر را برای تحویل غذا استخدام کرده است .امروز او kسفارش تحویلی داشته و قرار است این دو نفر ،غذاها را تحویل دهند به طوری که این کار در کمترین زمان انجام شود .متاسفانه ،در منهتن کارگران مشغول کارند و خیابان هست ،ولی کم است:( .دی) فرض کنید هر کدام از دو نفر با خود به تعداد سفارش کل مقصدها ،پیتزا همراه دارند (یعنی هر کدام به تنهایی قادر است کل سفارشها را جوابگو باشد) .منهتن به صورت یک صفحه مربعی است (که به مربعهای 1*1تقسیم شده) .در نقشهی داده شده به شما که در فایلی به نام map.txtآمده ،دو شعبهی رستوران با ،Rخیابانها با ،Sخیابانهای بسته شده با Bو مقاصد با Dمشخص شدهاند .در هر یک دقیقه ،هر کدام از این دو نفر به اندازهی یک مربع ( 1*1به چپ ،راست ،باال یا پایین) حرکت میکند یا سر جایش میماند. الف) فرض کنید خیابانهای منهتن عریض است و این دو نفر می توانند همزمان در یک خیابان باشند .با استفاده از الگوریتم * ،Aبهترین مسیر ممکن برای این دو نفر و زمان پایان تحویل سفارشها را پیدا کنید .انتخاب تابع هیوریستیک به عهدهی خودتان است و مناسب بودن این تابع نیز قطعا اهمیت دارد! ب) در این بخش فرض کنید خیابانها تنگ است و این دو نفر نمی توانند همزمان وارد یک خانه از نقشه شوند .در این حالت مسئله را با * Aحل کنید و بهترین مسیر و بهترین زمان را گزارش دهید. موفق باشید
© Copyright 2026 Paperzz