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. The computational process 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 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 multi-shot reasoning. Rather than restarting the computation from scratch, the system remains alive and incrementally handles the internal grounding process: in a completely transparent fashion for the user, at each shot, it 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. We describe the system, its usage, its applicability and performance in some practically relevant domains.
ASP-based Multi-shot Reasoning via DLV2 with Incremental Grounding
Calimeri F.;Ianni G.;Pacenza F.;Perri S.;Zangari J.
2022-01-01
Abstract
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. The computational process 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 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 multi-shot reasoning. Rather than restarting the computation from scratch, the system remains alive and incrementally handles the internal grounding process: in a completely transparent fashion for the user, at each shot, it 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. We describe the system, its usage, its applicability and performance in some practically relevant domains.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.