Eliminating Disjunctions in Answer Set Programming by Restricted Unfolding

A disjunctive logic program under the answer set semantics can be equivalently translated to a normal logic program by the shifting transformation, if the program is head-cycle-free. In this paper, we provide an answer-set-preserving rewriting of a general disjunctive program to a normal program by first applying the unfolding transformation on atoms that prevent the program from being head-cycle-free, then shifting the resulting program. Different from other transformations that eliminate disjunctions in answer set programming, the new rewriting is efficient for "almost" head-cycle-free programs, i.e., programs that have only a few atoms that prevent them to be head-cycle-free. Based on the new rewriting, we provide an anytime algorithm to compute answer sets of a disjunctive program by calling solvers for normal logic programs. The experiment shows that the algorithm is efficient for some disjunctive programs. We also extend the rewriting to non-ground answer set programs on finite structures.

[1]  Nils J. Nilsson,et al.  Artificial Intelligence , 1974, IFIP Congress.

[2]  M. Gelfond,et al.  Disjunctive Defaults , 1991 .

[3]  Manolis Gergatsoulis,et al.  Unfold/fold Transformations for Disjunctive Logic Programs , 1997, Inf. Process. Lett..

[4]  Jürgen Dix,et al.  Characterizations of the Disjunctive Stable Semantics by Partial Evaluation , 1997, J. Log. Program..

[5]  Fangzhen Lin,et al.  ASSAT: computing answer sets of a logic program by SAT solvers , 2002, Artif. Intell..

[6]  Joohyung Lee,et al.  Loop Formulas for Disjunctive Logic Programs , 2003, ICLP.

[7]  Chitta Baral,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2003 .

[8]  Chitta Baral Knowledge Representation, Reasoning and Declarative Problem Solving: Query answering and answer set computing systems , 2003 .

[9]  Annals of Mathematics and Artificial Intelligence , 2004, Annals of Mathematics and Artificial Intelligence.

[10]  Stefan Woltran,et al.  On Eliminating Disjunctions in Stable Logic Programming , 2004, KR.

[11]  Ilkka Niemelä,et al.  Logic programs with stable model semantics as a constraint programming paradigm , 1999, Annals of Mathematics and Artificial Intelligence.

[12]  Rina Dechter,et al.  Propositional semantics for disjunctive logic programs , 1994, Annals of Mathematics and Artificial Intelligence.

[13]  Georg Gottlob,et al.  On the computational cost of disjunctive logic programming: Propositional case , 1995, Annals of Mathematics and Artificial Intelligence.

[14]  Fangzhen Lin,et al.  First-Order Loop Formulas for Normal Logic Programs , 2006, KR.

[15]  Yuliya Lierler,et al.  Answer Set Programming Based on Propositional Satisfiability , 2006, Journal of Automated Reasoning.

[16]  Jia-Huai You,et al.  Unfolding partiality and disjunctions in stable model semantics , 2000, TOCL.

[17]  Martin Gebser,et al.  Conflict-Driven Answer Set Solving , 2007, IJCAI.

[18]  Joohyung Lee,et al.  On Loop Formulas with Variables , 2008, KR.

[19]  Kewen Wang,et al.  Semantic forgetting in answer set programming , 2008, Artif. Intell..

[20]  Stephan Merz,et al.  Journal of Automated Reasoning Special Issue: Formal Modeling and Verification of Critical Systems , 2008 .

[21]  Michael Gelfond,et al.  Classical negation in logic programs and disjunctive databases , 1991, New Generation Computing.

[22]  Miroslaw Truszczynski,et al.  The Second Answer Set Programming Competition , 2009, LPNMR.

[23]  Yuliya Lierler,et al.  On elementary loops of logic programs , 2010, Theory and Practice of Logic Programming.

[24]  Joohyung Lee,et al.  Stable models and circumscription , 2011, Artif. Intell..

[25]  Yi Zhou,et al.  Progression Semantics for Disjunctive Logic Programs , 2011, AAAI.

[26]  Yi Zhou,et al.  Ordered completion for first-order logic programs on finite structures , 2010, Artif. Intell..

[27]  Martin Gebser,et al.  Advanced Conflict-Driven Disjunctive Answer Set Solving , 2013, IJCAI.

[28]  Yi Zhou From Disjunctive to Normal Logic Programs via Unfolding and Shifting , 2014, ECAI.

[29]  F. Pfenning Theory and Practice of Logic Programming , 2014 .

[30]  Hai Wan,et al.  On Elementary Loops and Proper Loops for Disjunctive Logic Programs , 2015, AAAI.

[31]  Yi Zhou,et al.  First-Order Disjunctive Logic Programming vs Normal Logic Programming , 2015, IJCAI.