DLV2 is an AI tool for Knowledge Representation and Reasoning which supports Answer Set Programming (ASP) - a logic-based declarative formalism, successfully used in both academic and industrial applications. Given a logic program modelling a computational problem, an execution of DLV2 produces the so-called answer sets that correspond one-to-one to the solutions to the problem at hand. The computational process of DLV2 relies on the typical Ground & Solve approach where the grounding step transforms the input program into a new, equivalent ground program, and the subsequent solving step applies propositional algorithms to search for the answer sets. Recently, emerging applications in contexts such as stream reasoning and event processing created a demand for multi-shot reasoning: here, the system is expected to be reactive while repeatedly executed over rapidly changing data. In this work, we present a new incremental reasoner obtained from the evolution of DLV2 towards iterated reasoning. Rather than restarting the computation from scratch, the system remains alive across repeated shots, and it incrementally handles the internal grounding process. At each shot, the system reuses previous computations for building and maintaining a large, more general ground program, from which a smaller yet equivalent portion is determined and used for computing answer sets. Notably, the incremental process is performed in a completely transparent fashion for the user. We describe the system, its usage, its applicability and performance in some practically relevant domains. Under consideration in Theory and Practice of Logic Programming (TPLP).
翻译:DLV2是一种用于知识表示与推理的人工智能工具,支持答案集编程(ASP)——一种基于逻辑的声明式形式化方法,已在学术界和工业应用中取得成功。给定一个建模计算问题的逻辑程序,DLV2的执行会产生所谓的答案集,这些答案集与当前问题的解一一对应。DLV2的计算过程依赖于典型的“接地-求解”方法:接地步骤将输入程序转换为等价的新接地程序,随后的求解步骤应用命题算法来搜索答案集。近年来,在流推理和事件处理等场景中涌现的应用催生了多轮推理的需求:系统需要在快速变化的数据上重复执行的同时保持反应性。本文提出了一种通过DLV2向迭代推理演进而获得的新型增量推理器。该系统不会从头重启计算,而是在多次执行中保持活跃状态,并以增量方式处理内部接地过程。在每一轮执行中,系统复用先前的计算来构建并维护一个更通用的大型接地程序,从中确定一个更小但等价的子集用于计算答案集。值得注意的是,增量过程对用户完全透明。我们描述了该系统的原理、使用方法,以及在一些实际相关领域中的适用性与性能表现。本文已提交至《逻辑编程理论与实践》(TPLP)期刊审议。