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

被引:219
作者
Lin, FZ [1 ]
Zhao, YT [1 ]
机构
[1] Hong Kong Univ Sci & Technol, Dept Comp Sci, Kowloon, Hong Kong, Peoples R China
关键词
answer set programming; answer set semantics; stable model semantics; logic programming; SAT; SAT solvers;
D O I
10.1016/j.artint.2004.04.004
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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 DLU. (C) 2004 Elsevier B.V. All rights reserved.
引用
收藏
页码:115 / 137
页数:23
相关论文
共 25 条
[1]  
[Anonymous], J METHODS LOGIC COMP
[2]  
APT KR, 1988, FDN DEDUCTIVE DATABA, P293
[3]  
BABOVICH Y, 2000, P NMR 2000 BRECK CO
[4]  
Ben-Eliyahu R., 1994, Annals of Mathematics and Artificial Intelligence, V12, P53, DOI 10.1007/BF01530761
[5]  
Cheeseman P C., 1991, INT JOINT C ARTIFICI, V91, P331
[6]  
Clark K. L., 1978, Logic and data bases, P293
[7]  
Gelfond M., 1988, P 5 INT C LOG PROGR, P1070
[8]  
HUANG GS, 2002, LECT NOTES COMPUT SC, V2338, P119
[9]   Loop formulas for disjunctive logic programs [J].
Lee, J ;
Lifschitz, V .
LOGIC PROGRAMMING, PROCEEDINGS, 2003, 2916 :451-465
[10]  
Lee J, 2004, LECT NOTES ARTIF INT, V2923, P141