无法实现的优先级分配
我正在研究 gnu prolog 的分发问题。我试图根据时间条件将教师分配到几个学校科目。理想情况的代码如下所示。 soln(X) :- X = [T1M, T1E, T1H, T2M, T…
评估 prolog 中的规则
我想将以下决策规则转换为Prolog语言 ------Decision Rules--------- if (Right-Weight 2.5) and (Left-Distance > 1.5) then class: R (proba: 95.4%…
在 prolog 调用中比较两个解决方案
我编写序言程序如下。现在,当我将 halfsister 谓词运行为 halfsister(X,Y) 时。我得到了结果 X = ann Y = sylvia ? ; X = sylvia Y = ann ? ; ,但两…
反转列表时出现 prolog 空列表错误
首先,我对 Prolog 很陌生,只是想了解最基本的知识。 我必须工作一个连接两个列表的简单函数和一个反转列表的函数。 这个实现: cconcat([], L, L). …
统一算法实际上是如何工作的?
我有这个 Prolog 代码: bar(b). bar(c). baz(c). 这个查询: bar(X), baz(X). 返回 X = c 如果我有这个程序,它有点不同: bar(c). bar(b). baz(c). …
教程示例中的 tau prolog 存在_错误
我正在遵循 tau-prolog 教程,但遇到了此错误: throw(error(existence_error(procedure,/(fruits_in,2)),/(top_level,0))) 我的index.html是 Hello, …
为什么在规则中提及没有任何事实的谓词时,SWI-Prolog 会失败?
这是我的 Prolog 程序: :- set_prolog_flag(verbose, silent). :- initialization(main). :- use_module(library(tabling)). :- table reachable/1. …
在SWI Prolog中,如何防止解释器在错误期间进入交互模式?
假设我有一个像这样损坏的程序: :- set_prolog_flag(verbose, silent). :- initialization(main). main :- not_valid(X), halt. main :- halt(1). 当…
在 Prolog Amzi 中,_(下划线)在这种情况下意味着什么
我一直在尝试学习一些Prolog Amzi。这是一个示例问题,我无法完全理解这个问题。 这是代码。 /* Facts */ parent(mary,tom). parent(john,tom). paren…
找到一组解决方案并在 SWI-Prolog 中终止?
这是我的程序: reachable(X) :- start(X). reachable(X) :- link(Y, X), reachable(Y). start(london). link(london, paris). link(paris, london). …
如何翻译“其中一个目的”? Prolog 中的列表?
据说伊诺在一家有4个座位的电影院里。伊诺坐在一端。 我想知道的是如何将“其中一个目的”翻译成代码。 这里,4个席位是长度为4的List P。 我尝试使用…
反转没有重复项的列表(将其转换为集合)->序言
我需要从列表中删除所有重复项,然后以相反的顺序显示它。 到目前为止我有这个: reverseInSet([], Y,R):- R=Y. reverseInSet([H|T], Y, R):- removeE…
参数未实例化,需要从零开始但也能够更改它
每当我运行代码时,都会收到一个错误,表明参数未实例化。 ads(X,Z):- mod(X,2) =:= 0, Z is Z+X. ads(X,Z) :- mod(N,2) =\= 0,Z is Z. sum_of_nums(0…