swi-prolog 相关问题

SWI-Prolog是Prolog的开源实现,可在Unix,Windows和Mac上运行。

为什么不去掉“。”列表的函子语法与[]?

我正在阅读Prolog编程(第5版),并且在第3章中,该书介绍了使用以下语法的列表:空列表写为[] ...列表的开头和结尾是..的组成部分。 。

回答 2 投票 0

检查两个列表是否具有公共元素

所以基本上,我有一个称为common_elements(List1,List2)的谓词,该谓词的目的是检查List1是否至少具有属于List2的元素。例如:?-...

回答 1 投票 1

在序言中列出随机整数

所以我的问题是,我有一个谓词n_aleatorios(El,INF,SUP,L),其中El是列表的长度,INF是列表的下限值,SUP是列表的下限值...

回答 1 投票 0

如何正确地为findall / 3制定例外?

我有学习Prolog的起点,我希望找到findall / 3的玩家的反对者名单。在一般化中,我只想将实际上是玩家的对手添加到列表中,除了...

回答 1 投票 0

以随机顺序解析DCG

我有一些文本文件要解析,但是示例停止和启动的顺序可能不同。 Stop可能出现在第一个或最后一个,这是一个虚拟的例子,因为有多个...

回答 1 投票 1

无权访问private_procedure`true / 0'

我正在尝试将香草元解释器与'if'和'and'一起使用。这是我的代码:-:-op(600,xfy,if)。 :-op(500,xfy,and)。 findnum(X,X)。 findnum(X,[X | Tail])。 findnum(X,[Y | Tail]):-findnum(X,...

回答 1 投票 0

Prolog中有条件的递归求和

我被要求在Prolog中编写一个程序,该程序必须能够对具有递归结构的对和奇数进行求和。该规则具有以下形式:sum(N,PairSum,OddSum)以N为...

回答 1 投票 0

在SWI Prolog中从RDF“类型限定文字”转换为Prolog原子

“ SWI-Prolog语义网络库3.0”使您可以轻松地声明和查询RDF三元组,如下所示:-rdf _assert(number,is,1)。真正。 ?-rdf(number,is,X)。 X = 1 ^^'http://www.w3.org/2001 / ...

回答 1 投票 0

使用Prolog计算自然数的s数

我是Prolog的新手,但仍然习惯于它的“病态”逻辑=)我有一个任务来创建将自然数转换为“ S数”的函数,反之亦然。所以数字0将是...

回答 1 投票 0

Prolog-递归最大值

[您好,我正在上学,但我正在尝试获取递归返回的最大数字。让我用示例更好地解释:我有这个谓词:li(_,[])。 li(NAME,[H | T]):-...

回答 2 投票 0

(SWI)Prolog作为NoSQL平台如何?

我想看到(SWI)Prolog被宣传为NoSQL的“严重竞争者”。 (SWI)Prolog具有令人敬畏的数据绑定功能,并且具有强大的功能-当然-可以针对如此大的数据编写逻辑。使用...

回答 1 投票 10

调试简单的序言功能

我正在尝试在Prolog中编写on mod函数,其签名为modulo(A,B,C),其中C等效于A modB。这是我的代码:modulo(A,B,C): -A == C-> true; A> C-> ...

回答 1 投票 0

prolog clp标签-忽略一些变量?

我的基本定义use_module(library(clpfd))。 / *基本定义* / ice_cream(香草)。 ice_cream(巧克力)。冰淇淋(草莓)。将单词转换为整数/ *获得优先位置* / ...

回答 1 投票 0

SWI-Prolog中meta_predicate的数字参数是什么意思?

我正在编写Prolog程序,并且试图将模块合并到程序设计中以封装复杂性,从而减少冗余功能。我遇到的一个困难是...

回答 2 投票 1

列表中的序言正数

我具有以下Prolog事实,可以对列表中的正数求和,但不起作用。我究竟做错了什么? somarPositivos([],0)。 somarPositivos([H | T],Soma):-H> 0,somarPositivos(T,Soma1),...

回答 1 投票 0

Prolog概念-使用递归替换原子

我在Prolog中难以理解“树”遍历的概念。给定一个输入列表,如果叶子中存在原子(忽略函子),则以下代码替换hi到bye原子。我把评论%放在下一个...

回答 1 投票 0

SWI-Prolog报告带位移位CLPFD的错误答案

我在一个更大的代码库中遇到了这个问题,但是将其简化为一个最小的可重现示例。这是一些汇编程序代码::-use_module(library(clpfd))。 bigconst(X):-X#= <0x3FF,...

回答 2 投票 2

您如何从逻辑上阐述操作系统死锁的问题?

[Prolog中的编程任务,是编写一个程序来接收进程,资源等的输入,并打印出安全的执行顺序,或者在没有安全的情况下简单地返回false ...

回答 1 投票 0

Prolog-等号运算符换行

等于(a,b):-(a = b)。我定义相等。 1?-[索引]。真正。 2?-等于(1,1)。假。 3?-1 = 1。当我运行“ equal(1,1)”时,它返回false。为什么它返回false,我该如何解决?

回答 1 投票 0

Prolog-定义基本运算符

我对序言还很陌生,我想尝试创建一个序言函数,其行为如下calculate(add(1,sub(4,1)),Result)。结果=4。这是在做:1 +(4-1)= 4我熟悉...

回答 1 投票 0

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