0

我有一个板解算器,其解算器的一般形式如下:

solver(Board):-
    constraints(Board),
    search(Board).

它通过了约束谓词,但搜索部分出现错误,如下所示:

search(Board):-
    term_variables(Board,Vars),
    sd:labeling(Vars).

错误发生在标注谓词 中,错误为:

域内实例化错误(_258{[9 .. 13, 15 .. 20]})

那么问题是什么?(我在域内谓词中看不到任何问题)。

4

1 回答 1

0

正如@jschimpf 在评论中提到的,这里的重点是混合两个库的功能可能是不可能的。因此,安全代码被提升为尽可能使用同一库的相同功能。同样的事情也发生在这里。constraint(Board)使用库中的#=(作为整数暂停)ic,但在 中labeling,代码尝试使用sc库。这就是问题的根源。

您应该注意到,这可能是此错误消息的一个原因。

于 2019-04-26T17:10:00.613 回答