Table of Contents
Fetching ...

ASP-based Multi-shot Reasoning via DLV2 with Incremental Grounding

Francesco Calimeri, Giovambattista Ianni, Francesco Pacenza, Simona Perri, Jessica Zangari

TL;DR

This paper tackles the inefficiency of repeated ASP reasoning over evolving data by introducing Incremental-DLV[0.8]2, an incremental ASP reasoner that extends DLV2 with an overgrounding-based grounder to support multi-shot reasoning. It maintains a growing ground program $G$ across shots via overgrounding with tailoring and a structured instantiation pipeline, enabling solving from a compact, relevant subset of $G$ at each shot. The authors detail the system architecture, usage, and implementation, including dependencies, desimplification, and a semi-naïve grounding strategy, plus memoization through meta-data and forgetting mechanisms. Experimental results on Pac-Man, Content Caching, and a PV system demonstrate substantial grounding-time savings and scalable memory behavior, highlighting practical benefits for reactive, stream-like ASP applications, albeit with higher memory footprints that saturate over time.

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 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).

ASP-based Multi-shot Reasoning via DLV2 with Incremental Grounding

TL;DR

This paper tackles the inefficiency of repeated ASP reasoning over evolving data by introducing Incremental-DLV[0.8]2, an incremental ASP reasoner that extends DLV2 with an overgrounding-based grounder to support multi-shot reasoning. It maintains a growing ground program across shots via overgrounding with tailoring and a structured instantiation pipeline, enabling solving from a compact, relevant subset of at each shot. The authors detail the system architecture, usage, and implementation, including dependencies, desimplification, and a semi-naïve grounding strategy, plus memoization through meta-data and forgetting mechanisms. Experimental results on Pac-Man, Content Caching, and a PV system demonstrate substantial grounding-time savings and scalable memory behavior, highlighting practical benefits for reactive, stream-like ASP applications, albeit with higher memory footprints that saturate over time.

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 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).

Paper Structure

This paper contains 23 sections, 4 figures.

Figures (4)

  • Figure 1: Incremental-DLV[0.8]2 architecture.
  • Figure 2: Simplified version of the incremental algorithm $\textsc{IncrInst}$
  • Figure 3: An example of multi-shot reasoning task based on Incremental-DLV[0.8]2: compute 3-colouring for graphs featuring a structure that changes over time.
  • Figure 4: Incremental-DLV[0.8]2 against DLV[0.8]2: performance in multi-shot contexts.

Theorems & Definitions (1)

  • example 2.1