Prolog是最常用的逻辑编程语言。它通过按时间顺序回溯和通过统一的模式匹配来支持非确定性编程。
我在使用 CHR 解决需要回溯的问题时遇到了明显的问题。我确信在某个地方使用 CHR 有一个经典的解决方案来解决这个问题,但我似乎找不到它......
给定 Prolog 理论和一小组可能的查询,似乎有可能生成所需的搜索树/图,然后将其优化/减少到......
我在序言中所做的这个谓词一直给我 False 而没有其他任何东西。 bintree_size(Tree, 0) :- Tree = []. bintree_size(树,大小):- 树 = [bt(_, 二叉树节点左,
所以在很多情况下,比如: 总和(X,Y,Z):- Z#=X+Y。 您可以给出最通用的查询来返回通用解决方案: ?-summa(X, Y, Z)。 $VAR(X)+ $VAR(Y)#= $VAR(Z)。 我有一个公式涉及...
我要编写谓词,仅当且仅当元素 X 出现在列表 L 上的 Y 之前时才为 true 之前(L,X,Y):- nth1(PX, L, X), nth1(PY, L, Y), PX < PY. Above, you can ...
once/1 可以定义为 一次(目标):- 目标,!。 我试图理解 SWI Prolog 文档中讨论中出现的这两个示例之间的区别: 请注意,这是绝对的...
我想获取 ECLiPSe 加载时使用的种子。我知道如何通过 seeds/1 设置它,但如果我没有设置它,我不知道如何查询它:即如何检索 ECLi 设置的种子...
我正在尝试运行一个简单的 gprolog 在我的 Linux 机器上运行,GNU Prolog 是从 Ubuntu 软件中心安装的。 从 GNU Prolog Intro 中我得到了以下示例,存储在 HelloWorl 中...
我正在尝试编写一个受 Aristid Lindenmayers L-System 启发的小型递归重写系统,基本上是为了学习 Prolog 以及思考 Prolog 中的生成概念。我愿意...
SICStus Prolog 用户手册说明了其通用限制: 在 32 位(64 位)架构上创建的原子数量不得超过 1048575 (33554431)。 所以当我运行以下命令时...
我很难理解为什么 fib([1,2],F) 找到第二个解决方案 false,具有以下条款和规则: fib([A,B|C],F) :- fib([B|C],S), 纤维(C,T), F是(S+T)。 fib([A],1). 纤维([...
我已经查看了无数其他类似的问题,但我还没有找到可行的解决方案,所以我问这个: 我有一个规则: check_prime(X) :- X > 0, X0 为 X - 1, (X =:= ...
首先,我是 Prolog 新手,所以请对我宽容一些...另外,我正在使用 SWI-Prolog, 所以我想对 SWI 使用正确的语法。 在这种情况下,我想定义继父母(特别是继母...
PYSWIP 无法在 pyinstaller 可执行文件中工作
我用 TKINKTER 和 PYSWIP 用 python 和 prolog 完成了一个项目。当使用“pyinstaller -w --onefile main.py”创建可执行文件时,它给我一个错误,因为它没有使用 PYSWIP
我编写了一个读心术算法,与我的 Spec to Algorithm 配合使用,无需太多编码即可将 Specs 转换为 Prolog 算法,这需要冥想并测量 br...
我想我理解Prolog如何使用统一和回溯来找到第一个匹配。然而,当它被要求“重做&qu...
我想使用Python脚本作为使用SWI-PL引擎的Prolog程序的前端。 因此,该设置的组成部分是: Python(2.7 或更高版本) SWI-PL:网站在这里 我一直在找...
phrase_from_stream/2 非终止(来自 http_open/3 的流)
我正在使用 Scryer Prolog 构建一个具有 HTTP 客户端组件的应用程序。 流式 DCG 来解析数据会很好,但在使用
如何设计一个 ChatGPT 替代方案来识别 Prolog 中算法规范中的模式并将输入映射到输出? 我需要嵌套列表形式的递归模式 [r,"a"] ...