Muutke küpsiste eelistusi

Handbook of Satisfiability [Kõva köide]

Edited by , Edited by , Edited by
Teised raamatud teemal:
Teised raamatud teemal:
“Satisfiability (SAT) related topics have attracted researchers from various disciplines: logic, applied areas such as planning, scheduling, operations research and combinatorial optimization, but also theoretical issues on the theme of complexity and much more, they all are connected through SAT. My personal interest in SAT stems from actual solving: The increase in power of modern SAT solvers over the past 15 years has been phenomenal. It has become the key enabling technology in automated verification of both computer hardware and software. Bounded Model Checking (BMC) of computer hardware is now probably the most widely used model checking technique. The counterexamples that it finds are just satisfying instances of a Boolean formula obtained by unwinding to some fixed depth a sequential circuit and its specification in linear temporal logic. Extending model checking to software verification is a much more difficult problem on the frontier of current research. One promising approach for languages like C with finite word-length integers is to use the same idea as in BMC but with a decision procedure for the theory of bit-vectors instead of SAT. All decision procedures for bit-vectors that I am familiar with ultimately make use of a fast SAT solver to handle complex formulas. Decision procedures for more complicated theories, like linear real and integer arithmetic, are also used in program verification. Most of them use powerful SAT solvers in an essential way. Clearly, efficient SAT solving is a key technology for 21st century computer science. I expect this collection of papers on all theoretical and practical aspects of SAT solving will be extremely useful to both students and researchers and will lead to many further advances in the field.”--Edmund Clarke (FORE Systems University Professor of Computer Science and Professor of Electrical and Computer Engineering at Carnegie Mellon University, winner of the 2007 A.M. Turing Award)
Part I. Theory and Algorithms
A History of Satisfiability
3(72)
John Franco
John Martin
Preface: the concept of satisfiability
3(3)
The ancients
6(2)
The medieval period
8(1)
The renaissance
9(1)
The first logic machine
10(1)
Boolean algebra
10(2)
Frege, logicism, and quantification logic
12(1)
Russell and Whitehead
13(1)
Godel's incompleteness theorem
14(1)
Effective process and recursive functions
14(1)
Herbrand's theorem
15(1)
Model theory and Satisfiability
15(2)
Completeness of first-order logic
17(1)
Application of logic to circuits
18(1)
Resolution
19(2)
The complexity or resolution
21(2)
Alasdair Urquhart
Refinement of Resolution-Based SAT Solvers
23(2)
Upper bounds
25(2)
Ewald Speckenmeyer
Classes of easy expressions
27(4)
Binary Decision Diagrams
31(1)
Probabilistic analysis: SAT algorithms
32(7)
Probabilistic analysis: thresholds
39(3)
Stochastic Local Search
42(1)
Holger Hoos
Maximum Satisfiability
43(2)
Hantao Zhang
Nonlinear formulations
45(4)
Miguel Anjos
Pseudo-Boolean Forms
49(2)
Quantified Boolean formulas
51(4)
Hans Kleine Buning
References
55(20)
CNF Encodings
75(24)
Steven Prestwich
Introduction
75(1)
Transformation to CNF
75(7)
Case studies
82(8)
Desirable properties of CNF encodings
90(3)
Conclusion
93(1)
References
93(6)
Complete Algorithms
99(32)
Adnan Darwiche
Knot Pipatsrisawat
Introduction
99(1)
Technical Preliminaries
99(3)
Satisfiability by Existential Quantification
102(5)
Satisfiability by Inference Rules
107(3)
Satisfiability by Search: The DPLL Algorithm
110(4)
Satisfiability by Combining Search and Inference
114(12)
Conclusions
126(1)
References
126(5)
CDCL Solvers
131(24)
Joao Marques-Silva
Ines Lynce
Sharad Malik
Introduction
131(1)
Notation
132(3)
Organization of CDCL Solvers
135(2)
Conflict Analysis
137(5)
Modern CDCL Solvers
142(7)
Bibliographical and Historical Notes
149(1)
References
150(5)
Look-Ahead Based SAT Solvers
155(50)
Marijn J.H. Heule
Hans van Maaren
Introduction
155(2)
General and Historical Overview
157(7)
Heuristics
164(9)
Additional Reasoning
173(6)
Eager Data-Structures
179(3)
References
182(3)
Incomplete Algorithms
185(2)
Henry Kautz
Ashish Sabharwal
Bart Selman
Greedy Search and Focused Random Walk
187(3)
Extensions of the Basic Local Search Method
190(1)
Discrete Lagrangian Methods
191(3)
The Phase Transition Phenomenon in Random k-SAT
194(2)
A New Technique for Random k-SAT: Survey Propagation
196(1)
Conclusion
197(1)
References
197(8)
Fundaments of Branching Heuristics
205(40)
Oliver Kullmann
Introduction
205(2)
A general framework for branching algorithms
207(4)
Branching tuples and the canonical projection
211(5)
Estimating tree sizes
216(6)
Axiomatising the canonical order on branching tuples
222(1)
Alternative projections for restricted branching width
223(2)
How to select distances and measures
225(7)
Optimising distance functions
232(2)
The order of branches
234(3)
Beyond clause-sets
237(2)
Conclusion and outlook
239(1)
References
240(5)
Random Satisfiability
245(26)
Dimitris Achlioptas
Introduction
245(2)
The State of the Art
247(2)
Random MAX k-SAT
249(3)
Physical Predictions for Solution-space Geometry
252(3)
The Role of the Second Moment Method
255(1)
Generative models
255(4)
Algorithms
259(3)
Belief/Survey Propagation and the Algorithmic Barrier
262(1)
Backtracking Algorithms
263(2)
Exponential Running-Time for k > 3
265(1)
References
266(5)
Exploiting Runtime Variation in Complete Solvers
271(18)
Carla P. Gomes
Ashish Sabharwal
Runtime Variation in Backtrack Search
273(7)
Exploiting Runtime Variation: Randomization and Restarts
280(5)
Conclusion
285(1)
References
285(4)
Symmetry and Satisfiability
289(50)
Karem A. Sakallah
Motivating Example
290(2)
Preliminaries
292(4)
Group Theory Basics
296(8)
CNF Symmetry
304(1)
Automorphism Group of a Colored Graph
305(5)
Symmetry Detection
310(6)
Symmetry Breaking
316(9)
Summary and a Look Forward
325(4)
Bibliographic Notes
329(6)
References
335(4)
Minimal Unsatisfiability and Autarkies
339(64)
Hans Kleine Buning
Oliver Kullmann
Introduction
339(1)
Deficiency
340(3)
Resolution and Homomorphism
343(2)
Special Classes
345(3)
Extension to non-clausal formulas
348(2)
Minimal Falsity for QBF
350(3)
Applications and Experimental Results
353(1)
Generalising satisfying assignments through ``autarkies''
353(5)
The autarky monoid
358(8)
Finding and using autarkies
366(7)
Autarky systems: Using weaker forms of autarkies
373(12)
Connections to combinatorics
385(7)
Generalisations and extensions of autarkies
392(3)
Conclusion
395(1)
References
395(8)
Worst-Case Upper Bounds
403(22)
Evgeny Dantsin
Edward A. Hirsch
Preliminaries
403(2)
Tractable and intractable classes
405(3)
Upper bounds for k-SAT
408(5)
Upper bounds for General SAT
413(3)
How large is the exponent?
416(4)
Summary table
420(1)
References
421(4)
Fixed-Parameter Tractability
425(32)
Marko Samer
Stefan Szeider
Introduction
425(2)
Fixed-Parameter Algorithms
427(3)
Parameterized SAT
430(4)
Backdoor Sets
434(5)
Treewidth
439(8)
Matchings
447(2)
Concluding Remarks
449(1)
References
449(8)
Part II. Applications and Extensions
Bounded Model Checking
457(26)
Armin Biere
Model Checking
457(3)
Bounded Semantics
460(1)
Propositional Encodings
461(4)
Completeness
465(2)
Induction
467(1)
Interpolation
468(3)
Completeness with Interpolation
471(1)
Invariant Strengthening
472(1)
Related Work
473(1)
Conclusion
474(1)
References
474(9)
Planning and SAT
483(22)
Jussi Rintanen
Introduction
483(1)
Notation
484(2)
Sequential Plans
486(2)
Parallel Plans
488(5)
Finding a Satisfiable Formula
493(4)
Improved SAT Solving for Planning
497(1)
QBF and Planning with Nondeterministic Actions
498(2)
References
500(5)
Software Verification
505(28)
Daniel Kroening
Programs use Bit-Vectors
505(1)
Formal Models of Software
506(3)
Turning Bit-Vector Arithmetic into CNF
509(3)
Bounded Model Checking for Software
512(5)
Predicate Abstraction using SAT
517(11)
Conclusion
528(1)
References
529(4)
Combinatorial Designs by SAT Solvers
533(36)
Hantao Zhang
Introduction
533(2)
Quasigroup Problems
535(10)
Ramsey and Van der Waerden Numbers
545(4)
Covering Arrays
549(4)
Steiner Systems
553(3)
Mendelsohn Designs
556(1)
Encoding Design Theory Problems
557(6)
Conclusions and Open Problems
563(1)
References
564(5)
Connections to Statistical Physics
569(44)
Fabrizio Altarelli
Remi Monasson
Guilhem Semerjian
Francesco Zamponi
Introduction
569(2)
Phase Transitions: Basic Concepts and Illustration
571(8)
Phase transitions in random CSPs
579(9)
Local search algorithms
588(4)
Decimation based algorithms
592(12)
Conclusion
604(1)
References
605(8)
MaxSAT
613(20)
Chu Min Li
Felip Manya
Introduction
613(1)
Preliminaries
614(2)
Branch and Bound Algorithms
616(7)
Complete Inference in MaxSAT
623(1)
Approximation Algorithms
624(1)
Partial MaxSAT and Soft Constraints
624(2)
Evaluations of MaxSAT Solvers
626(1)
Conclusions
627(1)
References
628(5)
Model Counting
633(22)
Carla P. Gomes
Ashish Sabharwal
Bart Selman
Computational Complexity of Model Counting
634(2)
Exact Model Counting
636(7)
Approximate Model Counting
643(7)
Conclusion
650(1)
References
651(4)
Non-Clausal SAT and ATPG
655(40)
Rolf Drechsler
Tommi Junttila
Ilkka Niemela
Introduction
655(1)
Basic Definitions
656(3)
Satisfiability Checking for Boolean Circuits
659(13)
Automatic Test Pattern Generation
672(15)
Conclusions
687(1)
References
688(7)
Pseudo-Boolean and Cardinality Constraints
695(40)
Olivier Roussel
Vasco Manquinho
Introduction
695(1)
Basic Definitions
696(3)
Decision Problem versus Optimization Problem
699(2)
Expressive Power of Cardinality and Pseudo-Boolean Constraints
701(2)
Inference Rules
703(7)
Current Algorithms
710(19)
Conclusion
729(1)
References
730(5)
QBF Theory
735(26)
Hans Kleine Buning
Uwe Bubeck
Introduction
735(1)
Syntax and Semantics
735(6)
Complexity Results
741(3)
Models and Expressive power
744(6)
Q-Resolution
750(4)
Quantified Horn Formulas and Q2-CNF
754(4)
References
758(3)
QBFs reasoning
761(20)
Enrico Giunchiglia
Paolo Marin
Massimo Narizzano
Introduction
761(1)
Quantified Boolean Logic
761(1)
Applications of QBFs and QBF reasoning
762(1)
QBF solvers
763(13)
Other approaches, extensions and conclusions
776(1)
References
776(5)
SAT Techniques for Modal and Description Logics
781(44)
Roberto Sebastiani
Armando Tacchella
Introduction
781(2)
Background
783(6)
Basic Modal DPLL
789(11)
Advanced Modal DPLL
800(10)
The OBDD-based Approach
810(4)
The Eager DPLL-based approach
814(5)
References
819(6)
Satisfiability Modulo Theories
825(62)
Clark Barrett
Roberto Sebastiani
Sanjit A. Seshia
Cesare Tinelli
Introduction
825(2)
Background
827(6)
Eager Encodings to SAT
833(10)
Integrating Theory Solvers into SAT Engines
843(11)
Theory Solvers
854(6)
Combining Theories
860(8)
Extensions and Enhancements
868(5)
References
873(14)
Stochastic Boolean Satisfiability
887(40)
Stephen M. Majercik
Introduction
887(1)
Definitions and Notation
887(3)
Complexity of SSAT and Related Problems
890(1)
Applications
891(1)
Analytical Results
892(1)
Algorithms and Empirical Results
893(17)
Stochastic Constraint Programming
910(2)
Future Directions
912(7)
References
919(8)
Subject Index 927(16)
Cited Author Index 943(22)
Contributing Authors and Affiliations 965