arXivDaily arXiv每日学术速递 周一至周五更新
arXiv cs/0201012cs.PL
收藏

Prolog语言中的有效基性分析

Efficient Groundness Analysis in Prolog

Jacob M. Howe, Andy King

摘要:

布尔函数可用于表示(约束)逻辑程序中程序变量的基础性,并跟踪它们之间的基础依赖性。在本文中,各种有关的问题进行了调查,有效的Prolog实现的接地分析,集中在域的定布尔函数,def。系统的设计表示的一个抽象域的讨论有关其影响的算法复杂性的域操作;最频繁调用的操作应该是最轻量级的。这种方法被应用到Def,从而在一个新的表示,连同新的算法,其域操作利用以前未开发的属性Def -例如,二次时间蕴涵检查。迭代策略驱动的分析也进行了讨论,并描述了一个简单的,但非常有效的,优化诱导魔术。分析可以直接在Prolog中实现,并且使用非基础表示导致高效,可扩展的工具,即使在最大的基准测试中也不需要扩展。一个广泛的实验评价给出

英文摘要:

Boolean functions can be used to express the groundness of, and trace grounding dependencies between, program variables in (constraint) logic programs. In this paper, a variety of issues pertaining to the efficient Prolog implementation of groundness analysis are investigated, focusing on the domain of definite Boolean functions, Def. The systematic design of the representation of an abstract domain is discussed in relation to its impact on the algorithmic complexity of the domain operations; the most frequently called operations should be the most lightweight. This methodology is applied to Def, resulting in a new representation, together with new algorithms for its domain operations utilising previously unexploited properties of Def -- for instance, quadratic-time entailment checking. The iteration strategy driving the analysis is also discussed and a simple, but very effective, optimisation of induced magic is described. The analysis can be implemented straightforwardly in Prolog and the use of a non-ground representation results in an efficient, scalable tool which does not require widening to be invoked, even on the largest benchmarks. An extensive experimental evaluation is given

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