存在算术运算符时 prolog 中的统一行为
12 ?- 3+4*5 = X+Y. X = 3, Y = 4*5. 13 ?- 3+4*5 = X*Y. false. 16 ?- 3*4+5 = X*Y. false. 我在期待 13 ?- 3+4*5 = X*Y. X = 3+4, Y = 5. 16 ?- 3*4…
Haskell 中实例化类型变量
编辑:已解决。我不知道在源文件中启用语言扩展并没有在 GHCi 中启用语言扩展。解决方案是在 GHCi 中 :setFlexibleContexts 。 我最近发现 Haskell 中…
模式匹配和统一之间的区别?
我以为我理解 Scala 和 Haskell 中的模式匹配与 Prolog 中的统一有何不同,但我对 Prolog 的误解很大。有哪些简单的问题,一个人可以解决,另一个人却…
为什么 SWI-Prolog 将带引号和不带引号的字符串(不含空格)统一为同一规则?
假设我有以下规则: unify('test', 'this is a test'). run :- write('Enter something: '), read(X), unify(X, Y), write('The answer is '), write(…
Haskell 中的模式匹配等效变量,就像 Prolog 中一样
在 prolog 中,我们可以执行如下操作: myFunction a (a:xs) = ... 即,当 myFunction 的第一个参数与第二个参数中的列表的第一项相同时,该函数将计…
为什么这个 Prolog 谓词不统一?
我正在编写一个谓词来查找 A* 迭代的所有可能的后继状态,并将它们放入类似 [(cost, state), ...] 的列表中,目前处于此状态: addSuccessors(L, [], …
将 X,Y 与 (1,2), (1,-2), (-1,2), (-1,-2), (2,1), (2) 统一的优雅方法是什么,-1) , (-2,1), (-2,-1)?
将 X,Y 与 (1,2), (1,-2), (-1,2), (-1,-2), (2,1), (2,-1) 统一的优雅方法是什么, (-2,1), (-2,-1)? 这样做似乎容易出错且乏味: foo(1,2). foo(1,-2…
如何用 Java 或 C# 等语言实现统一算法?
我正在研读我拿到的人工智能教科书,并解决了我的部分的最后一个作业问题: “用您选择的任何语言实现第 69 页上概述的统一算法。” 在第 69 页,您有…
SICP统一算法中看似不必要的情况
我试图理解 SICP 此处 特别是,在“extend-if-possible”过程中,有一个检查(第一个标有星号“*”的地方),用于检查右侧“表达式”是否为已绑定到当…
最佳的“最通用的统一器”是什么? 算法?
问题 什么是最有效的 MGU 算法? 它的时间复杂度是多少? 在堆栈溢出答案中描述是否足够简单? 我一直试图在 Google 上寻找答案,但不断发现只能通过 …