12 research outputs found
What makes a phase transition? Analysis of the random satisfiability problem
In the last 30 years it was found that many combinatorial systems undergo
phase transitions. One of the most important examples of these can be found
among the random k-satisfiability problems (often referred to as k-SAT), asking
whether there exists an assignment of Boolean values satisfying a Boolean
formula composed of clauses with k random variables each. The random 3-SAT
problem is reported to show various phase transitions at different critical
values of the ratio of the number of clauses to the number of variables. The
most famous of these occurs when the probability of finding a satisfiable
instance suddenly drops from 1 to 0. This transition is associated with a rise
in the hardness of the problem, but until now the correlation between any of
the proposed phase transitions and the hardness is not totally clear. In this
paper we will first show numerically that the number of solutions universally
follows a lognormal distribution, thereby explaining the puzzling question of
why the number of solutions is still exponential at the critical point.
Moreover we provide evidence that the hardness of the closely related problem
of counting the total number of solutions does not show any phase
transition-like behavior. This raises the question of whether the probability
of finding a satisfiable instance is really an order parameter of a phase
transition or whether it is more likely to just show a simple sharp threshold
phenomenon. More generally, this paper aims at starting a discussion where a
simple sharp threshold phenomenon turns into a genuine phase transition
Fast exact toffoli network synthesis of reversible logic
Abstract—The research in the field of reversible logic is motivated by its application in low-power design, optical computing and quantum computing. Hence synthesis of reversible logic has become a very important research area in the last years. In this paper exact algorithms for the synthesis of generalized Toffoli networks are considered. We present an improvement of an existing synthesis approach that is based on Boolean Satisfiability. Furthermore, the principle limits of the original and the improved approach are shown. Then, we propose a new method using problem specific knowledge during the synthesis process to overcome these limits. Experimental results demonstrate improvements of the overall synthesis time up to four orders of magnitude. I
The Language of Search
This paper is concerned with a class of algorithms that perform exhaustive
search on propositional knowledge bases. We show that each of these algorithms
defines and generates a propositional language. Specifically, we show that the
trace of a search can be interpreted as a combinational circuit, and a search
algorithm then defines a propositional language consisting of circuits that are
generated across all possible executions of the algorithm. In particular, we
show that several versions of exhaustive DPLL search correspond to such
well-known languages as FBDD, OBDD, and a precisely-defined subset of d-DNNF.
By thus mapping search algorithms to propositional languages, we provide a
uniform and practical framework in which successful search techniques can be
harnessed for compilation of knowledge into various languages of interest, and
a new methodology whereby the power and limitations of search algorithms can be
understood by looking up the tractability and succinctness of the corresponding
propositional languages
Fast incremental unit propagation by unifying watched-literals and local repair
Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Aeronautics and Astronautics, 2006.Includes bibliographical references (p. 100-102).The propositional satisfiability problem has been studied extensively due to its theoretical significance and applicability to a variety of fields including diagnosis, autonomous control, circuit testing, and software verification. In these applications, satisfiability problem solvers are often used to solve a large number of problems that are essentially the same and only differ from each other by incremental alterations. Furthermore, unit propagation is a common component of satisfiability problem solvers that accounts for a considerable amount of the solvers' computation time. Given this knowledge, it is desirable to develop incremental unit propagation algorithms that can efficiently perform changes between similar theories. This thesis introduces two new incremental unit propagation algorithms, called Logic-based Truth Maintenance System with Watched-literals and Incremental Truth Maintenance System with Watched-literals. These algorithms combine the strengths of the Logic-based and Incremental Truth Maintenance Systems designed for generic problem solvers with a state-of-the-art satisfiability solver data structure called watched literals.(cont.) Empirical results show that the use of the watched-literals data structure significantly decreases workload of the LTMS and the ITMS without adversely affecting the incremental performance of these truth maintenance systems.by Shen Qu.S.M
Using Restarts in Constraint Programming over Finite Domains - An Experimental Evaluation
The use of restart techniques in complete Satisfiability (SAT) algorithms has made
solving hard real world instances possible. Without restarts such algorithms could not
solve those instances, in practice. State of the art algorithms for SAT use restart
techniques, conflict clause recording (nogoods), heuristics based on activity variable in
conflict clauses, among others. Algorithms for SAT and Constraint problems share many
techniques; however, the use of restart techniques in constraint programming with finite
domains (CP(FD)) is not widely used as it is in SAT. We believe that the use of restarts in
CP(FD) algorithms could also be the key to efficiently solve hard combinatorial
problems.
In this PhD thesis we study restarts and associated techniques in CP(FD) solvers. In
particular, we propose to including in a CP(FD) solver restarts, nogoods and heuristics
based in nogoods as this should improve search algorithms, and, consequently, efficiently
solve hard combinatorial problems.
We thus intend to: a) implement restart techniques (successfully used in SAT) to
solve constraint problems with finite domains; b) implement nogoods (learning) and
heuristics based on nogoods, already in use in SAT and associated with restarts; and c)
evaluate the use of restarts and the interplay with the other implemented techniques.
We have conducted the study in the context of domain splitting backtrack search
algorithms with restarts. We have defined domain splitting nogoods that are extracted
from the last branch of the search algorithm before the restart. And, inspired by SAT
solvers, we were able to use information within those nogoods to successfully help the
variable selection heuristics. A frequent restart strategy is also necessary, since our
approach learns from restarts
Effective SAT solving
A growing number of problem domains are successfully being tackled by SAT solvers. This thesis contributes to that trend by pushing the state-of-the-art of core SAT algorithms and their implementation, but also in several important application areas. It consists of five papers: the first details the implementation of the SAT solver MiniSat and the other four papers discuss specific issues related to different application domains.
In the first paper, catering to the trend of extending and adapting SAT solvers, we present a detailed description of MiniSat, a SAT solver designed for that particular purpose. The description additionally bridges a gap between theory and practice, serving as a tutorial on modern SAT solving algorithms. Among other things, we describe how to solve a series of related SAT problems efficiently, called incremental SAT solving.
For finding finite first order models the MACE-style method that is based on SAT solving is well-known. In the second paper we improve the basic method with several techniques that can be loosely classified as either transformations that make the reduction to SAT result in fewer clauses or techniques that are designed to speed up the search of the SAT solver. The resulting tool, called Paradox, won the SAT/Models division of the CASC competition in 2003 and has not been beaten since by a single general purpose model finding tool.
In the last decade the interest in methods for safety property verification that are based on SAT solving has been steadily growing. One example of such a method is temporal induction. The method requires a sequence of increasingly stronger induction proofs to be performed. In the third paper we show how this sequence of proofs can be solved efficiently using incremental SAT solving.
The last two papers consider two frequently occurring types of encodings: (1) the problem of encoding circuits into CNF, and (2) encoding 0-1 integer linear programming into CNF and how to use incremental SAT to solve the intended ptimization problem.
There are several encoding patterns that occur over and over again in this thesis but also elsewhere. The most noteworthy are: incremental SAT, lazy encoding of constraints, and bit-wise encoding of arithmetic influenced by hardware designs for adders and multipliers.
The general conclusion is: deploying SAT solvers effectively requires implementations that are efficient, yet easily adaptable to specific application needs. Moreover, to get the best results, it is worth spending effort to make sure that one uses the best codings possible for an application. However, it is important to note that this is not absolutely necessary. For some applications naive problem codings work just fine which is indeed part of the appeal of using SAT solving