## Engineering an Incremental ASP Solver

Citations: | 27 - 15 self |

### BibTeX

@MISC{Gebser_engineeringan,

author = {M. Gebser and R. Kaminski and B. Kaufmann and M. Ostrowski and T. Schaub and S. Thiele},

title = {Engineering an Incremental ASP Solver},

year = {}

}

### OpenURL

### Abstract

Abstract. Many real-world applications, like planning or model checking, comprise a parameter reflecting the size of a solution. In a propositional formalism like Answer Set Programming (ASP), such problems can only be dealt with in a bounded way, considering one problem instance after another by gradually increasing the bound on the solution size. We thus propose an incremental approach to both grounding and solving in ASP. Our goal is to avoid redundancy by gradually processing the extensions to a problem rather than repeatedly re-processing the entire (extended) problem. We start by furnishing a formal framework capturing our incremental approach in terms of module theory. In turn, we take advantage of this framework for guiding the successive treatment of program slices during grounding and solving. Finally, we describe the first integrated incremental ASP system, iclingo, and provide an experimental evaluation. 1

### Citations

527 |
Knowledge Representation, Reasoning and Declarative Problem Solving
- Baral
- 2003
(Show Context)
Citation Context ...ram slices during grounding and solving. Finally, we describe the first integrated incremental ASP system, iclingo, and provide an experimental evaluation. 1 Introduction Answer Set Programming (ASP; =-=[1]-=-) faces a growing range of applications. This is due to the availability of efficient ASP solvers and ASP’s rich modeling language, jointly allowing for an easy yet efficient handling of knowledge-int... |

431 | Planning as satisfiability
- Kautz, Selman
- 1992
(Show Context)
Citation Context ...dequate grounder may apply answer-set preserving simplifications to compact its output.For illustration, consider P [k] in (3) along with I = {n(1)}. An adequate grounder could, for instance, map (P =-=[2]-=-, I) to (P ′ , O = {n(2), dbl(2, 2), dbl(2, 4)}), where P ′ = {n(2) ←; dbl(2, 2) ← n(1), not n(2); dbl(2, 4) ← n(2), not n(3)} . (4) Note that AS(P ′ ∪ {{n(1)} ←}) = {{n(1), n(2), dbl(2, 4)}, {n(2), d... |

260 | Splitting a logic program
- Lifschitz, Turner
- 1994
(Show Context)
Citation Context ...definition is simpler than the original one in [8], but also more restrictive. For instance, our definition does not permit (negative) recursion between two modules to be joined, similar to splitting =-=[9]-=-. (Note that positive and negative recursion are allowed within each module.) Also note that the join of P and Q, as defined above, is not commutative: even if P ⊔ Q is defined, Q ⊔ P might be undefin... |

210 | Nonmonotonic causal theories
- Giunchiglia, Lee, et al.
(Show Context)
Citation Context ...[k/i] (1) has an answer set for some (minimum) integer i ≥ 1. In what follows, we write R[i] rather than R[k/i] whenever clear from the context.For illustration, consider an action description in C+ =-=[4]-=-, involving an action a and a fluent p, along with a query in Qn [5] about trajectories of length n. We translate these statements into the following domain description: ⎧ ⎧ ⎫ ⎨ p(0) ← not ¬p(0) ⎬ B =... |

198 | ASSAT: computing answer sets of a logic program by SAT solvers
- Lin, Zhao
- 2004
(Show Context)
Citation Context ...cumulative and volatile roles of Pj and Qi, respectively. And finally, we have to furnish a clear interface between the grounding and the solving component.For capturing compositionality, we rely on =-=[13]-=-, characterizing the answer sets of a program P over grd(A) by the (classical) models of its completion and loop formulas. For Y ⊆ grd(A), define the completion of P , CF (P, Y ), as the set of formul... |

184 | Action languages
- Gelfond, Lifschitz
- 1998
(Show Context)
Citation Context ...t follows, we write R[i] rather than R[k/i] whenever clear from the context.For illustration, consider an action description in C+ [4], involving an action a and a fluent p, along with a query in Qn =-=[5]-=- about trajectories of length n. We translate these statements into the following domain description: ⎧ ⎧ ⎫ ⎨ p(0) ← not ¬p(0) ⎬ B = ¬p(0) ← not p(0) ⎩ ⎭ ← p(0), ¬p(0) ⎫ ⎧ ⎫ a causes p exogenous a ine... |

141 | Bounded model checking using satisfiability solving
- Clarke, Biere, et al.
(Show Context)
Citation Context ...ther, gradually increasing the bound on the solution size. Such an approach can nonetheless be highly efficient as demonstrated by Satisfiability (SAT) solvers in the aforementioned application areas =-=[2, 3]-=-. However, while SAT has its focus on solving, ASP is also concerned with grounding in view of its modeling language. We address this by proposing an incremental approach to both grounding and solving... |

125 | T.: Conflict-driven answer set solving
- Gebser, Kaufmann, et al.
- 2007
(Show Context)
Citation Context ...ng previous ground rules. Regarding solving, it reduces redundancy, in particular, if a learning ASP solver is used, given that previously gathered information on heuristics, conflicts, or loops (cf. =-=[6]-=-), respectively, remains available and can thus be continuously exploited. We provide some empirical evidence using the new incremental ASP system iclingo [7]. (2) 2 Background Our language is built f... |

59 | Temporal Induction by Incremental SAT Solving
- Eén, Sörensson
(Show Context)
Citation Context ...als and computes the answer sets X of the ground program comprised in the solver that satisfy L + ⊆ X and L − ∩ X = ∅. This simple interface is similar to the one for incremental SAT solving given in =-=[14]-=-. The literals L passed to solve constitute assumptions, which can semantically be viewed as the set of integrity constraints {← not a | a ∈ L + } ∪ {← a | a ∈ L − }. However, as regards clasp [6], th... |

55 | Semantics of (disjunctive) logic programs based on partial evaluation
- Brass, Dix
- 1999
(Show Context)
Citation Context ...ng programs. In practice, given a program P , the goal of a grounder is to produce a finite and compact yet equivalent representation of grd(P ) by applying answer set preserving simplifications (cf. =-=[10, 11]-=-). In our context, P [i] and Q[i] are not grounded in isolation for i ≥ 1. Rather, the ground programs obtained from previous program slices are augmented with newly derived ground rules. We thus assu... |

35 | T.: Simplifying Logic Programs under Uniform and Strong Equivalence
- Eiter, Fink, et al.
- 2004
(Show Context)
Citation Context ...ng programs. In practice, given a program P , the goal of a grounder is to produce a finite and compact yet equivalent representation of grd(P ) by applying answer set preserving simplifications (cf. =-=[10, 11]-=-). In our context, P [i] and Q[i] are not grounded in isolation for i ≥ 1. Rather, the ground programs obtained from previous program slices are augmented with newly derived ground rules. We thus assu... |

30 | Modular equivalence for normal logic programs
- Oikarinen, Janhunen
- 2006
(Show Context)
Citation Context ...emantic Underpinnings through Incremental Modularity For providing a clear interface between program slices and guaranteeing their compositionality, we build upon the concept of a module developed in =-=[8]-=-: a module P is a triple (P, I, O) consisting of a (ground) program P over grd(A) and sets I, O ⊆ grd(A) such that I ∩ O = ∅, atom(P ) ⊆ I ∪ O, and head(P ) ⊆ O. The elements of I and O are called inp... |