问题标签 [failure-slice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
list - Prolog程序以任何顺序查找两个列表的相等性
我想编写一个 Prolog 程序来查找两个列表的相等性,其中元素的顺序
无关紧要。所以我写了以下内容:
但是,当我提供类似的输入时equal([1,2,3],X).
,它并没有显示所有可能的值X
。相反,程序挂在中间。可能是什么原因?
prolog - 为什么此命令会导致 prolog 中的堆栈溢出?
我有以下序言代码片段:
有人可以解释为什么以下命令会导致堆栈溢出吗?提前致谢。
prolog - prolog - 无限规则
我有下一个规则
查询是:ackermann (M,N,s(s(0)))
。
现在,据我了解,在第三次计算中,我们得到了无限搜索(失败分支)。我检查了一下,我得到了一个有限搜索(失败分支)。
我将解释:首先,我们得到了 M=0, N=s(0) 的替换(规则 1 - 成功!)。在第二个中,我们得到了 M=s(0),N=0 的替换(规则 2 - 成功!)。但是现在呢?我尝试匹配 M=s(s(0)) N=0,但它有一个有限搜索 - 失败分支。为什么编译器不写我“失败”。
谢谢你。
prolog - Prolog中的全局堆栈错误
我正在尝试在 Prolog 中运行以下程序。
程序应计算从 li 和 hi 之间的每个数字到 lo 和 ho 之间的结果的适当的加法和乘法路径。加法对应字母 A,乘法对应 M。在程序结束时,我们应该得到对应于我们找到的路径的 As 和 Ms 字符串。
该程序运行良好,但在尝试测试用例时:
我收到“错误:超出全局堆栈”消息。
任何想法代码有什么问题?
prolog - Prolog:全局堆栈出错,对我来说似乎是一级递归
我对序言很生疏,但我不确定为什么这样的事情会失败:
所以,如果我评估 frack(4)。从定义了上述事实的交互式提示中,我希望它不必无休止地递归,因为 4-1 = 3。但是我在 SWI-Prolog 中收到此错误:
prolog - Prolog 谓词 - 无限循环
我需要使用自然数为 2 的幂创建一个 Prolog 谓词。自然数是:0、s(0)、s(s(0)) 等等。
例如:
这是我的代码:
它与第一个示例完美配合,但在第二个示例中进入无限循环。
我该如何解决这个问题?
prolog - Prolog 后继符号产生不完整的结果和无限循环
我开始学习 Prolog 并首先了解了后继符号。
这就是我发现在 Prolog 中编写 Peano 公理的地方。
请参阅PDF的第 12 页:
我将乘法规则放入 Prolog。然后我进行查询:
这意味着基本上找到了 6 的因数。
这是结果。
这个结果有两个问题:
- 并未显示所有结果,请注意结果 X=6,Y=1 缺失。
- 它不会停止,除非我 Ctrl+C 然后选择中止。
所以......我的问题是:
- 这是为什么?我尝试切换“prod”和“sum”。结果代码给了我所有的结果。再说一次,为什么会这样?虽然它仍然是死循环。
- 如何解决?
我读了关于无限循环的另一个答案。但我很感激有人根据这种情况回答。它对我有很大帮助。
prolog - 为什么 Prolog 在这个简单的例子中会崩溃?
您好,上面是一个非常简单的 prolog 文件,其中包含一些事实和一条规则:John 喜欢任何喜欢他的人。但是在加载此文件并询问 Prolog 以下查询后:
程序崩溃。likes(john,john)
原因是即使规则规定了prolog 也会卡住X\=john
。
有什么建议吗?
prolog - 序言:毕达哥拉斯三元组
我有这段代码,它使用一个上限变量 N,它应该终止于勾股三元组的 X 和 Y。然而,它只有在达到上限时才会冻结。不知道如何使用剪切来停止回溯。代码是:
将被称为,例如,
prolog - 转换一个句子会创建一个无限循环 - 但是如何?
我不知道这是哪里出了问题。请注意,我对 Prolog 很陌生,我确信我错过了一些东西——只是不知道那可能是什么。有人可以帮我吗?
谢谢,这是我的代码: