هوش مصنوعی: تمرین پرولوگ نهایی چهارشنبه چهاردهم دی 1390 18:12
به عنوان تمرین پایانی، یکی از دو بازی زیر را انتخاب کرده و آن را با استفاده از پرولوگ، پیاده سازی نمایید. 

1- http://www.smart-kit.com/s7284/frog-jumping-puzzle

2- http://www.smart-kit.com/s888/river-crossing-puzzle-hard

بازی دوم مشابه مسئله کشیش ها و آدم خوارهاست. همانطور که می دانید، نمایش گرافیکی بازی برای ما در این درس، اهمیت ندارد. بنابراین و برای یکسان بودن نتایج، از قرارداد زیر استفاده نمایید:

در بازی1: برای نمایش قورباغه هایی که به سمت چپ می رونداز علامت > و برای نمایش قورباغه هایی که به سمت راست می روند از علامت <  و برای سنگ خالی از حرف O استفاده نمایید. 

در بازی2: اگر در روش بازنمایی خود احتیاج به استفاده از نامی برای هریک از اشخاص و موجودات داخل بازی داشتید، آنها را با نام کامل انگلیسی یا اول نام انگلیسی اش، نمایش دهید. استفاده از نام کامل به دلیل مفهوم تر بودن نتیجه، ارجحیت دارد. بنابراین نام های زیر را خواهیم داشت:

boy, girl, farmer, dog, rabbit, hamster

تمرین پایانی در قالب گروه های دو نفره انجام شود. در نهایت یک فایل pl. توسط یکی از دو عضو گروه برای من ارسال شود. نام اعضای گروه را در اسم فایل تمرین (مثلا: asadi-ahmadi-frog.pl یا asadi-ahmadi-river.pl) و در همچنین داخل آن به صورت Comment بنویسید. 

ارائه تمرین کپی، منجر به نمره منفی برای هر دو گروه خواهد شد.

مهلت ارسال این تمرین: 8 بهمن 1390 


برچسب‌ها: پرولوگ
نوشته شده توسط اکرم شکری  | لینک ثابت

[اسلاید الگوریتم ژنتیک]

[اسلاید فصل ۵]

[جلسه سوم پرولوگ]

[جلسه چهارم پرولوگ]

دو فایل jar زیر، نحوه اجرای الگوریتم جستجوی CSP را در با در نظر گرفتن آروین های متفاوت نشان می دهند.

۱. مثال رنگ آمیزی نقشه برای ایالت های آمریکا [دانلود]

۲.مثال ۵-وزیر و ۸-وزیر ، مسئله زمانبندی و جدول کلمات متقاطع [دانلود]


برچسب‌ها: پرولوگ
نوشته شده توسط اکرم شکری  | لینک ثابت

هوش مصنوعی: تمرین شماره 3 پرولوگ دوشنبه بیست و یکم آذر 1390 12:45

یک بازی مار و پله را در نظر بگیرید که حداقل 4 پله و 4 مار دارد. برای مثال ابتدا و انتهای پله ها و مارها برای 3 مار و 3 پله می تواند مشابه زیر باشد:

 

پله 1

پله 2

پله 3

مار 1

مار 2

مار 3

ابتدا

6

12

54

19

44

91

انتها

15

71

97

3

21

6

 صفحه بازی 100 تایی است و از یک تا 100 شماره بندی شده است. می خواهیم این بازی یک نفره بوده و با نوشتن کلمه run و زدن Enter توسط کاربر بازی، کامپیوتر، این بازی را به تنهایی انجام دهد به این ترتیب که تاس بریزد و سپس به تعدادی که توسط تاس مشخص می شود مهره را جلو ببرد (به مقصد منتقل کند) و خروجی اش این باشد که به ازای هر حرکتی که می خواهد انجام دهد چاپ نماید که چه شماره تاسی آورده است و مهره، بعد از آن حرکت در کدام خانه قرار گرفته است. در صورت رسیدن به پله و بالا رفتن از آن یا رسیدن به مار و رفتن به ابتدای دم مار، پیغام مناسب چاپ شود. این کار باید تا رسیدن به مقصد ادامه یابد.

