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 normal 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. In the worst case, there may be an exponential number of loops in a logic program. To address this problem, we propose an approach that adds loop formulas a few at a time, selectively. Based on these results, we implement a system called ASSAT(X), depending on the SAT solver X used, for computing one answer set of a normal logic program with constraints. We test the system on a variety of benchmarks including the graph coloring, the blocks world planning, and Hamiltonian Circuit domains. Our experimental results show that in these domains, for the task of generating one answer set of a normal logic program, our system has a clear edge over the state-of-art answer set programming systems Smodels and DLV.

论文关键词:Answer set programming,Answer set semantics,Stable model semantics,Logic programming,SAT,SAT solvers

论文评审过程:Received 28 December 2002, Accepted 14 April 2004, Available online 5 June 2004.

论文官网地址:https://doi.org/10.1016/j.artint.2004.04.004