中文

Prolog 中高效的_groundness_分析

编程语言 2007-05-23 v1

摘要

布尔函数可用于表达(约束)逻辑程序中变量的_groundness_(地面性)以及变量之间的 grounding(实例化)依赖关系。本文探讨了有关在 Prolog 中实现_groundness_ 分析的各种问题,特别关注确定性布尔函数(Def)这一抽象域。讨论了抽象域表示的系统设计方法,以及其对该域操作算法复杂度的影响;最常被调用的操作应是最轻量的。在 Def 上应用这种方法后,得到了一种新的表示方法,以及一种利用 Def 之前未被利用的属性(例如二次时间的蕴含检查)的域操作的新算法。驱动分析的迭代策略也被讨论,并描述了一种简单但非常有效的诱导魔术(induced magic)优化。该分析可 straightforwardly 在 Prolog 中实现,采用非地面表示方法可实现高效、可扩展的工具,无需调用 widening 即可在最大基准测试上运行。给出了广泛的实验评估。

关键词

引用

@article{arxiv.cs/0201012,
  title  = {Efficient Groundness Analysis in Prolog},
  author = {Jacob M. Howe and Andy King},
  journal= {arXiv preprint arXiv:cs/0201012},
  year   = {2007}
}

备注

31 pages To appear in Theory and Practice of Logic Programming