مثالی از یک خروجی مناسب و خوانا:

place is 1, toss is 5, going to 6.

place is 6, ladder, going to 15.

place is 15, toss is 4, going to 19.

place is 19, SNAKE, going down to 3.

....

برای ریختن تاس می توانید از تابع random(L,H,R) استفاده کنید که دو عدد L و H را می گیرد و R را که عددی تصادفی بین آنهاست تولید میکند.  مهره در ابتدا در خانه 1 قرار دارد. همچنین برای به مقصد رسیدن نیاز نیست که عین عدد 100 به دست آید؛ یعنی اگر مهره در خانه 98 باشد و با ریختن تاس عدد 5 بیاید هم، مهره به انتها رسیده قلمداد می شود. fact ها و rule های مورد نیاز را برای این بازی بنویسید به طوری که با نوشتن کلمه  run اجرای بازی توسط کامپیوتر آغاز شود و خروجی مورد انتظار چاپ گردد. دقت کنید که مهره ها در راه ممکن است به مارها و پله ها برخورد نمایند.

برنامه خود را حتماً در محیط SWI-prolog نوشته و اجرا کنید. سپس پرینت یا دستنویس صحیح آن را در کلاس شنبه 26 آذر تحویل دهید (برنامه تحویلی باید فاقد هرگونه خطای دستوری باشد).

تحویل فقط به صورت گفته شده و در کلاس درس پذیرفته می شود. امکان تحویل با تاخیر یا ایمیل کردن، وجود ندارد.


برچسب‌ها: پرولوگ
نوشته شده توسط اکرم شکری  | لینک ثابت

دانشجویان عزیز،

مثال های مطرح شده در کلاس و مثال محاسبه قدر مطلق را از لینک های زیر دریافت نمایید.

همچنین محاسبه ماکزیمم دو عدد را در پرولوگ پیاده سازی نموده و آن را تا حد امکان ساده نمایید (مشابه مثال قدرمطلق). لازم است کد محاسبه ماکزیمم را در محیط SWI-Prolog نوشته و اجرا کنید و سپس کد محاسبه ماکزیمم (هم به روش اولیه ای که به ذهن می رسد و هم نمونه [ها]ی ساده شده آن) را به صورت کاغذی تحویل دهید.

توجه شود که آنچه تحویل می دهید باید نمایانگر یک برنامه درست و قابل اجرا باشد (بدون مشکلات syntax و یا الگوریتمی). بنابراین اگر دستنویس ارائه می دهید دقت داشته باشید که نام متغیرها، مسندها و کلیه علائم دستوری درست باشد.

[مثال های مطرح شده در کلاس]

[کد محاسبه قدرمطلق و ساده سازهای آن]


برچسب‌ها: پرولوگ
نوشته شده توسط اکرم شکری  | لینک ثابت

دانشجویان گرامی

روابطی که به عنوان تمرین مطرح شد (۴ مورد) را در محیط برنامه نوشته و تست کنید. پس از بررسی درستی، آنها را روی کاغذ نوشته و در کلاس روز شنبه ۱۲ آذر تحویل دهید.

[دانلود فایل مثال پرولوگ]


برچسب‌ها: پرولوگ
نوشته شده توسط اکرم شکری  | لینک ثابت

هوش مصنوعی: ادیتور و مفسر پرولوگ جمعه چهارم آذر 1390 19:51

دانشجویان عزیز

برای نوشتن و اجرای برنامه های پرولوگ، از SWI-Prolog استفاده خواهیم کرد. می توانید نسخه مناسب پلتفرم خود را از آدرس  http://www.swi-prolog.org/download/stable دانلود نمایید.


برچسب‌ها: پرولوگ
نوشته شده توسط اکرم شکری  | لینک ثابت