Prolog是最常用的逻辑编程语言。它通过按时间顺序回溯和通过统一的模式匹配来支持非确定性编程。
鉴于程序 foo([]) --> []. foo([开始|休息]) --> 字母数字(开始), foo(休息)。 alphanum(Ch) --> [Ch], { char_type(Ch, alnum) }. 我怎样才能使查询 length(I, 2), phrase(foo(C)...
编写带有多个选择点的 Prolog 谓词(相当于 if-then-else 或 case 语句)时,最好是编写几个具有相同签名的不同谓词,分开...
我想在 Prolog 中替换 DCG 语法中的一系列标记。换句话说,用子列表 B:[b] 替换序列或子列表 A:[a,a,a,a]。 链 -->
我正在尝试编写以下函数: create_APIds(PId,ASA,APIds) ASA:类型列表 [a01-1, a02-2, a03-1] PId:例如 1 之类的 int APIds:返回 ASA 的所有 a0 列表,whi...
这是我的任务,我不知道如何解决它- 卡姆奇亚奥运会 来自普罗夫迪夫索非亚的五个男孩, 普列文、大特尔诺沃和鲁塞。他们是伊万、托多、亚历山大、尼古拉和维克多。 在
我在这上面浪费了一整天,找不到解决办法。由于谷歌没有提供任何其他类似的问题,我确信我一定做错了什么。 我有一个全新的完整安装 swi-pro ...
我正在使用序言来推理平行线的定理。 即,AB || EF 和 CD || EF,导致 AB ||光盘。 当前代码确保 AB || CD 是真的,但是 BA ||光盘是假的。 是……
我正在尝试创建一个获取列表和谓词的谓词。给定列表中满足给定谓词的每个元素都应进入列表 1,否则进入列表 2。 例如。: 分区(>(6)...
我想创建一个子句,如果它的两个布尔参数相等且第三个参数为 1 或者它的两个布尔参数不相等且第三个参数为 0,则该子句将成立。我的第一个 atte...
我正在使用状态空间和 dfs 解决水壶问题,水壶 1 的容量为 4,水壶 2 的容量为 3,显示使水壶 2 中有 2 的路径 % Water Jug 问题在 Prolog 中使用 DFS % 防御...
我目前正在为一个项目与Prolog斗争。我正在尝试编写一种基本上在子组上创建组的方法。 基本上我想在我的查询中得到以下结果: `?- make_list(Lis...
我想做的是从特定成员开始反转列表的内容。例如 [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是...