8

我正在寻找研究论文或任何其他出版物,它们比较不同的抽象机器(不止一个)来执行 Prolog 与不基于抽象机器的 prolog 解释器。到目前为止,我所看到的是,尽管提出了其他抽象机器(例如Vienna Abstract MachineTree-Oriented Abstract Machine ),但大多数实现似乎都将它们的 prolog 解释器基于Warren Abstract Machine并且没有任何一般性比较。我对效率(而不是功能)的比较感兴趣,尽管所有比较的解释器都应该允许约束逻辑编程。

4

1 回答 1

3

如果您引入一些用于尾随约束存储的原语和一些用于统一挂钩的原语,则可以在普通 prolog 之上构建约束逻辑编程。例如:

SICStus Prolog:属性变量
http://sicstus.sics.se/sicstus/docs/3.7.1/html/sicstus_17.html

Jekejeke Minlog:小求解器
http://www.jekejeke.ch/idatab/doclet/prod/en/docs/15_min/10_docu/02_reference/04_examples/05_solver.html
http://www.jekejeke.ch/idatab/doclet/ prod/en/docs/15_min/15_stdy/06_bench/10_examples/02_addensure/01_referensure.p.html

当然,您可以将附加原语视为抽象机器中的新指令。但是在上述两种情况下,原语都被添加到谓词级别,因此提出了一个问题,即是否真的需要一个抽象机器来进行约束逻辑编程。

当然,您也可以通过 google 找到一些关于约束逻辑编程抽象机器的建议。

再见

于 2014-05-18T12:48:39.933 回答