ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers

Abstract

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.

Cite

Text

Lin and Zhao. "ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers." AAAI Conference on Artificial Intelligence, 2002. doi:10.5555/777092.777113

Markdown

[Lin and Zhao. "ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers." AAAI Conference on Artificial Intelligence, 2002.](https://mlanthology.org/aaai/2002/lin2002aaai-assat/) doi:10.5555/777092.777113

BibTeX

@inproceedings{lin2002aaai-assat,
  title     = {{ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers}},
  author    = {Lin, Fangzhen and Zhao, Yuting},
  booktitle = {AAAI Conference on Artificial Intelligence},
  year      = {2002},
  pages     = {112-118},
  doi       = {10.5555/777092.777113},
  url       = {https://mlanthology.org/aaai/2002/lin2002aaai-assat/}
}