: Uwe Schöning, Jacobo Torán
: The Satisfiability Problem Algorithms and Analyses
: Lehmanns Media GmbH
: 9783865416483
: 1
: CHF 8.90
:
: Informatik, EDV
: English
: 178
: Wasserzeichen/DRM
: PC/MAC/eReader/Tablet
: PDF
The satisfiability problem of propositional logic, SAT for short, is the first algorithmic problem that was shown to be NP-complete, and is the cornerstone of virtually all NP-completeness proofs. The SAT problem consists of deciding whether a given Boolean formula has a 'solution', in the sense of an assignment to the variables making the entire formula to evaluate to true. Over the last few years very powerful algorithms have been devised being able to solve SAT problems with hundreds of thousands of variables. For difficult (or randomly generated) formulas these algorithms can be compared to the proverbial search for the needle in a haystack. This book explains how such algorithms work, for example, by exploiting the structure of the SAT problem with an appropriate logical calculus, like resolution. But also algorithms based on 'physical' principles are considered.

The authors, Dr. Uwe Schöning and Dr. Jacobo Toran, are professors in the Institute of Theoretical Computer Science at the University of Ulm, Germany.
Preface5
Title3
Contents6
Introduction7
1 First Definitions and Results9
1.1 Boolean Formulas and Assignments9
1.2 Conjunctive Normal Form and CSP14
1.3 Tseitin Encoding and Series-Parallel Graphs18
1.4 Examples for Encoding into a SAT Problem23
1.5 Autark Assignments26
1.6 Craig Interpolants27
1.7 Satisfiability by Combinatorics29
2 Resolution Calculus35
2.1 Calculi and NP versus co-NP35
2.2 Refutation Completeness36
2.3 Unit Clauses, Subsumption and Pure Literals42
2.4 Strategies and Restrictions44
2.5 Exponential Lower Bounds for the Length of ResolutionProofs50
3 Special Cases Solvable in Polynomial Time59
3.1 2-CNF60
3.2 Horn Formulas63
3.3 Renamable Horn Formulas65
3.4 Schaefer Classification67
4 Backtracking and DPLL Algorithms69
4.1 DPLL and Heuristic Functions71
4.2 Monien-Speckenmeyer Algorithm73
4.3 Paturi-Pudl´ak-Zane Algorithm76
4.4 DPLL in Practice79
4.4.1 Clause Learning80
4.4.2 Non-Chronological Backtracking82
5 Local Search and Hamming Balls83
5.1 Deterministic Local Search84
5.2 Random Initial Assignments86
5.3 Covering Codes88
5.4 A RandomWalk Algorithm91
5.5 Moser-Scheder-Algorithm96
5.6 GSAT,WalkSAT, Novelty, ProbSAT99
5.7 Hard Formulas for Local Search102
6 More SAT Algorithms106
6.1 A Divide and Conquer Algorithm106
6.2 Stalmarck Algorithm108
6.3 SAT Algorithms with OBDD’s112
6.4 Randomized Rounding and the Cross-EntropyMethod114
7.1 Threshold and Phase Transition117
7.2 Random Satisfiable Formulas121
7.3 Ising Model and Physically Motivated Algorithms124
8 Heavy Tail Distributions and Restarts129
9 Final Discussion133
Appendix: Programming in Pseudo Code137
Appendix: Graphs139
Appendix: Asymptotic Notation and Recurrences141
Appendix: Efficient Algorithms, P and NP142
Appendix: Probabilistic Algorithms and the Class RP146
Appendix: Boolean Circuits149
Appendix: SAT is NP-complete152
Appendix: Binary Decision Diagrams (BDD’s)155
Appendix: Random Variables157
Appendix: Markov Chains161
Appendix: Estimations with Binomial Coefficients163
Index175