Artificial intelligence 我考试时问的算术难题

Artificial intelligence 我考试时问的算术难题,artificial-intelligence,cryptarithmetic-puzzle,Artificial Intelligence,Cryptarithmetic Puzzle,谁能一步一步地解决这个密码算法 谢谢你Prolog能做到!(所有这些都是Stackoverflow,您已经标记了您的问题) 总体思路是首先选择所有变量,然后检查谜题条件 现在 将打印找到的第一个解决方案。与: ?- solution(O,N,E,T,W,F,U,R). 您可以看到有不同的解决方案 通过跟踪查询的执行,您可以按顺序查看作为查询一部分执行的所有目标,以及它们是否成功(还可以查看作为Prolog回溯发生的步骤): (您可以使用平台来播放示例) 传统上(在: 每个字母应代表不同的数字

谁能一步一步地解决这个密码算法 谢谢你

Prolog能做到!(所有这些都是Stackoverflow,您已经标记了您的问题)

总体思路是首先选择所有变量,然后检查谜题条件

现在

将打印找到的第一个解决方案。与:

?- solution(O,N,E,T,W,F,U,R).
您可以看到有不同的解决方案

通过跟踪查询的执行,您可以按顺序查看作为查询一部分执行的所有目标,以及它们是否成功(还可以查看作为Prolog回溯发生的步骤):

(您可以使用平台来播放示例)


传统上(在:

每个字母应代表不同的数字,并且(如在普通算术符号中)多位数的前导数字不得为零。一个好的谜题应该有一个独特的解决方案,字母应该组成一个短语

您可以强制“前导数字不得为零”-添加规则:

?- trace, solution(O,N,E,T,W,F,U,R).

无论如何,这个问题有多种解决方案。

你的问题很有趣,但你至少应该试一下自己的问题。
?- solution(O,N,E,T,W,F,U,R).
?- aggregate_all(count, (solution(O,N,E,T,W,F,U,R)), Count).
?- trace, solution(O,N,E,T,W,F,U,R).
not(O = 0), not(T = 0), not(F = 0).