On look-ahead heuristics in disjunctive logic programming

Disjunctive logic programming (DLP), also called answer set programming (ASP), is a convenient programming paradigm which allows for solving problems in a simple and highly declarative way. The language of DLP is very expressive and able to represent even problems of high complexity (every problem in the complexity class ${{\Sigma}_{2}^{P}} = {\rm NP}^{{\rm NP}}$). During the last decade, efficient systems supporting DLP have become available. Virtually all of these systems internally rely on variants of the Davis–Putnam procedure (for deciding propositional satisfiability [SAT]), combined with a suitable model checker. The heuristic for the selection of the branching literal (i.e., the criterion determining the literal to be assumed true at a given stage of the computation) dramatically affects the performance of a DLP system. While heuristics for SAT have received a fair deal of research, only little work on heuristics for DLP has been done so far. In this paper, we design, implement, optimize, and experiment with a number of heuristics for DLP. We focus on different look-ahead heuristics, also called “dynamic heuristics” (the DLP equivalent of unit propagation [UP] heuristics for SAT). These are branching rules where the heuristic value of a literal Q depends on the result of taking Q true and computing its consequences. We motivate and formally define a number of look-ahead heuristics for DLP programs. Furthermore, since look-ahead heuristics are computationally expensive, we design two techniques for optimizing the burden of their computation. We implement all the proposed heuristics and optimization techniques in DLV—the state-of-the-art implementation of disjunctive logic programming, and we carry out experiments, thoroughly comparing the heuristics and optimization techniques on a large number of instances of well-known benchmark problems. The results of these experiments are very interesting, showing that the proposed techniques significantly improve the performance of the DLV system.

[1]  Wolfgang Faber,et al.  Declarative problem-solving using the DLV system , 2000 .

[2]  Wolfgang Faber,et al.  Pruning Operators for Disjunctive Logic Programming Systems , 2006, Fundam. Informaticae.

[3]  Gilles Dequen,et al.  A backbone-search heuristic for efficient solving of hard 3-SAT formulae , 2001, IJCAI.

[4]  Chitta Baral,et al.  Logic Programming and Knowledge Representation , 1994, J. Log. Program..

[5]  V. Vinay,et al.  Branching rules for satisfiability , 1995, Journal of Automated Reasoning.

[6]  Wolfgang Faber,et al.  The DLV system for knowledge representation and reasoning , 2002, TOCL.

[7]  Georg Gottlob,et al.  Default Logic as a Query Language , 1997, IEEE Trans. Knowl. Data Eng..

[8]  Chu Min Li,et al.  On the limit of branching rules for hard random unsatisfiable 3-SAT , 2003, Discret. Appl. Math..

[9]  J. Freeman Improvements to propositional satisfiability search algorithms , 1995 .

[10]  James M. Crawford,et al.  Experimental Results on the Crossover Point in Random 3-SAT , 1996, Artif. Intell..

[11]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[12]  Yuliya Lierler,et al.  cmodels - SAT-Based Disjunctive Answer Set Solver , 2005, LPNMR.

[13]  Christos H. Papadimitriou,et al.  Computational complexity , 1993 .

[14]  Wolfgang Faber,et al.  DLV - A System for Declarative Problem Solving , 2000, ArXiv.

[15]  Jack Minker,et al.  On Indefinite Databases and the Closed World Assumption , 1987, CADE.

[16]  Jussi Rintanen,et al.  Improvements to the Evaluation of Quantified Boolean Formulae , 1999, IJCAI.

[17]  Toby Walsh,et al.  Beyond NP: the QSAT phase transition , 1999, AAAI/IAAI.

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

[19]  Wolfgang Faber,et al.  Enhancing Eciency and Expressiveness in Answer Set Programming Systems , 2002 .

[20]  Ilkka Niemelä,et al.  Efficient Implementation of the Well-founded and Stable Model Semantics , 1996, JICSLP.

[21]  Francesco Scarcello,et al.  Disjunctive Stable Models: Unfounded Sets, Fixpoint Semantics, and Computation , 1997, Inf. Comput..

[22]  Wolfgang Faber,et al.  Experimenting with Heuristics for Answer Set Programming , 2001, IJCAI.

[23]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[24]  Wolfgang Faber,et al.  Pushing Goal Derivation in DLP Computations , 1999, LPNMR.

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

[26]  Georg Gottlob,et al.  Disjunctive datalog , 1997, TODS.

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

[28]  Georg Gottlob,et al.  The Complexity of Logic-Based Abduction , 1993, STACS.

[29]  Wolfgang Faber,et al.  Solving Hard ASP Programs Efficiently , 2005, LPNMR.

[30]  Timo Soininen,et al.  Extending and implementing the stable model semantics , 2000, Artif. Intell..

[31]  Alex M. Andrew,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2004 .

[32]  Jack Minker,et al.  Overview of disjunctive logic programming , 1994, Annals of Mathematics and Artificial Intelligence.

[33]  Wolfgang Faber,et al.  Optimizing the Computation of Heuristics for Answer Set Programming Systems , 2001, LPNMR.

[34]  Wolfgang Faber,et al.  Experimenting with Look-Back Heuristics for Hard ASP Programs , 2007, LPNMR.

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

[36]  Wolfgang Faber,et al.  Using Database Optimization , 1999 .

[37]  Chu Min Li,et al.  Heuristics Based on Unit Propagation for Satisfiability Problems , 1997, IJCAI.

[38]  Victor W. Marek,et al.  The Relationship Between Logic Program Semantics and Non-Monotonic Reasoning , 1989, ICLP.

[39]  Chu Min Li,et al.  Look-Ahead Versus Look-Back for Satisfiability Problems , 1997, CP.

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

[41]  Yuliya Lierler,et al.  Disjunctive Answer Set Programming via Satisfiability , 2005, Answer Set Programming.

[42]  Teodor C. Przymusinski Stable semantics for disjunctive programs , 1991, New Generation Computing.