SWI-Prolog是Prolog的开源实现,可在Unix,Windows和Mac上运行。
在SWI-Prolog中,如何找到最大化或最小化某些原子的解决方案?
我有兴趣使用 Prolog 来找到最大化某些输出原子的解决方案。例如,有 10 个谓词: 解决方案(1)。 解决方案(2)。 解决方案(3)。 解决方案(4)。 解决方案(5)。 所以...
CLP(FD)中的具体化谓词可以用来检查逻辑表达式的相等性吗?
根据文档(A.9.12节),CLP(FD)约束如#>、#=、#/\等可以具体化。 约束#<==>/2 应该是 真当且仅当 P 和 Q 相等 手风琴...
Prolog 似乎无法返回查询的某些特定答案。我在 SWI-Prolog 中编写了一段简短的代码,其中我尝试检查给定的二进制向量 C 是否可以
我有一个序言作业,我无法正确解决。 目标是找到给定列表的所有可能的子序列,这些子序列一起覆盖整个列表。 例如对于列表:[a,b,a,b...
我目前正在准备 Prolog 考试,因此我正在尝试做一些示例问题来做好准备。我已经尝试这个有一段时间了,它的任务是创建 intgr/1 以便 ?-intgr(X)。 X=0; X...
没有完全理解Prolog解析器。为什么这会返回 false 而不是 true?
我正在编写一些序言来确定给定的查询是否与语法匹配。 S → F |T N T |ε F → 如果 B 则 { S } |如果 B 则 { S } 否则 { S } B → (T E T ) T → x|y|0 E → > | < N ⇒ +| − | = Now I ...
我是序言新手,正在尝试对列表进行求和,例如: a(1,2,3).a(2,3,4).a(4,5,6).a(7,8,9)。 规则1(SUM):-findall([X,Y,Z],a(X,Y,Z),列表),总和(列表,SUM)。 我尝试使用 sum(LIST,SUM) 并且会
我已经为这个问题苦苦挣扎了两天多了。我的 Prolog 代码就这么简单: 父亲(亚伯拉罕,以撒)。 母亲(莎拉,艾萨克)。 父母(X,Y):-父亲(X,Y)。 父母(X,Y):-母亲(...
我正在尝试编写一个接受 u0v 形式的字符串的 dcg,其中 u 和 v 是字母表 {1, 2, 3} 上的字符串,u 是 revere 中的 v。我所拥有的似乎有效,因为问题的第一个答案......
在Prolog中,需要创建返回事实值的规则。目前只返回“true”而不是我需要的事实
我有一个电影、发行年份、演员、导演的数据库。我需要一个查询,如果年份大于或等于用户输入的给定年份,则返回电影标题。我创建的规则...
我可以用 Prolog 解决逻辑课的作业吗? 5人接受讯问。 A 和 B 的语句丢失。 C 说:如果 A 是真实的,那么 B 也是真实的。 D 说:如果 C 是真实的那么...
这是在 Prolog 中编码说谎者悖论的正确方法吗? 说谎者悖论英文:“这句话不是真的。” ?- LP = not(true(LP))。 LP = not(真(LP))。 ?- unify_with_occurrs_check(...
这是在 Prolog 中编码说谎者悖论的正确方法吗? 说谎者悖论英文:“这句话不是真的。” ?- LP = not(true(LP)). LP = not(真(LP))。 ?-
如何制作一个递归地倒数到 0 的 prolog 谓词。(swi-pl)
给定一个数字 Num,谓词应从 Num 倒数到 0,不包括 Num。尝试递归地执行此操作,但只收到一个答案作为输出,而不是整个倒计时。 尝试子...
所以我试图告诉 prolog,Lst 中有一个带有 (a,b,) 的元组,但最后一个元组成员不是 2,但 Lst 中还有其他元素可能包含 (,_,2)。 `测试(A,B,C):- 长度(Lst, 2), 我...
我正在 prolog 中制作一个 8 谜题求解器,但我很难弄清楚如何编写游戏规则。 游戏的初始状态表示为列表列表,例如:[[2,8,3,...
请看以下汉诺塔问题的“解决方案”: 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],[]) :-...
为什么这不起作用? ?- '。'(A,[])。 错误:未知过程:('.')/2 错误:但是,有以下定义: 错误:('.')/3 错误的。 ?- 。(A,[])。 错误:未知过程:('.')/2 ...