标签: clpz

clp(Z) 与 Kiselyov 关系算术

我正在努力理解 clp(Z) 和MiniKanren 中使用的另一个关系算术系统之间的功能差异。

特别是,clp(Z) 显然适用于有界域,而 Kiselyov等人。被描述为适用于无界字段。

我尝试使用与无穷大和不确定性相关的各种边缘情况,但除了 Kiselyov等人之外,我无法找到明显的差异。显然不支持区间和负数。

Kiselyov 系统的要点/优点是什么?主要是实现更简单,还是还有更多?

logic-programming constraint-programming minikanren clpz

3
推荐指数
1
解决办法
192
查看次数

在Prolog列表中查找2的幂

我正在尝试在Prolog(SWI Prolog)中创建一个列表,并检查哪些数字是2的幂,然后查找列表中特定数字的次数(在此示例中,我试图查找该数字的次数)列表中有3个).举个例子,如果你问

?- check([0,2,3,-5,-2,1,8,7,4], MULT2, THREE).
Run Code Online (Sandbox Code Playgroud)

你应该看到

MULT2=[2,8,4] 
THREE=1 
Run Code Online (Sandbox Code Playgroud)

我第一次尝试找到一个解决方案是用头部搜索列表并执行头部mod 2 = 0来查找所有2次幂的数字,但是出了点问题我只得到"假"作为答案.

list prolog clpfd clpz

2
推荐指数
1
解决办法
823
查看次数