【发布时间】:2020-01-19 14:01:53
【问题描述】:
所以我一直在学习 Prolog,为了测试自己,我想解决一个难题。我想我很接近解决它,但我似乎做错了什么。看来我的谓词 block/3 没有被调用。
也许这是一个语法错误,或者我正在做一些在 Prolog 中不起作用的事情。我看不到。
block/3 应该给出block/2 中所有可能的集合组合。
我不确定它是否完全相关,但我会包括拼图的目标:
有四个立方体,它们的脸上有四个图像的不同组合。 (Kim、Lab、Hail 和 Com)
目标是将立方体对齐,如果将它们放在一起,则彼此相邻的所有边都应该相同。所以每个立方体周围有四行相同的行,然后两侧也应该匹配。
我编写的程序只是解决行,而忽略图像的方向和两侧。如果给出的答案不止一个,那么手动尝试的答案也不应该太多。
无论如何,不知何故solve(X) 完全忽略了我的谓词block/3。看了很久,没找到问题。
【问题讨论】:
标签: prolog