Prolog是最常用的逻辑编程语言。它通过按时间顺序回溯和通过统一的模式匹配来支持非确定性编程。
有没有prolog clpb编码可以解决这个涉及骑士、无赖和间谍的难题?
有三个人(Alex、Brook 和 Cody),其中一个是 骑士,一名恶棍,一名间谍。骑士总是告诉 事实是,无赖总是撒谎,而间谍要么撒谎,要么说谎 t...
我想以某种方式定义一个运算符“++>”,以便输入“a ++> b”将生成一个[a,b]列表。 我已经编写了以下代码,但它似乎没有完成这项工作。 ++>(X,Y) :- [X,Y]。 :- 哦...
我有一个谓词,用于在 Eclipse 中初始化 2D 矩阵: 问题(1, []( [](1,2,3,4), [](1,2,4,3), [](1,3,2,4), ) )。 我想使用 C++ 程序来交互...
我有一个列表[5,4,8,9,7,6],我需要将每个数字与下一个数字进行比较,并将第一个数字和最后一个数字相互比较。想象一下这个列表是围绕着一张圆桌的。有什么帮助吗...
Prolog:将包含连续数字段的列表压缩为包含段范围[开始,结束]的列表
我是序言新手,我正在尝试解决此练习,但无法获得所需的输出。将整数列表压缩为压缩列表。列表包含连续整数的段。一个段...
未捕获的异常:错误(instantiation_error,(=<)/2)
我正在尝试编写一个 7x7 的板,我需要设置和检查板的限制,所以我做了以下函数: 林(X,Y):- X =< 7, X >= 1, Y =< 7, Y >= 1。 ...
我正在 Prolog 中使用 http_sessions 编写一个 http_server 应用程序。请求使用不连续(多个定义)谓词应用程序进行处理,该应用程序不得失败(否则会出现 500 错误...
我想编写一个谓词 split(List, Pivot, Result),当 Result 是 List 除以 Pivot 的子列表列表时成立。例如 split(['_', '_', '#', '_', '#', '_'], '#', [['_','_'], ['_'] , ...
为什么 prolog 允许在其数据库中存在重复的事实和规则?
为什么 prolog 允许在其数据库中存在重复的事实和规则? 使向数据库添加事实幂等并不困难。对于规则来说,建立逻辑并不简单
在 Java/Eclipse 应用程序的上下文中,我想使用 Prolog 来完成特定任务。有哪些可用的解决方案和工具可以实现这一点,以及相关的优缺点? 我可以启动一个
我正在构建一个界面,其目的是诊断某人并提供一种治疗形式,包括治疗方法、费用和持续时间。我首先提供一个列表...
我有如下列表: [a、b、b、e、e、f、f、g] 第一个和最后一个条目是单个条目,而所有其他条目都是重复的。我怎样才能删除这些额外的条目。我不应该扰乱秩序。 我试过了
我正在尝试从终端运行序言。我已经安装了版本 7.2.2 并使用以下命令将其添加到我的环境路径中: PATH=$PATH:/Applications/SWI-Prolog.app/Contents/MacOS 然后去...
许多谓词本质上使用某种形式的传递闭包,只是为了发现终止也必须得到解决。为什么不使用closure0/3一劳永逸地解决这个问题: :- 元谓词(cl...
我正在构建一个界面,其目的是诊断某人并提供一种治疗形式,包括治疗方法、费用和持续时间。我首先提供一个列表...
我对剪切的位置很困惑。不确定它们如何影响输出。下列位置中的每个切口有什么区别? 子集([],_):-![1]。 子集([H|T], ...
我需要一个谓词来找到妹妹 ister(X, Y) - “如果 X 是 Y 的姐妹,如果他们有共同的父母 W,X 是女性,并且 X 不是 Y”。 问题是每个“孩子”都有两个父母...
我有一个矩阵板,其开头为: []( [](1,2,3,4,5,6), [](_,1,_,_,5,_), [](_,5,1,_,_,6), ) 该程序的目标是以数独风格解决它,其中 _ 是未知数。 第一个...
Prolog 无法使用“=”执行算术,但使用“is”会引发实例化错误
`我正在尝试解决序言中的逻辑难题,我一切正常,除了当我运行程序时,它不会将数字加在一起,而是在中间用+打印它们,我尝试更改= t。 ..
使用SWI-Prolog的qsave_program生成二进制文件有什么好处?
我一直在研究 Prolog 的 qsave_program 功能。我正在市场上寻找可以加速我的 Prolog 代码或可能允许与 C/C++ 集成的东西。 我用的是