267 research outputs found
Disjunctive Answer Set Solvers via Templates
Answer set programming is a declarative programming paradigm oriented towards
difficult combinatorial search problems. A fundamental task in answer set
programming is to compute stable models, i.e., solutions of logic programs.
Answer set solvers are the programs that perform this task. The problem of
deciding whether a disjunctive program has a stable model is
-complete. The high complexity of reasoning within disjunctive
logic programming is responsible for few solvers capable of dealing with such
programs, namely DLV, GnT, Cmodels, CLASP and WASP. In this paper we show that
transition systems introduced by Nieuwenhuis, Oliveras, and Tinelli to model
and analyze satisfiability solvers can be adapted for disjunctive answer set
solvers. Transition systems give a unifying perspective and bring clarity in
the description and comparison of solvers. They can be effectively used for
analyzing, comparing and proving correctness of search algorithms as well as
inspiring new ideas in the design of disjunctive answer set solvers. In this
light, we introduce a general template, which accounts for major techniques
implemented in disjunctive solvers. We then illustrate how this general
template captures solvers DLV, GnT and Cmodels. We also show how this framework
provides a convenient tool for designing new solving algorithms by means of
combinations of techniques employed in different solvers.Comment: To appear in Theory and Practice of Logic Programming (TPLP
A Multi-Engine Approach to Answer Set Programming
Answer Set Programming (ASP) is a truly-declarative programming paradigm
proposed in the area of non-monotonic reasoning and logic programming, that has
been recently employed in many applications. The development of efficient ASP
systems is, thus, crucial. Having in mind the task of improving the solving
methods for ASP, there are two usual ways to reach this goal: extending
state-of-the-art techniques and ASP solvers, or designing a new ASP
solver from scratch. An alternative to these trends is to build on top of
state-of-the-art solvers, and to apply machine learning techniques for choosing
automatically the "best" available solver on a per-instance basis.
In this paper we pursue this latter direction. We first define a set of
cheap-to-compute syntactic features that characterize several aspects of ASP
programs. Then, we apply classification methods that, given the features of the
instances in a {\sl training} set and the solvers' performance on these
instances, inductively learn algorithm selection strategies to be applied to a
{\sl test} set. We report the results of a number of experiments considering
solvers and different training and test sets of instances taken from the ones
submitted to the "System Track" of the 3rd ASP Competition. Our analysis shows
that, by applying machine learning techniques to ASP solving, it is possible to
obtain very robust performance: our approach can solve more instances compared
with any solver that entered the 3rd ASP Competition. (To appear in Theory and
Practice of Logic Programming (TPLP).)Comment: 26 pages, 8 figure
The Multi-engine ASP Solver ME-ASP: Progress Report
MEASP is a multi-engine solver for ground ASP programs. It exploits algorithm
selection techniques based on classification to select one among a set of
out-of-the-box heterogeneous ASP solvers used as black-box engines. In this
paper we report on (i) a new optimized implementation of MEASP; and (ii) an
attempt of applying algorithm selection to non-ground programs. An experimental
analysis reported in the paper shows that (i) the new implementation of \measp
is substantially faster than the previous version; and (ii) the multi-engine
recipe can be applied to the evaluation of non-ground programs with some
benefits
The Design of the Fifth Answer Set Programming Competition
Answer Set Programming (ASP) is a well-established paradigm of declarative
programming that has been developed in the field of logic programming and
nonmonotonic reasoning. Advances in ASP solving technology are customarily
assessed in competition events, as it happens for other closely-related
problem-solving technologies like SAT/SMT, QBF, Planning and Scheduling. ASP
Competitions are (usually) biennial events; however, the Fifth ASP Competition
departs from tradition, in order to join the FLoC Olympic Games at the Vienna
Summer of Logic 2014, which is expected to be the largest event in the history
of logic. This edition of the ASP Competition series is jointly organized by
the University of Calabria (Italy), the Aalto University (Finland), and the
University of Genova (Italy), and is affiliated with the 30th International
Conference on Logic Programming (ICLP 2014). It features a completely
re-designed setup, with novelties involving the design of tracks, the scoring
schema, and the adherence to a fixed modeling language in order to push the
adoption of the ASP-Core-2 standard. Benchmark domains are taken from past
editions, and best system packages submitted in 2013 are compared with new
versions and solvers.
To appear in Theory and Practice of Logic Programming (TPLP).Comment: 10 page
The SAT-based Approach to Separation Logic
The SAT-based approach to the decision problem for expressive, decidable, quantifier-free first-order theories has been investigated with remarkable results at least since 1993. One such theory, successfully employed in the formal verification of complex, infinite state systems, is Separation Logic (SL), which combines Boolean logic with arithmetic constraints of the form x − y ⋈ c, where ⋈ is ≤, , ≥, =, or ≠. The SAT-based approach to SL was first proposed and implemented in 1999: the results in terms of performance were good, and since then a number of other systems for SL have appeared. In this paper we focus on the problem of building efficient SAT-based decision procedures for SL. We present the basic procedure and four optimizations that improve dramatically its effectiveness in most cases: (a) IS 2 preprocessing, (b) early pruning, (c) model reduction, and (d) best reason detection. For each technique we give an example of how it might improve the performance. Furthermore, for the first three techniques, we give a pseudo-code representation and formally state the soundness and completeness of the resulting optimized procedure. We also show how it is possible to check the satisfiability of valuations involving constraints of the form x − y < c using the Bellman-Ford algorithm. Lastly, we present an extensive comparative experimental analysis, showing that our solver TSAT++, built along the lines described in this paper, is currently the state of the art on various classes of problems, including randomly generated, hand-made, and real-world instance
Computing Answer Sets of a Logic Program via-enumeration of SAT certificates
Answer set programming is a new programming paradigm proposed based on the answer set semantics of Prolog. It is well known that an answer set for a logic program is also a model of the program\u27s completion. The converse is true when the logic program is tight . Lin and Zhao 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 1 has some disadvantages: it can work only with basic rules, and it can compute only one answer set. Answer set solver CMODELS-1 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. We are going to present a new system CMODELS-2 , that is able to fix ASSAT\u27s disadvantages. Another attractive feature of the new system is that it organizes the search process more efficiently then ASSAT, because it does not explore the same part of the search tree more than once. In the rest of the paper we will omit number 2 in the name of the system
A Simple Proof-theoretic Characterization of Stable Models: Reduction to Difference Logic and Experiments
On the Configuration of More and Less Expressive Logic Programs
The decoupling between the representation of a certain problem, i.e., its
knowledge model, and the reasoning side is one of main strong points of
model-based Artificial Intelligence (AI). This allows, e.g. to focus on
improving the reasoning side by having advantages on the whole solving process.
Further, it is also well-known that many solvers are very sensitive to even
syntactic changes in the input. In this paper, we focus on improving the
reasoning side by taking advantages of such sensitivity. We consider two
well-known model-based AI methodologies, SAT and ASP, define a number of
syntactic features that may characterise their inputs, and use automated
configuration tools to reformulate the input formula or program. Results of a
wide experimental analysis involving SAT and ASP domains, taken from respective
competitions, show the different advantages that can be obtained by using input
reformulation and configuration. Under consideration in Theory and Practice of
Logic Programming (TPLP).Comment: Under consideration in Theory and Practice of Logic Programming
(TPLP
- …
