Skip to main content
QUICK REVIEW

[论文解读] Detecting Unsolvable Queries for Definite Logic Programs

Maurice Bruynooghe, Henk Vandecasteele|Lirias (KU Leuven)|Mar 17, 2000
Logic, Reasoning, and Knowledge被引用 9
一句话总结

该论文提出了一种新颖的方法,通过搜索有限预解释(pre-interpretation),使得查询在基于该预解释导出的最小模型中为假,从而检测确定性逻辑程序中的不可解查询。结合目标导向的归谬法(abduction)与预解释上的约束求解——并利用表格化(tabulation)提升效率——该方法缩小了搜索空间,在减少回溯的前提下,优于通用型模型生成器,能够更高效地检测查询失败。

ABSTRACT

In solving a query, the SLD proof procedure for definite programs sometimes searches an infinite space for a non existing solution. For example, querying a planner for an unreachable goal state. Such programs motivate the development of methods to prove the absence of a solution. Considering the definite program and the query ``

研究动机与目标

  • 开发高效方法,证明确定性逻辑程序中查询无解,尤其当SLD归结导致无限搜索树时。
  • 解决规划与完整性约束验证中的查询失败检测问题,其中可能存在无解的无限推导树。
  • 通过聚焦于使查询在最小模型中为假的预解释,改进现有技术(如模型生成器、类型推断与程序特化)。
  • 探索在预解释背景下结合归谬法与约束求解,以指导失败证明的搜索。
  • 证明在预解释空间中搜索比在完整解释空间中搜索更高效,适用于失败检测。

提出的方法

  • 该方法在有限预解释上进行目标导向的归谬搜索,寻找一个使查询在基于该预解释的程序最小模型中为假的预解释。
  • 将原始程序在给定预解释下抽象为DATALOG程序,通过表格化实现高效的最小模型评估。
  • 开发了两种方法:一种结合归谬法与表格化及失败分析,另一种使用约束表示可归谬项,并通过有限域或归谬求解器求解。
  • 该方法利用表格化避免冗余计算,并在最小模型评估过程中确保终止性。
  • 通过有限域约束求解器或归谬求解器,对预解释上的约束进行公式化与求解,以验证有效预解释的存在性。
  • 该方法避免了执行监控的开销(与循环检测不同),相比完整模型生成,搜索空间更小。

实验结果

研究问题

  • RQ1我们能否比通用一阶模型生成器更高效地检测确定性逻辑程序中的不可解查询?
  • RQ2在证明查询失败时,基于预解释的搜索是否比基于完整解释的搜索更有效?
  • RQ3归谬法与约束求解能否与表格化有效结合,以证明确定性程序中的失败?
  • RQ4与类型推断或程序特化相比,预解释方法在检测查询失败方面有何优势?
  • RQ5当查询仅在无限域模型中失败时,该方法存在哪些局限性?

主要发现

  • 与FINDER和FMCATINF等通用模型生成器相比,所提方法显著减少了回溯,因其在更小的预解释空间中进行搜索。
  • 表格化有效控制了最小模型评估的代价,使该方法在实际应用中具备可扩展性与高效性。
  • 在复杂情况下,归谬求解器优于按时间顺序的回溯,尤其当谓词的元数较高或需要大域时。
  • 该方法比基于正则近似的类型推断更强大;但当查询仅在无限域模型中失败时,该方法无法证明失败。
  • 合取部分归纳与基于集合的分析无法解决所测试的规划问题,而预解释方法能够成功解决。
  • 背景知识对引导归谬搜索至关重要;仅指定约束而无背景知识会导致无引导、低效的搜索。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。