Prolog是最常用的逻辑编程语言。它通过按时间顺序回溯和通过统一的模式匹配来支持非确定性编程。
我想做的是从特定成员开始反转列表的内容。例如 [1,2,3,4,5,6,7],假设我想在 4 处翻转,那么它必须变成 [1,2,3,7,6,5,4]。我写了一个&q...
我有以下代码: 男(查尔斯王子)。 男性(王子安德鲁)。 男(爱德华王子)。 女性(princess_ann)。 女性(伊丽莎白女王)。 child_of(查尔斯王子,伊丽莎白女王)。 的孩子(
我正在阅读 Prolog 的力量,并且已经阅读了关于 Collatz 序列的部分。 我从那里复制并粘贴了代码,在之前添加了适当的 use_module 行...... 使用模块(库...
我是 prolog 的新手,想知道是否有人可以解释以下过程,因为我很难理解执行此过程时 prolog 遵循的分步过程。我会...
我如何连接作为后端的 prolog 程序和作为前端的 Flutter 应用程序 我尝试建立一个专家系统
SEND + MORE = MONEY 的 Prolog 实现没有找到结果
我开始使用 Prolog,并决定尝试著名的 SEND+MORE=MONEY 难题,因为它看起来相当简单。但是,我的实现确实找到了结果。 谁能看到我做了什么......
我刚刚安装了 pyswip,我正在测试它是否正常工作,但我总是收到此错误:断言失败:0,文件 /home/swipl/src/swipl-devel/src/pl-fli.c,行2637 我在用这个
为什么我的 Prolog 谓词不起作用,而它是 Clicksin & Mellish 中的谓词的精确副本?
抱歉标题含糊不清,但我找不到更具体的方式来表达它。 我正在通过 Clocksin & Mellish 在 Prolog 中编程(第 4 版,以防它有任何不同......
Prolog 中的 Münchausen 数,如何加快速度?
这段代码给了我一些 Münchhausen 数, 不幸的是只使用 0^0 = 0 约定: 数字(0,P,Q,R):-!,P = Q,R = P。 数字(N、P、Q、R):- M是N-1, 在(0、9、D)之间, S是...
有人问我这个问题: 定义一个谓词 ordered/1,它检查整数列表是否按正确的升序排列。例如,目标 ordered([1,3,7,11]) 应该成功,因为应该...
我想知道如何转换一个看起来像这样的列表: [[a,b,c], [[b,c],[a,c],[a,b]] ,它表示相邻的顶点到第一个子列表中的每个顶点,到一个看起来像...的列表
我在理解我的教授在课堂上与我们分享的一段代码时遇到了一些困难: 外卖(X,[X|R],R)。 外卖(X,[F|R],[F|S]):-外卖(X,R,S) 代码的总体思路是
鉴于 same_length/2 的频繁纯定义为 相同长度([],[])。 same_length([_|As], [_|Bs]) :- 相同的长度(As,Bs)。 ?- same_length(L, [_|L])。 循环。 是否有一个纯粹的定义
我对 Prolog 比较陌生,我的目标是尝试找到所有已定义边之间的所有路径。 Prolog 应该输出从输入的开始到目的地的完整路线。然而...
我想找到最雄辩和最有效的方法,从算法上讲,来计算 SWI-Prolog 中某些模式的出现次数。 现在,我的解决方案使用 DCG,如下所示:
`我想在加权无环图中打印从节点 a 到达节点 e 的所有方法。但我的程序错过了一些长途路线。 这是我的程序。 %声明所有边 边(a,b,1)。 电子...
如果这是一个愚蠢的问题,请原谅我,但我是 Prolog 的等级初学者(到目前为止已经大约几个小时了!)并且有点困惑。不确定我是否在尝试做超出我水平的事情。 我...
ld.exe 在将 c 文件传递给 swipl-ld 时给出“对‘PL_initialise’的未定义引用”(以及在 SWI-Prolog.h 中声明的其他函数)错误。 我在 Windows 11 上使用 SWI-Prolog。 我安装...