392 research outputs found
Automated Benchmarking of Incremental SAT and QBF Solvers
Incremental SAT and QBF solving potentially yields improvements when
sequences of related formulas are solved. An incremental application is usually
tailored towards some specific solver and decomposes a problem into incremental
solver calls. This hinders the independent comparison of different solvers,
particularly when the application program is not available. As a remedy, we
present an approach to automated benchmarking of incremental SAT and QBF
solvers. Given a collection of formulas in (Q)DIMACS format generated
incrementally by an application program, our approach automatically translates
the formulas into instructions to import and solve a formula by an incremental
SAT/QBF solver. The result of the translation is a program which replays the
incremental solver calls and thus allows to evaluate incremental solvers
independently from the application program. We illustrate our approach by
different hardware verification problems for SAT and QBF solvers.Comment: camera-ready version (8 pages + 2 pages appendix), to appear in the
proceedings of the 20th International Conference on Logic for Programming,
Artificial Intelligence and Reasoning (LPAR), LNCS, Springer, 201
A pearl on SAT solving in Prolog
A succinct SAT solver is presented that exploits the control provided by delay declarations to implement watched literals and unit propagation. Despite its brevity the solver is surprisingly powerful and its elegant use of Prolog constructs is presented as a programming pearl
Finding Finite Models in Multi-Sorted First-Order Logic
This work extends the existing MACE-style finite model finding approach to
multi-sorted first order logic. This existing approach iteratively assumes
increasing domain sizes and encodes the related ground problem as a SAT
problem. When moving to the multi-sorted setting each sort may have a different
domain size, leading to an explosion in the search space. This paper focusses
on methods to tame that search space. The key approach adds additional
information to the SAT encoding to suggest which domains should be grown.
Evaluation of an implementation of techniques in the Vampire theorem prover
shows that they dramatically reduce the search space and that this is an
effective approach to find finite models in multi-sorted first order logic.Comment: SAT 201
A Metric Encoding for Bounded Model Checking (extended version)
In Bounded Model Checking both the system model and the checked property are
translated into a Boolean formula to be analyzed by a SAT-solver. We introduce
a new encoding technique which is particularly optimized for managing
quantitative future and past metric temporal operators, typically found in
properties of hard real time systems. The encoding is simple and intuitive in
principle, but it is made more complex by the presence, typical of the Bounded
Model Checking technique, of backward and forward loops used to represent an
ultimately periodic infinite domain by a finite structure. We report and
comment on the new encoding technique and on an extensive set of experiments
carried out to assess its feasibility and effectiveness
Propositional Encoding of Constraints over Tree-Shaped Data
We present a functional programming language for specifying constraints over
tree-shaped data. The language allows for Haskell-like algebraic data types and
pattern matching. Our constraint compiler CO4 translates these programs into
satisfiability problems in propositional logic. We present an application from
the area of automated analysis of (non-)termination of rewrite systems
Domino Tatami Covering is NP-complete
A covering with dominoes of a rectilinear region is called \emph{tatami} if
no four dominoes meet at any point. We describe a reduction from planar 3SAT to
Domino Tatami Covering. As a consequence it is NP-complete to decide whether
there is a perfect matching of a graph that meets every 4-cycle, even if the
graph is restricted to be an induced subgraph of the grid-graph. The gadgets
used in the reduction were discovered with the help of a SAT-solver.Comment: 10 pages, accepted at The International Workshop on Combinatorial
Algorithms (IWOCA) 201
Generalized Totalizer Encoding for Pseudo-Boolean Constraints
Pseudo-Boolean constraints, also known as 0-1 Integer Linear Constraints, are
used to model many real-world problems. A common approach to solve these
constraints is to encode them into a SAT formula. The runtime of the SAT solver
on such formula is sensitive to the manner in which the given pseudo-Boolean
constraints are encoded. In this paper, we propose generalized Totalizer
encoding (GTE), which is an arc-consistency preserving extension of the
Totalizer encoding to pseudo-Boolean constraints. Unlike some other encodings,
the number of auxiliary variables required for GTE does not depend on the
magnitudes of the coefficients. Instead, it depends on the number of distinct
combinations of these coefficients. We show the superiority of GTE with respect
to other encodings when large pseudo-Boolean constraints have low number of
distinct coefficients. Our experimental results also show that GTE remains
competitive even when the pseudo-Boolean constraints do not have this
characteristic.Comment: 10 pages, 2 figures, 2 tables. To be published in 21st International
Conference on Principles and Practice of Constraint Programming 201
Computing Storyline Visualizations with Few Block Crossings
Storyline visualizations show the structure of a story, by depicting the
interactions of the characters over time. Each character is represented by an
x-monotone curve from left to right, and a meeting is represented by having the
curves of the participating characters run close together for some time. There
have been various approaches to drawing storyline visualizations in an
automated way. In order to keep the visual complexity low, rather than
minimizing pairwise crossings of curves, we count block crossings, that is,
pairs of intersecting bundles of lines.
Partly inspired by the ILP-based approach of Gronemann et al. [GD 2016] for
minimizing the number of pairwise crossings, we model the problem as a
satisfiability problem (since the straightforward ILP formulation becomes more
complicated and harder to solve). Having restricted ourselves to a decision
problem, we can apply powerful SAT solvers to find optimal drawings in
reasonable time. We compare this SAT-based approach with two exact algorithms
for block crossing minimization, using both the benchmark instances of
Gronemann et al. and random instances. We show that the SAT approach is
suitable for real-world instances and identify cases where the other algorithms
are preferable.Comment: Appears in the Proceedings of the 25th International Symposium on
Graph Drawing and Network Visualization (GD 2017
PyGGI 2.0: Language independent genetic improvement framework
PyGGI is a research tool for Genetic Improvement (GI), that is designed to be versatile and easy to use. We present version 2.0 of PyGGI, the main feature of which is an XML-based intermediate program representation. It allows users to easily define GI operators and algorithms that can be reused with multiple target languages. Using the new version of PyGGI, we present two case studies. First, we conduct an Automated Program Repair (APR) experiment with the QuixBugs benchmark, one that contains defective programs in both Python and Java. Second, we replicate an existing work on runtime improvement through program specialisation for the MiniSAT satisfiability solver. PyGGI 2.0 was able to generate a patch for a bug not previously fixed by any APR tool. It was also able to achieve 14% runtime improvement in the case of MiniSAT. The presented results show the applicability and the expressiveness of the new version of PyGGI. A video of the tool demo is at: https://youtu.be/PxRUdlRDS40
Incremental QBF Solving
We consider the problem of incrementally solving a sequence of quantified
Boolean formulae (QBF). Incremental solving aims at using information learned
from one formula in the process of solving the next formulae in the sequence.
Based on a general overview of the problem and related challenges, we present
an approach to incremental QBF solving which is application-independent and
hence applicable to QBF encodings of arbitrary problems. We implemented this
approach in our incremental search-based QBF solver DepQBF and report on
implementation details. Experimental results illustrate the potential benefits
of incremental solving in QBF-based workflows.Comment: revision (camera-ready, to appear in the proceedings of CP 2014,
LNCS, Springer
- …