逻辑程序的被包含表格评估的子目标高效实例检索

摘要:表格评估是一种解决传统Prolog系统在处理递归和冗余计算方面的问题的实现技术。大多数表格引擎通过使用变量检查来确定表格子目标是否会产生或消耗答案。一种更精细的方法,称为调用子总和,认为如果子目标A被(B的一个实例)所包含,则A将从B中消耗,从而实现更大程度的答案重用。我们最近开发了一种扩展,称为Retroactive Call Subsumption,通过支持被包含/包含子目标之间的答案双向共享来改进调用子总和。在本文中,我们提出了一个算法和一种扩展,用于有效地实现逻辑程序的被包含式表格化评估的子目标实例检索的表格空间数据结构。使用YapTab表格系统进行的实验结果表明,我们的实现在一些复杂的基准测试中表现良好,并且足够强大以处理大量子目标而不会降低性能。

作者:Flavio Cruz and Ricardo Rocha

论文ID:1107.5556

分类:Programming Languages

分类简称:cs.PL

提交时间:2011-07-29

PDF 下载: 英文版 中文版pdf翻译中