Font Size: a A A

Searching for truth: Techniques for satisfiability of Boolean formulas

Posted on:2004-10-14Degree:Ph.DType:Thesis
University:Princeton UniversityCandidate:Zhang, LintaoFull Text:PDF
GTID:2468390011971263Subject:Engineering
Abstract/Summary:
Given a propositional Boolean formula, the problem of determining whether it can evaluate to the value true is called the Boolean Satisfiability Problem, or SAT. SAT is one of the most important and widely studied problems in computer science. Researchers have been investigating algorithms to solve SAT problems for more than forty years and great progress has been made.; In practice, SAT is a core problem that appears in many applications in Electronic Design Automation (EDA), Artificial Intelligence (AI) and other areas. This thesis investigates the practical problem of using SAT solvers as a feasible reasoning and deduction engine in real world applications. To facilitate the application of SAT to real world situations, the problems are attacked on several fronts.; Even though researchers have been studying SAT solving algorithms for a long time, efforts were mainly concentrated on improving the algorithms to prune search spaces. In this thesis, the implementation issues of SAT solvers are studied. Some of the most widely used techniques in SAT solving algorithms are quantitatively evaluated. Techniques on efficient and effective implementation of these techniques to achieve the best performance are provided. The SAT solver developed by utilizing these results can often achieve 10–100x speedups over other existing SAT solvers. It is widely used by many research groups and is widely regarded as one of the best SAT solvers available.; For some applications, it is often desirable for the SAT solver to have some special abilities besides simply determining the satisfiability of a Boolean formula. Two of such special abilities are discussed in this thesis. For mission critical applications, the SAT solvers employed are often required to provide a means for third party checkers to check the deduction process in order to verify the correctness of the proof. In the thesis a method to provide such a certification procedure is discussed. The second ability discussed is to find a small unsatisfiable sub-formula from an unsatisfiable SAT instance. This ability is often useful for debugging purposes for some applications that use SAT. This thesis discusses how these two special abilities are related and how to implement them on existing SAT solver frameworks. Extensive experimental results are provided to prove the practical feasibility of the approach.; For some of the Boolean reasoning tasks, propositional Boolean formulas are not sufficient. This thesis discusses the problem of deciding the satisfiability of Quantified Boolean Formulas (QBF). A Quantified Boolean formula contains both universal and existential quantifiers. Therefore, it is more expressive than a propositional Boolean formula. A technique called learning and non-chronological backtracking, which has been shown to work very well on SAT solvers, is applied on a QBF solver. Experimental results show that these techniques, when properly adapted, can greatly improve the QBF solver as well.; Overall, this thesis is about properly engineering algorithms to make tools that can help solving practical problems. In particular, the tools discussed are SAT and QBF solvers. By carefully examine the algorithms and their implementation details, improvements have been made on these solvers that can help wider employment of them as feasible deduction engines for real world applications.
Keywords/Search Tags:SAT, Boolean, Techniques, Real world, Applications, Satisfiability, Problem, QBF
Related items