Many hard examples for resolution
Journal of the ACM (JACM)
On the complexity of choosing the branching literal in DPLL
Artificial Intelligence
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
A sharp threshold in proof complexity
STOC '01 Proceedings of the thirty-third annual ACM symposium on Theory of computing
Extending and implementing the stable model semantics
Artificial Intelligence
Introduction to Algorithms
Logic programs with stable model semantics as a constraint programming paradigm
Annals of Mathematics and Artificial Intelligence
Evaluating Search Heuristics and Optimization Techniques in Propositional Satisfiability
IJCAR '01 Proceedings of the First International Joint Conference on Automated Reasoning
ASSAT: computing answer sets of a logic program by SAT solvers
Eighteenth national conference on Artificial intelligence
Answer set programming with clause learning
Answer set programming with clause learning
SAT-based answer set programming
AAAI'04 Proceedings of the 19th national conference on Artifical intelligence
Generalizing Boolean satisfiability II: theory
Journal of Artificial Intelligence Research
Heuristics based on unit propagation for satisfiability problems
IJCAI'97 Proceedings of the 15th international joint conference on Artifical intelligence - Volume 1
Experimenting with heuristics for answer set programming
IJCAI'01 Proceedings of the 17th international joint conference on Artificial intelligence - Volume 1
Answer Set Programming Based on Propositional Satisfiability
Journal of Automated Reasoning
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
Justifications for logic programs under answer set semantics
Theory and Practice of Logic Programming
Extended asp tableaux and rule redundancy in normal logic programs1
Theory and Practice of Logic Programming
On the relation among answer set solvers
Annals of Mathematics and Artificial Intelligence
Extended ASP tableaux and rule redundancy in normal logic programs
ICLP'07 Proceedings of the 23rd international conference on Logic programming
A 25-year perspective on logic programming
Abstract answer set solvers with backjumping and learning
Theory and Practice of Logic Programming
Tableau calculi for answer set programming
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Justifications for logic programs under answer set semantics
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Tableau Calculi for Logic Programs under Answer Set Semantics
ACM Transactions on Computational Logic (TOCL)
Hi-index | 0.00 |
Answer Set Programming (ASP) is a declarative paradigm for solving search problems. State-of-the-art systems for ASP include smodels,dlv, cmodels, and assat. In this paper, our goal is to study the computational properties of such systems both from a theoretical and an experimental point of view. From the theoretical point of view, we start our analysis with cmodels and smodels. We show that though these two systems are apparently different, they are equivalent on a significant class of programs, called tight. By equivalent, we mean that they explore search trees with the same branching nodes, (assuming, of course, a same branching heuristic). Given our result and that the cmodels search engine is based on the Davis Logemann Loveland procedure (dll) for propositional satisfiability (SAT), we are able to establish that many of the properties holding for dll also hold for cmodels and thus for smodels. On the other hand, we also show that there exist classes of non-tight programs which are exponentially hard for cmodels, but “easy” for smodels. We also discuss how our results extend to other systems. From the experimental point of view, we analyze which combinations of reasoning strategies work best on which problems. In particular, we extended cmodels in order to obtain a unique platform with a variety of reasoning strategies, and conducted an extensive experimental analysis on “small” randomly generated and on “large” non randomly generated programs. Considering these programs, our results show that the reasoning strategies that work best on the small problems are completely different from the ones that are best on the large ones. These results point out, e.g., that we can hardly expect to develop one solver with the best performances on all the categories of problems. As a consequence, (i) developers should focus on specific classes of benchmarks, and (ii) benchmarking should take into account whether solvers have been designed for specific classes of programs.