[论文解读] Magic Sets for Disjunctive Datalog Programs
本文提出动态魔术集(DMS),一种针对具有分层否定的析取 Datalog 程序的新优化技术,通过在非确定性模型搜索阶段动态剪枝无关程序部分,提升查询评估效率。与以往仅限于预处理的静态魔术集方法不同,DMS 利用动态绑定传播和与无基础集的正式关联,实现指数级性能提升,尤其在不一致数据库上的一致性查询回答任务中表现突出。
In this paper, a new technique for the optimization of (partially) bound queries over disjunctive Datalog programs with stratified negation is presented. The technique exploits the propagation of query bindings and extends the Magic Set (MS) optimization technique. An important feature of disjunctive Datalog is nonmonotonicity, which calls for nondeterministic implementations, such as backtracking search. A distinguishing characteristic of the new method is that the optimization can be exploited also during the nondeterministic phase. In particular, after some assumptions have been made during the computation, parts of the program may become irrelevant to a query under these assumptions. This allows for dynamic pruning of the search space. In contrast, the effect of the previously defined MS methods for disjunctive Datalog is limited to the deterministic portion of the process. In this way, the potential performance gain by using the proposed method can be exponential, as could be observed empirically. The correctness of MS is established thanks to a strong relationship between MS and unfounded sets that has not been studied in the literature before. This knowledge allows for extending the method also to programs with stratified negation in a natural way. The proposed method has been implemented in DLV and various experiments have been conducted. Experimental results on synthetic data confirm the utility of MS for disjunctive Datalog, and they highlight the computational gain that may be obtained by the new method w.r.t. the previously proposed MS methods for disjunctive Datalog programs. Further experiments on real-world data show the benefits of MS within an application scenario that has received considerable attention in recent years, the problem of answering user queries over possibly inconsistent databases originating from integration of autonomous sources of information.
研究动机与目标
- 为解决现有魔术集方法在析取 Datalog 程序中效率低下的问题,这些方法仅优化确定性预处理阶段,而忽略非确定性模型搜索阶段。
- 开发一种动态优化技术,可在模型生成阶段剪枝无关程序组件,利用回溯过程中作出的查询绑定和假设。
- 通过魔术集与无基础集之间新颖的关联关系,形式化证明该方法的正确性,从而自然扩展至具有分层否定的程序。
- 在 DLV 系统中实现并评估该技术,证明其在合成数据和真实工作负载下均优于静态魔术集方法。
- 验证该方法在实际应用中的有效性,特别是在来自自治源的不一致、集成数据库上的一致性查询回答任务中。
提出的方法
- 该方法动态生成魔术集谓词,其定义为非确定性,使其扩展可在不同稳定模型间变化,从而实现在模型搜索过程中的剪枝。
- 通过从查询传播绑定来模拟自顶向下的查询评估,将此模拟编码为定义魔术集谓词的新规则。
- 该方法利用魔术集与无基础集之间的正式关系,确保正确性,并自然扩展至具有分层否定的程序。
- 该技术已集成至 DLV 系统,利用其内部数据结构和预处理模块实现高效执行。
- 在转换后应用归约检查,通过移除冗余规则进一步优化生成的程序。
- 该方法支持绑定查询和部分绑定查询,将计算聚焦于程序实例的相关部分。
实验结果
研究问题
- RQ1魔术集优化能否有效扩展至具有分层否定的析取 Datalog 程序,从而在预处理阶段之外进一步提升性能?
- RQ2在析取 Datalog 中,如何在非确定性模型搜索阶段实现对无关程序组件的动态剪枝?
- RQ3在析取 Datalog 中,魔术集与无基础集之间存在何种正式关系?该关系如何用于确保正确性?
- RQ4所提出的动态魔术集方法在运行时间和搜索空间缩减方面,相较于现有静态魔术集方法能实现多大程度的性能提升?
- RQ5该方法能否在实际场景中有效应用并带来实际效益,例如在不一致、集成的数据库上实现高效的一致性查询回答?
主要发现
- 所提出的动态魔术集(DMS)方法在性能上实现相对于先前定义的静态魔术集(SMS)方法的指数级提升,尤其在模型生成阶段表现显著。
- 在合成数据上的实验表明,DMS 显著减少了非确定性计算过程中的搜索空间,从而加快了查询评估速度。
- 在来自数据集成应用的真实数据上,DMS 实现了对不一致数据库的高效一致性查询回答,展现出实际应用价值。
- DMS 集成至 DLV 系统后,利用现有内部数据结构,实现了高效且可扩展的执行,无需重大架构改动。
- 该方法的正确性通过与无基础集的新颖关联关系形式化证明,该关联也使得方法自然扩展至具有分层否定的程序。
- 转换后进行的后续归约检查进一步通过消除优化后程序中的冗余规则提升了性能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。