cmodels – SAT-Based Disjunctive Answer Set Solver
Disjunctive logic programming under the stable model semantics [GL91] is a new methodology called answer set programming (ASP) for solving combinatorial search problems. This programming method uses answer set solvers, such as dlv [Lea05], gnt[Jea05], smodels [SS05], assat [LZ02], cmodels[Lie05a]. Systems dlv and gnt are more general as they work with the class of disjunctive logic programs, while other systems cover only normal programs. DLV is uniquely designed to find the answer sets for disjunctive logic programs. On the other hand, gnt first generates possible stable model candidates and then tests the candidate on the minimality using system SMODELS as an inference engine for both tasks. Systems CMODELS and ASSAT use SAT solvers as search engines. They are based on the relationship between the completion semantics [Cla78], loop formulas [LZ02] and answer set semantics for logic programs. Here we present the implementation of a SAT-based algorithm for finding answer sets for disjunctive logic programs within cmodels. The work is based on the definition of completion for disjunctive programs [LL03] and the generalisation of loop formulas [LZ02] to the case of disjunctive programs [LL03]. We propose the necessary modifications to the SAT based ASSAT algorithm [LZ02] as well as to the generate and test algorithm from [GLM04] in order to adapt them to the case of disjunctive programs. We implement the algorithms in cmodels and demonstrate the experimental results.
Unable to display preview. Download preview PDF.
- [Cla78]Clark, K.: Negation as failure. In: Gallaire, H., Minker, J. (eds.) Logic and Data Bases, pp. 293–322. Plenum Press, New York (1978)Google Scholar
- [GLM04]Giunchiglia, E., Lierler, Y., Maratea, M.: Sat-based answer set programming. In: Proc. AAAI 2004, pp. 61–66 (2004)Google Scholar
- [Jea05]Janhunen, T., et al.: GnT (Generate’n’Test): A Solver for Disjunctive Logic Programs (2005), Available under http://www.tcs.hut.fi/Software/gnt/
- [JNSY00]Janhunen, T., Niemela, I., Simons, P., You, J.H.: Unfolding partiality and disjunctions in stable model semantics. In: Proc. KR (2000)Google Scholar
- [Lea05]Leone, N., et al.: A disjunctive datalog system DLV (2005-02-23) (2005), Available under http://www.dbai.tuwien.ac.at/proj/dlv/
- [Lie05a]Lierler, Y.: CMODELS – a tool for computing answer set using SAT solvers (2005), Available under http://www.cs.utexas.edu/users/tag/cmodels
- [Lie05b]Lierler, Y.: Cmodels for tight disjunctive logic programs. In: 19th Workshop on (Constraint) Logic Programming W(C)LP (2005)Google Scholar
- [LZ02]Lin, F., Zhao, Y.: ASSAT: Computing answer sets of a logic program by SAT solvers. In: Proc. AAAI 2002 (2002)Google Scholar
- [NS00]Niemelä, I., Simons, P.: Extending the Smodels system with cardinality and weight constraints. In: Logic-Based Artificial Intelligence, pp. 491–521 (2000)Google Scholar
- [SS05]Simons, P., Syrjaenen, T.: SMODELS and LPARSE – a solver and a grounder for normal logic programs (2005), http://saturn.hut.fi/pub/smodels/