Skip to main content
Article
Disjunctive Answer Set Solvers via Templates
Theory and Practice of Logic Programming (2015)
  • Remi Brochenin
  • Yuliya Lierler
  • Marco Maratea
Abstract
Answer set programming is a declarative programming paradigm oriented towards difficult combinatorial search problems. A fundamental task in answer set programming is to compute stable models, i.e., solutions of logic programs. Answer set solvers are the programs that perform this task. The problem of deciding whether a disjunctive program has a stable model is ΣP2-complete. The high complexity of reasoning within disjunctive logic programming is responsible for few solvers capable of dealing with such programs, namely dlv, gnt, cmodels, clasp and wasp. In this paper, we show that transition systems introduced by Nieuwenhuis, Oliveras, and Tinelli to model and analyze satisfiability solvers can be adapted for disjunctive answer set solvers. Transition systems give a unifying perspective and bring clarity in the description and comparison of solvers. They can be effectively used for analyzing, comparing and proving correctness of search algorithms as well as inspiring new ideas in the design of disjunctive answer set solvers. In this light, we introduce a general template, which accounts for major techniques implemented in disjunctive solvers. We then illustrate how this general template captures solvers dlv, gnt, and cmodels. We also show how this framework provides a convenient tool for designing new solving algorithms by means of combinations of techniques employed in different solvers.
Keywords
  • answer set programming; abstract solvers
Publication Date
Winter December, 2015
DOI
http://dx.doi.org/10.1017/S1471068415000411
Citation Information
Remi Brochenin, Yuliya Lierler and Marco Maratea. "Disjunctive Answer Set Solvers via Templates" Theory and Practice of Logic Programming Vol. FirstView (2015) p. 1 - 33
Available at: http://works.bepress.com/yuliya_lierler/61/