23 research outputs found
preSAT: SAT Solver Description
CRILThis document briefly describes preSAT 1.0 , a new technique designed to efficiently solve structured CNF formulae
Effectiveness of pre- and inprocessing for CDCL-based SAT solving
Applying pre- and inprocessing techniques to simplify CNF formulas both before and during search can considerably improve the performance of modern SAT solvers. These algorithms mostly aim at reducing the number of clauses, literals, and variables in the formula. However, to be worthwhile, it is necessary that their additional runtime does not exceed the runtime saved during the subsequent SAT solver execution. In this paper we investigate the efficiency and the practicability of selected simplification algorithms for CDCL-based SAT solving. We first analyze them by means of their expected impact on the CNF formula and SAT solving at all. While testing them on real-world and combinatorial SAT instances, we show which techniques and combinations of them yield a desirable speedup and which ones should be avoided
On the Quest for an Acyclic Graph
The paper aims at finding acyclic graphs under a given set of
constraints. More specifically, given a propositional formula
? over edges of a fixed-size graph, the objective is to find a model of
? that corresponds to a graph that is acyclic. The paper proposes several encodings of the
problem and compares them in an experimental evaluation using stateof-the-art
SAT solvers
Efficient satisfiability solver
The past few decades saw great improvements in the performance of satisfiability (SAT) solvers. In this thesis, we discuss the state-of-the-art techniques used in building an efficient SAT solver. Modern SAT solvers are mainly constituted by the following components: decision heuristics, Boolean constraint propagation, conflict analysis, restart, clause deletion and preprocessing. Various algorithms and implementations in each component will be discussed and analyzed. Then we propose a new backtracking strategy, partial backtracking, which can be easily implemented in SAT solvers. It is essentially an extension of the backtracking strategy used in most SAT solvers. With partial backtracking, the solver consecutively amends the variable assignments instead of discarding them completely so that it does not backtrack as many levels as the classic strategy does after analyzing a conflict. We implemented this strategy in our solver Nigma and the experiments show that the solver benefits from this adjustment