Prolog中填字游戏的广义解算器

时间:2014-10-08 08:26:48

标签: prolog crossword

这是问题和解决方案的专用版本。 Learning Prolog: solving a crossword scheme

我正在寻找的是使用相同模型的广义求解器。我想我需要动态生成这些变量名称,但我不知道如何。我正在使用swi-prolog。

通过广义求解器,我指的是一个能够解决N×N填字游戏的求解器,N未预定义。

1 个答案:

答案 0 :(得分:0)

在Prolog中,有很多有趣的方法可以动态生成变量名称。这是一个非常简单的问题:

?- length(X, 3).
X = [_G945, _G948, _G951].

这是有效的,因为实现了length/2来遍历列表,但它实际上并没有对列表中的内容建立绑定。您可以执行与任何其他数据结构类似的操作,遍历结构而不检查其中包含的值。一些Prolog书籍将此称为“带洞的数据结构”。