PDA

View Full Version : سورس برنامه کشیشها و آدمخوارها به زبان پرولوگ



Farshad Paydar
یک شنبه 19 شهریور 1385, 21:07 عصر
با سلام.
من حدود 2 سال پیش برنامه کشیشها و آدمخوارها را با پرولوگ نوشتم و سورسش رو هم در این سایت گذاشته بودم، از آنجا که چند مرتبه از دوستان پیام خصوصی دریافت کرده ام که میخواستند سورس برنامه رو براشوم میل کنم تصمیم گرفتم دوباره اینجا آپلود کنم،
فایل ضمیمه شامل 3 فایل است:
PROJ_3.PRO : که مساله رو برای حالت 3 کشیش و 3 آدمخوار حل می کند.
PROJ_N.PRO : که مساله رو برای حالت N کشیش و N آدمخوار حل می کند. (N را از کاربر میگیرد)
GOAL.EXE : فایل اجرایی برنامه برای حالت N کشیش و N آدمخوار

impression
دوشنبه 24 تیر 1387, 11:26 صبح
با سلام
مسئله زیر پروژه درس هوش مصنوعی ماست که باید آن را تا فردا تحویل بدهیم در حالیکه آشنایی خیلی کمی با زبان پرولوگ داریم:ناراحت:. اگر جوابی برای آن دارید ممنون می شویم که برایمان بفرستید!
یک پازل ساده
هدف این پروژه حل کردن یک پازل ساده است. یک مساله برای این نوع پازل خاص می تواند به صورت زیر باشد:


3




X
X
X

2 2

X
X



X
X
2 3
X
X


X
X
X

2 2
X
X


X
X


6
X
X
X
X
X
X


5 1

X
X
X
X
X

X

3
5
2 1
2
4 1
4 1
3
1 1












همان طور که از شکل مشخص است هر سطر و هر ستون این جدول با یک رشته مشخص می شود که نشان دهنده ی خانه های اشغال شده آن است. مثلاً سطر اول متناظر با رشته 3 است که نشان می دهد سه خانه آن اشغال شده است. ویا ستون سوم متناظر با رشته 4 1 است که نشان می دهد این ستون با یک علامت و سپس با چهار علامت دیگر پر می شود.

چنین مساله ای را در پرولوگ با لیست های زیر می توان نشان داد:
[[3],[2,2],[3,2],[2,2],[6],[1,5]]
[[1,1],[3],[1,4],[1,4],[2],[1,2],[5],[3]]
برنامه ای به زبان پرولوگ بسازید که یک پازل را (به صورت دو لیست فوق ) گرفته آن را با بکارگیری دو الگوریتم زیر حل کند و روی صفحه نمایش نشان دهد. روش حل مسئله را نیز از نظر زمان حل و تعداد حالات مقایسه شده مقایسه کند.
forward checking , partially look ahead

منبع: نود و نه مساله پرولوگ، ورنر هت

impression
دوشنبه 24 تیر 1387, 11:31 صبح
با سلام
مسئله زیر پروژه درس هوش مصنوعی ماست که باید آن را تا فردا تحویل بدهیم در حالیکه آشنایی خیلی کمی با زبان پرولوگ داریم:ناراحت:. اگر جوابی برای آن دارید ممنون می شویم که برایمان بفرستید!
یک پازل ساده
هدف این پروژه حل کردن یک پازل ساده است. یک مساله برای این نوع پازل خاص می تواند به صورت زیر باشد:


3




X
X
X

2 2

X
X



X
X
2 3
X
X


X
X
X

2 2
X
X


X
X


6
X
X
X
X
X
X


5 1

X
X
X
X
X

X

3
5
2 1
2
4 1
4 1
3
1 1



http://barnamenevis.org/forum/c:\a.bmp








همان طور که از شکل مشخص است هر سطر و هر ستون این جدول با یک رشته مشخص می شود که نشان دهنده ی خانه های اشغال شده آن است. مثلاً سطر اول متناظر با رشته 3 است که نشان می دهد سه خانه آن اشغال شده است. ویا ستون سوم متناظر با رشته 4 1 است که نشان می دهد این ستون با یک علامت و سپس با چهار علامت دیگر پر می شود.

چنین مساله ای را در پرولوگ با لیست های زیر می توان نشان داد:
[[3],[2,2],[3,2],[2,2],[6],[1,5]]
[[1,1],[3],[1,4],[1,4],[2],[1,2],[5],[3]]
برنامه ای به زبان پرولوگ بسازید که یک پازل را (به صورت دو لیست فوق ) گرفته آن را با بکارگیری دو الگوریتم زیر حل کند و روی صفحه نمایش نشان دهد. روش حل مسئله را نیز از نظر زمان حل و تعداد حالات مقایسه شده مقایسه کند.
forward checking , partially look ahead

منبع: نود و نه مساله پرولوگ، ورنر هت