prolog 相关问题

Prolog是最常用的逻辑编程语言。它通过按时间顺序回溯和通过统一的模式匹配来支持非确定性编程。

prolog 代码中涉及数学函数任务的错误

% 计算阶乘的函数 阶乘(0, 1)。 阶乘(N,F):- N1 为 N-1, 阶乘(N1, F1), F 是 N * F1。 % 计算函数近似值的函数...

回答 1 投票 0

通过部分匹配撤回?

有没有办法通过部分匹配来撤回所有子句..假设我有以下语法: s3-->[a,b,r,a]。 s4-->[a,b]。 s5-->s4,s4。 如何删除所有以 's' 开头的子句...

回答 1 投票 0

迭代列表同时追加到另一个列表

我是 Prolog 新手。以下谓词应该处理一个字符串列表,每个字符串包含用空格分隔的名字和姓氏。它意味着遍历每个元素,用

回答 1 投票 0

Prolog - 在列表上应用带有一个固定参数的谓词

我正在尝试编写一个程序来解决n皇后问题。为了检查女王是否攻击存储在列表 L 中的另一个女王,作为列表及其坐标([X,Y] 等...),我写了这段...

回答 1 投票 0

如何修复语法错误:需要运算符

运行代码时出现两个错误 geneholtproj6.swipl:165:2:语法错误:需要运算符 geneholtproj6.swipl:291:3:语法错误:需要运算符 这是第一个错误。 165.2 号线...

回答 1 投票 0

在 SWI-Prolog 中记录交互式查询

我想拦截传递给交互式Prolog解释器的查询,以便进行一些额外的处理,例如记录查询。 到目前为止,我有以下依赖于

回答 1 投票 0

八个谜题的序言

%999 代表空白图块。 目标([999,0,1,2,3,4,5,6,7])。 %任意行向左移动有两种情况: %Case_1:第二个索引中存在空白图块。 %Case_2:第三个索引中存在空白图块。 % 向左移动...

回答 3 投票 0

SWI PL CS 库重定向输入流

我一直在尝试运行下面的示例,Sread 函数似乎在无限循环中执行。我正在使用 Visual Studio 2022、Prolog 7.4.2 x64 和 SwiPlCs 1.1.60605.0 库。 http://...

回答 1 投票 0

有没有办法将递归 Prolog 代码块转换为 DFS 实现来解决传教士和食人族问题?

我...也许正在尝试学习如何使用Prolog。目前我正在尝试解决传教士和食人者问题 - 你需要将 3 个传教士和 3 个食人者移过河并......

回答 1 投票 0

maplist 引发未捕获的异常:error(existence_error(procedure,maplist/2),top_level/0)

以下使用的映射列表适用于 swi-prolog 而不是 gprolog: GNU 序言 1.3.1 丹尼尔·迪亚兹 版权所有 (C) 1999-2009 丹尼尔·迪亚兹 | ?-maplist(writeln,[1,2,3])。 未捕获的异常:错误(存在...

回答 1 投票 0

Prolog 循环中的数学表达式 DCG

我正在尝试在 Prolog 中实现数学表达式的 DCG,因为我想做用该语言实现计算器的基本练习,这是我的代码: 莱克斯(添加,'+')。 lex(子, '-'...

回答 1 投票 0

为什么 Prolog 在一种情况下会自动回溯,但在另一种情况下不会?

我有一个 Prolog 程序,有两个谓词 rr 和 p,每个谓词都有自己的一组规则和事实。当使用特定输入查询这些谓词时,我注意到 Prolog 会自动回溯...

回答 1 投票 0

有没有prolog clpb编码可以解决这个涉及骑士、无赖和间谍的难题?

有三个人(Alex、Brook 和 Cody),其中一个是 骑士,一名恶棍,一名间谍。骑士总是告诉 事实是,无赖总是撒谎,而间谍要么撒谎,要么说谎 t...

回答 1 投票 0

如何在 prolog 中定义运算符来创建列表?

我想以某种方式定义一个运算符“++>”,以便输入“a ++> b”将生成一个[a,b]列表。 我已经编写了以下代码,但它似乎没有完成这项工作。 ++>(X,Y) :- [X,Y]。 :- 哦...

回答 4 投票 0

ECLiPSe 使用 C++ 接口创建 2D 矩阵

我有一个谓词,用于在 Eclipse 中初始化 2D 矩阵: 问题(1, []( [](1,2,3,4), [](1,2,4,3), [](1,3,2,4), ) )。 我想使用 C++ 程序来交互...

回答 1 投票 0

如何在 Prolog 中将列表转换为循环列表?

我有一个列表[5,4,8,9,7,6],我需要将每个数字与下一个数字进行比较,并将第一个数字和最后一个数字相互比较。想象一下这个列表是围绕着一张圆桌的。有什么帮助吗...

回答 4 投票 0

Prolog:将包含连续数字段的列表压缩为包含段范围[开始,结束]的列表

我是序言新手,我正在尝试解决此练习,但无法获得所需的输出。将整数列表压缩为压缩列表。列表包含连续整数的段。一个段...

回答 1 投票 0

未捕获的异常:错误(instantiation_error,(=<)/2)

我正在尝试编写一个 7x7 的板,我需要设置和检查板的限制,所以我做了以下函数: 林(X,Y):- X =< 7, X >= 1, Y =< 7, Y >= 1。 ...

回答 1 投票 0

Prolog 中带有“true”值的提前停止谓词

我正在 Prolog 中使用 http_sessions 编写一个 http_server 应用程序。请求使用不连续(多个定义)谓词应用程序进行处理,该应用程序不得失败(否则会出现 500 错误...

回答 2 投票 0

如何在Prolog中拆分列表?

我想编写一个谓词 split(List, Pivot, Result),当 Result 是 List 除以 Pivot 的子列表列表时成立。例如 split(['_', '_', '#', '_', '#', '_'], '#', [['_','_'], ['_'] , ...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.