0

我正在尝试加入统计数据的 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 吗?

4

1 回答 1

2

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

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

或者:

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

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

于 2013-11-03T20:07:51.580 回答