با سلام
مسئله زیر پروژه درس هوش مصنوعی ماست که باید آن را تا فردا تحویل بدهیم در حالیکه آشنایی خیلی کمی با زبان پرولوگ داریم. اگر جوابی برای آن دارید ممنون می شویم که برایمان بفرستید!
یک پازل ساده
هدف این پروژه حل کردن یک پازل ساده است. یک مساله برای ایننوع پازل خاص می تواند به صورت زیر باشد:
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
منبع: نود و نه مساله پرولوگ، ورنر هت