SWI-Prolog是Prolog的开源实现,可在Unix,Windows和Mac上运行。
% 计算阶乘的函数 阶乘(0, 1)。 阶乘(N,F):- N1 为 N-1, 阶乘(N1, F1), F 是 N * F1。 % 计算函数近似值的函数...
我想拦截传递给交互式Prolog解释器的查询,以便进行一些额外的处理,例如记录查询。 到目前为止,我有以下依赖于
我正在尝试在 Prolog 中实现数学表达式的 DCG,因为我想做用该语言实现计算器的基本练习,这是我的代码: 莱克斯(添加,'+')。 lex(子, '-'...
为什么 Prolog 在一种情况下会自动回溯,但在另一种情况下不会?
我有一个 Prolog 程序,有两个谓词 rr 和 p,每个谓词都有自己的一组规则和事实。当使用特定输入查询这些谓词时,我注意到 Prolog 会自动回溯...
Prolog:将包含连续数字段的列表压缩为包含段范围[开始,结束]的列表
我是序言新手,我正在尝试解决此练习,但无法获得所需的输出。将整数列表压缩为压缩列表。列表包含连续整数的段。一个段...
我正在 Prolog 中使用 http_sessions 编写一个 http_server 应用程序。请求使用不连续(多个定义)谓词应用程序进行处理,该应用程序不得失败(否则会出现 500 错误...
我正在构建一个界面,其目的是诊断某人并提供一种治疗形式,包括治疗方法、费用和持续时间。我首先提供一个列表...
我正在尝试从终端运行序言。我已经安装了版本 7.2.2 并使用以下命令将其添加到我的环境路径中: PATH=$PATH:/Applications/SWI-Prolog.app/Contents/MacOS 然后去...
swi prolog 游戏作业。我希望玩家在拥有钥匙时解锁门,但我似乎无法使该功能工作
这就是我的代码的样子。我希望玩家从房间拿走钥匙,然后在从花园到走廊的门上使用它。使用的命令是“?use(门(花园,走廊))”。 。
我正在构建一个界面,其目的是诊断某人并提供一种治疗形式,包括治疗方法、费用和持续时间。我首先提供一个列表...
我需要一个谓词来找到妹妹 ister(X, Y) - “如果 X 是 Y 的姐妹,如果他们有共同的父母 W,X 是女性,并且 X 不是 Y”。 问题是每个“孩子”都有两个父母...
使用SWI-Prolog的qsave_program生成二进制文件有什么好处?
我一直在研究 Prolog 的 qsave_program 功能。我正在市场上寻找可以加速我的 Prolog 代码或可能允许与 C/C++ 集成的东西。 我用的是
我正在研究序言中的搜索问题,其中代理的目标是找到一些宝藏。在每个时间步骤,代理可以使用根据无向梯度排列的门在房间之间移动...
我从未使用过 swi-prolog,并且我无法弄清楚如何在其中表达更复杂的知识。 我想用 swi-prolog 来表达这一点: ∃x∃yTile(t,x,y,r) ∧ ∀a∀bTile(t,a,b,r)...
prolog (SWI-Prolog) 中是否有某种方法可以获取执行脚本的名称,就像 perl 中的 FILE 或 C 中的 arg[0] 一样? 我阅读了文档,但我没有看到任何关于此的内容..文档实际上...
我一直在尝试学习 Prolog,这个特殊的事情已经困扰我一段时间了:为了完成任何事情,我的查询需要非常长。特别是,我有以下片段
使用带有内联谓词或“lambda”的“findall”的 Prolog 过滤列表
我有这些数据(数据是从 csv 读取的,它必须看起来像这样,又名术语列表,而不是数据库中定义的简单术语): 行 = [行('A', 150), 行('B', 300), 行('C', 50)]....
Prolog - 如何将 CSV 文件输出行转换为可查询术语?
我正在尝试学习使用 Prolog,并且非常惊喜地发现 SWI Prolog 提供了一个开箱即用的 CSV 库:https://www.swi-prolog.org/pldoc/man?section=csv 不过我不知道...
我的Prolog表达式的结构与说谎者悖论的结构同构吗? 我们假设 Prolog 不会评估术语“not”和“true”的含义,并且 o...
我需要在序言中删除列表的一个元素,但只有当您将列表放入咨询中时它才有效,例如:eliminar(1,[1,2,3], X)。它返回 X=2,3,但是当我想删除