如何调用目标并将逻辑推理的数量绑定到Prolog中的变量?

索林

根据该手册,除其他外time(+Goal)执行Goal并打印所使用的逻辑推理的数量。

如何将逻辑推理的数量绑定到变量?

以下代码特定于SWI-Prolog。当前,许多其他Prolog不允许计算推断的数量,主要是由于许多不同的优化会使该数量模糊。

:- meta_predicate(call_inferences(0, -)).

call_inferences(Goal_0, Inferences) :-
   statistics(inferences, I0),
   Goal_0,
   statistics(inferences, I1),
   Inferences is I1-I0-1.

用法:

?- call_inferences(true,N).
N = 1.

?- call_inferences(nreverse([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],L), N).
L = [30, 29, 28, 27, 26, 25, 24, 23, 22|...],
N = 496.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JavaScript逻辑推理

这三个代码中的逻辑推理如何完成?

将原子绑定到Prolog中递归目标的结果

在父级中调用函数并将`this`绑定到子级?

对称二进制谓词的基本一阶逻辑推理失败

如何在bash脚本中调用C程序并将其返回值存储到变量中?

如何为多个ajax调用设置延迟并将停止按钮绑定到它们?

如何从json接收数据并将其存储到变量中?

如何读取 JSON 文件并将值存储到变量中

角-在observable <Object>上使用异步管道并将其绑定到html中的局部变量

如何将滑块绑定到Javascript中的变量?

数量:目标忙于变量

如何计算批处理文件中 curl 实例的数量并将其放入变量中?

如何获得prolog中的输出数量?

Prolog输出中不需要的逻辑变量

调用目标时如何更新变量?

从perl脚本调用系统命令,打印输出并将其存储到变量中

如何将 NSDictionary 数据绑定到目标 c 中的表视图?

如何将“ls”的结果存储在变量中,并将 cd 存储到该变量中

如何从目标读取文件到变量?

Prolog中的逻辑not()

如何调用rest api并将结果输入到后续的promise调用中

如何将AJAX调用的返回值绑定到Angular $ scope变量

如何获得双向数据绑定值并将其设置在另一个变量中

如何绑定List <string>并将其集合显示到DataGridTemplateColumn中

如何将图像的src绑定到ng-model并将其提取到Angular中?

如何从此 JSON 读取数据并将其绑定到 Angular 2+ 中的 Select 下拉列表

如何在javascript中添加数据并将其绑定到jquery网格

如何在Angular 2中创建属性指令并将其绑定到属性?