Answer Set Programming (ASP) is a declarative programming paradigm. The intrinsic complexity of the evaluation of ASP programs makes the development of more effective and faster systems a challenging research topic. This paper reports on the recent improvements of the ASP solver WASP. WASP is undergoing a refactoring process which will end up in the release of a new and more performant version of the software. In particular the paper focus on the improvements to the core evaluation algorithms working on normal programs. A preliminary experiment on benchmarks from the 3rd ASP competition belonging to the NP class is reported. The previous version of WASP was often not competitive with alternative solutions on this class. The new version of WASP shows a substantial increase in performance.
@cite_14: Answer set programming is a new programming paradigm proposed in [1] and [2], and based on the answer set semantics of Prolog [3]. It is well known that an answer set for a logic program is also a model of the program’s completion [4]. The converse is true when the logic program is “tight” [5,6]. Lin and Zhao [7] showed that for non-tight programs the models of completion which do not correspond to answer sets can be eliminated by adding to the completion what they called “loop formulas”. Nevertheless, their solver assat has some disadvantages: it can work only with basic rules, and it can compute only one answer set. Answer set solver cmodels-1 [12] is a system that computes answer sets for logic programs that are tight or can be transformed into tight programs, and does not suffer from these limitations.
@cite_4: In this work we present a backjumping technique for Disjunctive Logic Programming under the Stable Model Semantics (SDLP). It builds upon related techniques that had originally been introduced for constraint solving, which have been adapted to propositional satisfiability testing, and recently also to non-disjunctive logic programming under the stable model semantics (SLP) [1,2].We focus on backjumping without clause learning, providing a new theoretical framework for backjumping in SDLP, elaborating on and exploiting peculiarities of the disjunctive setting. We present a reason calculus and associated computations, which - compared to the traditional approaches - reduces the information to be stored, while fully preserving the correctness and the efficiency of the backjumping technique, handling specific aspects of disjunction in a benign way. We implemented the proposed technique in DLV, the state-of-the-art SDLP system.We have conducted several experiments on hard random and structured instances in order to assess the impact of backjumping. To this end, we have compared DLV in various versions: With and without the backjumping method described in this paper, in combination with two different heuristic functions. Our conclusion is that under any of the heuristic functions, DLV with backjumping is favourable to DLV without backjumping. DLV with backjumping performs particularly well on structured satisfiability and quantified boolean formula instances, where the search space and execution time are effectively cut.
@cite_1: Let A be a Las Vegas algorithm, i.e., A is a randomized algorithm that always produces the correct answer when its stops but whose running time is a random variable. The authors consider the problem of minimizing the expected time required to obtain an answer from A using strategies which simulate A as follows: run A for a fixed amount of time t sub 1 , then run A independent for a fixed amount of time t sub 2 , etc. The simulation stops if A completes its execution during any of the runs. Let S=(t sub 1 , t sub 2 ,. . .) be a strategy, and let l sub A =inf sub S T(A,S), where T(A,S) is the expected value of the running time of the simulation of A under strategy S. The authors describe a simple universal strategy S sup univ , with the property that, for any algorithm A, T(A,S sup univ )=O(l sub A log(l sub A )). Furthermore, they show that this is the best performance that can be achieved, up to a constant factor, by any universal strategy. >
@cite_17: 
@cite_0: DLV is one of the most successful and widely used answer set programming (ASP) systems. It supports a powerful language extending Disjunctive Datalog with many expressive constructs, including aggregates, strong and weak constraints, functions, lists, and sets. The system provides database connectivity offering a simple way for powerful reasoning on top of relational databases. In this paper, we provide an ample overview of the DLV system. We illustrate its input language and give indications on how to use it for representing knowledge. We also provide a panorama on the system architecture and the main optimizations it incorporates. We then focus on DLVDB, an extension of the basic system which allows for tight coupling with traditional database systems. Finally, we report on a number industrial applications which rely on DLV.
@cite_5: 
@cite_15: In this dissertation we show how conflict clause learning, a technique that has been very useful in improving the efficiency of Boolean logic satisfiability search, can be adapted to speed up dramatically the search for models of answer set programs. Answer set programming is a knowledge representation paradigm related to the areas of logic programming and nonmonotonic reasoning. Many of the applications of answer set programming come from the areas of artificial intelligence-related diagnosis and planning. The problem of finding an answer set for a normal or extended logic program is NP-hard. Current complete answer set solvers are patterned after the Davis-Putnam-Loveland-Logemann ( DPLL) algorithm for solving Boolean satisfiability (SAT) problems, but are adapted to the nonmonotonic semantics of answer set programming. Recent SAT solvers include improvements to the DPLL algorithm. Conflict clause learning has been particularly effective in this regard. A conflict clause represents a backtracking solver's analysis of why a conflict occurred. This analysis can be used to further prune the search space and to direct the search heuristic. The use of such clauses has improved significantly the efficiency of satisfiability solvers over the past few years, especially on structured problems arising from applications. In this dissertation we describe how we have adapted conflict clause techniques for use in the answer set solver Smodels. We experimentally compare the performance of the resulting program, Smodelscc, to that of the original Smodels program. Our tests show dramatic speedups for Smodelscc on a wide range of problems. We also compare the performance of Smodelscc with that of two other recent answer set solvers, ASSAT and Cmodels-2. ASSAT and Cmodels-2 directly call Boolean satisfiability solvers in order to search for answer sets. On so-called “non-tight” problems, Smodelscc showed substantially better performance than these solvers. The performance advantage that Smodels cc enjoys on non-tight problems is due to the unfounded set test that Smodelscc inherits from the Smodels solver, and the fact that this test is executed frequently throughout the program's search for answer sets.
@cite_12: 
@cite_11: A novel logic program like language, weight constraint rules, is developed for answer set programming purposes. It generalizes normal logic programs by allowing weight constraints in place of literals to represent, e.g., cardinality and resource constraints and by providing optimization capabilities. A declarative semantics is developed which extends the stable model semantics of normal programs. The computational complexity of the language is shown to be similar to that of normal programs under the stable model semantics. A simple embedding of general weight constraint rules to a small subclass of the language called basic constraint rules is devised. An implementation of the language, the SMODELS system, is developed based on this embedding. It uses a two level architecture consisting of a front-end and a kernel language implementation. The front-end allows restricted use of variables and functions and compiles general weight constraint rules to basic constraint rules. A major part of the work is the development of an efficient search procedure for computing stable models for this kernel language. The procedure is compared with and empirically tested against satisfiability checkers and an implementation of the stable model semantics. It offers a competitive implementation of the stable model semantics for normal programs and attractive performance for problems where the new types of rules provide a compact representation.
Some of these techniques were already adapted in non-disjunctive ASP solvers like Smodels @math @cite_15 , @cite_12 , Smodels @cite_11 , @cite_14 , and @cite_4 . More in detail, differs from @cite_14 that are based on a rewriting into a propositional formula and an external SAT solver. differs from @cite_0 and the Smodels variants, which features a native implementation of all inference rules. Our new solver is more similar to , but there are differences concerning the restart policy, constraint deletion and branching heuristics. adopts as default a policy based on the sequence of thresholds introduced in @cite_1 , whereas employs by default a different policy based on geometric series. Concerning deletion of learned constraints, adopts a criterion inspired by , while implements a technique introduced in Glucose @cite_5 . Moreover, adopts a branching heuristic based on BerkMin @cite_17 with a variant of the MOMS criterion which estimates the effect of the candidate literals in short clauses.