Prolog是最常用的逻辑编程语言。它通过按时间顺序回溯和通过统一的模式匹配来支持非确定性编程。
我使用 Sicstus Prolog 来解决 Advent of Code 2024 Day 13,我发现同一约束模型的不同实例之间的标记时间存在令人惊讶的差异。我有: 最小Cos...
我有以下内容: is_digit(X):-char_type(X,digit)。 当我这样称呼它时: 是_数字(X)。 我得到以下结果: X='0'; X='1'; ...; X='9' 我需要得到相同的结果但是
我需要编写一个 Prolog 谓词 take(L, N, L1),如果列表 L1 以相同的顺序包含列表 L 的前 N 个元素,则该谓词会成功。例如: ?- 采用([5,1,2,7], 3, L1)。 L1 = [5,1,2] ?- 采取...
我正在尝试编写一个谓词过滤器(List,PredName,Result),它过滤目标 PredName 失败的所有元素的列表,然后返回结果列表。谓词 Pre...
使用SWI-Prolog(多线程,64位,版本7.3.5), 我们一步步进行: 在模块 dcgAux 中定义 dcg 非终结符 a//1(发音:“di-SEE-goh”): :- 模块(dcgAux,[a//1])。 一个(0)-->...
我想在酒吧环境中实现一个人机语音对话系统,该系统将用户的文本短语作为输入(对给定产品的请求:薯条、可乐、水、咖啡等...... .
我对序言很陌生,我正在尝试编写一个谓词 distance_all(列表,距离列表)。 其输入是包含向量坐标的列表的列表: 输入 = [[1,2,3],[2,3,4],[1,7,3],[...
“Indexing diff/2”的第 7 节讨论了一般具体化,并为具体化列表成员给出了以下定义: memberd_t(X, Es, T) :- l_memberd_t(Es, X, T)。 l_会员...
我正在开发 Prolog DCG 解析器,将字符串标记为特定模式。我的目标是解析像 mul(Number,Number)、do() 和 dont() 这样的标记,同时忽略所有其他模式。 这是我的
通常的append/3是纯粹的,但它为模式(-,+,+)留下了一个选择点: ?- 追加(X, [3], [1,2,3])。 X = [1, 2] ; 错误的。 你是上述结果中的一个选择点,可以从以下例子中看出......
我想计算自定义谓词为真的次数。 例如,我有以下代码: is_man(约翰)。 is_man(亚历克斯)。 ?:-is_man(X)。 X 将返回 john,然后如果我按分号它 w...
所以我的问题是这样的,我有一个谓词repete_el(El,N,L),其中El是一个元素,N是重复的次数,L是包含该元素重复N次的列表。 我的...
在Prolog中,当我在顶层输入如下内容时: X = [a-A, b-B, a-A]。 我使用 - 函子将一些逻辑变量与术语相关联 - 但重要的是,......中的第一对和最后一对
Prolog Water Sort Puzzle Solver 中的意外行为:重复结果、持久状态和 GoalCheck 不一致
我一直在开发一个使用 Prolog 解决水分类难题的副程序。 程序运行正常,但有一些奇怪的可疑行为。 我们将做出以下的构造...
PROLOG 谓词返回 false,否定也返回 false(使用 not)
我设置了以下规则。 pokemonOfType(小火龙,火)。 pokemonOfType(staryu, 水). typeWins(水,火)。 %这不应该影响结果, % 但谁知道呢
我有这个作业,必须用Prolog写。要求是写一段进行二进制加法的代码,例如: ?- 添加([1,0,1],[1,1],X)。 X = [0,0,0,1] 所以,这是...
我定义了具体化的变体 clpfd 约束 (#<)/2, (#=<)/2, (#>=)/2 和 (#>)/2: :- use_module(库(clpfd))。 ltA(X,Y,Truth) :- X #< Y #<==> B, bool01_truth(B,Tr...
如何使用 prolog 创建相同的函数(html 输入到 jsp)
我正在做一个使用prolog与HTML集成的程序,目前一直在理解prolog中的HTTPSESSION,并希望创建与下面的JSP相同的功能。 用户输入的 HTML: ...
我需要编写道义逻辑规则,有没有任何编程语言可以做到这一点?我看到了 prolog,现在正在学习,但是如何在 PROLOG 中表达道义逻辑?请帮忙