ASSAT: computing answer sets of a logic program by SAT solvers

We propose a new translation from normal logic programs with constraints under the answer set semantics to propositional logic. Given a logic program, we show that by adding, for each loop in the program, a corresponding loop formula to the program's completion, we obtain a one-to-one correspondence between the answer sets of the program and the models of the resulting propositional theory. Compared with the translation by Ben-Eliyahu and Dechter, ours has the advantage that it does not use any extra variables, and is considerably simpler, thus easier to understand. However, in the worst case, it requires computing exponential number of loop formulas. To address this problem, we propose an approach that adds loop formulas a few at a time, selectively. Based on these results, we implemented a system called ASSAT(X), depending on the SAT solver X used, and tested it on a variety of benchmarks including the graph coloring, the blocks world planning, and Hamiltonian Circuit domains. The results are compared with those by smodels and dlv, and it shows a clear edge of ASSAT(X) over them in these domains.

[1]  Yuliya Lierler,et al.  Cmodels-2: SAT-based Answer Set Solver Enhanced to Non-tight Programs , 2004, LPNMR.

[2]  Yuliya Lierler,et al.  Fages' Theorem and Answer Set Programming , 2000, ArXiv.

[3]  François Fages,et al.  Consistency of Clark's completion and existence of stable models , 1992, Methods Log. Comput. Sci..

[4]  Fangzhen Lin,et al.  Loop formulas for circumscription , 2004, Artif. Intell..

[5]  Bart Selman,et al.  Noise Strategies for Improving Local Search , 1994, AAAI.

[6]  Keith L. Clark,et al.  Negation as Failure , 1987, Logic and Data Bases.

[7]  Joohyung Lee Nondefinite vs. Definite Causal Theories , 2004, LPNMR.

[8]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

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

[10]  Jack Minker Foundations of deductive databases and logic programming , 1988 .

[11]  Adrian Walker,et al.  Towards a Theory of Declarative Knowledge , 1988, Foundations of Deductive Databases and Logic Programming..

[12]  Hudson Turner,et al.  Causal Theories of Action and Change , 1997, AAAI/IAAI.

[13]  Jia-Huai You,et al.  Two-Literal Logic Programs and Satisfiability Representation of Stable Models: A Comparison , 2002, Canadian Conference on AI.

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

[15]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

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

[17]  Basil. Vandegriend,et al.  Finding Hamiltonian cycles: algorithms, graphs and performance , 1998 .

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

[19]  Mark E. Stickel,et al.  Implementing the Davis–Putnam Method , 2000, Journal of Automated Reasoning.

[20]  Peter C. Cheeseman,et al.  Where the Really Hard Problems Are , 1991, IJCAI.

[21]  Jia-Huai You,et al.  Iterative belief revision in extended logic programming , 1996 .

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