Prolog是最常用的逻辑编程语言。它通过按时间顺序回溯和通过统一的模式匹配来支持非确定性编程。
我想在Prolog中找到前10个梅森素数,我已经实现了以下内容: % 定义一个谓词来检查数字是否为素数。 is_prime(N) :- N > 1, \+ has_diviso...
我有下面的代码来添加s(0)(代表0的后继者)和p(0)(代表0的前任者)。但是,当我运行下面列出的查询时,输出为 Z = p(s(s(s(s(0)...
我想建立两个给定数字范围内的数字列表。 例如: BetweenRange(1,5,X) 将给出答案:X=[1,2,3,4,5]。 知道怎么做吗? 我尝试过类似的事情:
请看以下汉诺塔问题的“解决方案”: F([],[],_)。 f([A|As],[],C) :- f(As,[A],C). f([A|As],B,[]) :- f(As,B,[A]). f([],[B|Bs],C) :- f([B],Bs,C). f(A,[B|Bs],[]) :-...
我正在尝试编写一个简单的过程来检查列表是否有重复项。这是我到目前为止所尝试过的: 如果列表没有重复项,% 返回 true。 no_duplicates([X|XS]) :- 成员...
为什么这不起作用? ?- '。'(A,[])。 错误:未知过程:('.')/2 错误:但是,有以下定义: 错误:('.')/3 错误的。 ?- 。(A,[])。 错误:未知过程:('.')/2 ...
Swi Prolog Editor 只显示 false,不显示 true
假设我的知识库包含一个事实: 事实(事实1)。 如果我知道提交查询事实(fact1)。 39? - 事实(事实1)。 40?- 它什么也没说,相当于 true。 B/c 如果错了,亲...
从 html 中众所周知,marquee 显然是语义网的顶峰。或者更确切地说,它的最低点与闪烁标签并排。无论如何,我们如何在 Prolog 中表示选取框?换句话说,...
我正在使用SWI-PROLOG。 给定一个列表,其中几乎所有元素都是复合术语,例如: ?- MyList = [json([a=1, b=2]), json([a=4, b=1]), 999, json([a=7, b=2])]。 我只想过滤化合物...
:- p(f(X),f(f(Y)),f(f(b)))。 p(f(a),f(X),f(f(X)))。 p(f(a),f(a),f(f(X)))。 p(X,f(f(Y)),X) :- p(Y,f(f(Y)),f(f(X)))。 p(f(X),Y,Z) :- p(X,f(Y),f(f(Z)))。 我相信我有一个使用归纳法的证明
我试图表达一个更复杂的逻辑难题,并总结出我在这个微不足道的问题上失败的地方: 汽车可以是红色、绿色或蓝色 宝马不是红色也不是蓝色 解决方案:宝马是绿色的 乙...
:- p(f(X),f(f(Y)),f(f(b)))。 p(f(a),f(X),f(f(X)))。 p(f(a),f(a),f(f(X)))。 p(X,f(f(Y)),X) :- p(Y,f(f(Y)),f(f(X)))。 p(f(X),Y,Z) :- p(X,f(Y),f(f(Z)))。 我相信我有一个使用归纳法的证明
在 Prolog 中,我有一个包含 12 个字符串的简单列表。我还有一个规则列表,这些规则一起为该列表分配分数。因此,根据这些元素在我的列表中的放置方式,它们可能会也可能不会
假设我有对象 a1,a2,...,a{n} 并且我想在这些对象上有效地引入一个顺序,例如: gt(a1,a2)。 gt(a2,a3)。 ... gt(a{n-1},a{n})。 现在 {n} 将是一个很大的数字,例如 200。Ins...
gt(王牌,十)。 gt(十,国王)。 gt(国王,王后)。 gt(女王,杰克)。 gt_(X,Y) :- ( gt(X,Z1), gt(Z1,Z2), gt(Z2,Z3), gt(Z3,Y) ) ; ( gt(X,Z1), gt(Z1,Z2), gt(Z2,Y) ) ; (gt(X,Z1),gt(Z1,Y)); ...
以下 6 个子句的“纯”Prolog 程序是否会停止尚不清楚。 :- f(s(s(s(s(s(s(s(s(N)))))))),F),m(S,S,s(F))。 f(o,s(o))。 f(s(N),G) :- f(N,F), m(s(N),F,G)。 m(o,_,o)。 ...
我对序言真的很陌生,我正在尝试一些例子。 我收到错误 错误:未定义的过程:当我运行规则时,eats/2(DWIM 无法纠正目标)。 为什么它显示我的规则...
我尝试了解 swi-Prolog 中的聚合是如何工作的。 因此,我使用带有属性 Employee_Id、Projectnumber、Hours 的works_on 表。 在 Prolog 中,该表的事实看起来像