Bratko示例中的内置谓词统计信息的行为与预期不符

时间:2013-11-03 19:56:16

标签: prolog amzi-prolog

我正在尝试添加统计数据的Bratko练习4.3。似乎在我添加统计数据的那一刻,我从Prolog那里得到一个“不”的答案,或者在某些情况下,它会以无限循环结束......

例如,这个问题给了我一个明确的答案:

?- schedule(riva at Start, riva at End, Schedule), 
    member(arrive(malcesine at _), Schedule), 
    before(17:00, Start).

但是如果我添加这样的统计数据:

?- statistics(runtime, T1), 
    schedule(riva at Start, riva at End, Schedule), 
    member(arrive(malcesine at _), Schedule), 
    before(17:00, Start), 
    statistics(runtime, T2).

Prolog回答'不'。

原因可能是我正在使用Amzi Prolog吗?

1 个答案:

答案 0 :(得分:3)

谓词statistics/2不是标准谓词(尽管在一些Prolog实现中找到)。如果你尝试这个目标你会得到什么:

?- predicate_property(statistics(_, _), built_in).

或者:

?- predicate_property(statistics(_, _), imported_from(amzi_system))

如果两个目标都失败,您可能需要查看Prolog系统提供的任何库,以检查是否有类似的功能。

相关问题