我正在尝试为 CS 家庭作业找出这个问题(我将其标记为家庭作业,我只需要朝着正确的方向迈出一步)。编辑:显然“家庭作业”标签已过时,不再使用。无论如何,我必须在 Prolog 中编写一个规则定义,确定给定的移动列表可以解决塔。我知道说明不好,我的教授很不清楚,但我所拥有的就是必须满足以下条件:
?- hanoi(1,l,c,r,[[l,r]]).
true.
?- hanoi(1,l,c,r,[[c,r]]).
false.
?- hanoi(2,l,c,r,[[l,c],[l,r],[c,r]]).
true.
?- hanoi(3,l,c,r,M).
M = [[l,r], [l,c], [r,c], [l,r], [c,l], [c,r], [l,r]].
我一点也不知道上述任何内容应该暗示我做什么,所以任何指导都将不胜感激!它不会让我这样标记它,但是,就像我说的,这是一个家庭作业问题(尽管考虑到缺乏解释,这似乎是一个非常困难的问题),所以我不一定想要一个我想要的答案准确了解正在发生的事情。
非常感谢大家!!