Muutke küpsiste eelistusi

Handbook of Satisfiability: Second Edition 2 [Kõva köide]

Edited by , Edited by , Edited by
  • Formaat: Hardback, 1484 pages
  • Ilmumisaeg: 29-Apr-2025
  • Kirjastus: IOS Press,US
  • ISBN-10: 1643681605
  • ISBN-13: 9781643681603
Teised raamatud teemal:
  • Formaat: Hardback, 1484 pages
  • Ilmumisaeg: 29-Apr-2025
  • Kirjastus: IOS Press,US
  • ISBN-10: 1643681605
  • ISBN-13: 9781643681603
Teised raamatud teemal:
Propositional logic has been recognized throughout the centuries as one of the cornerstones of reasoning in philosophy and mathematics. Over time, its formalization into Boolean algebra was accompanied by the recognition that a wide range of combinatorial problems can be expressed as propositional satisfiability (SAT) problems. Because of this dual role, SAT developed into a mature, multi-faceted scientific discipline, and from the earliest days of computing a search was underway to discover how to solveSAT problems in an automated fashion. This book, the Handbook of Satisfiability, is the second, updated and revised edition of the book first published in 2009 under the same name. The handbook aims to capture the full breadth and depth of SAT and to bring together significant progress and advances in automated solving. Topics covered span practical and theoretical research on SAT and its applications and include search algorithms, heuristics, analysis of algorithms, hard instances, randomized formulae, problem encodings, industrial applications, solvers, simplifiers, tools, case studies and empirical results. SAT is interpreted in a broad sense, so as well as propositional satisfiability, there are chapters covering the domain of quantified Boolean formulae (QBF), constraints programming techniques (CSP) for word-level problems and their propositional encoding, and satisfiability modulo theories (SMT). An extensive bibliography completes each chapter. This second edition of the handbook will be of interest to researchers, graduate students, final-year undergraduates, and practitioners using or contributing to SAT, and will provide both an inspiration and a rich resource for their work. Edmund Clarke, 2007 ACM Turing Award Recipient: "SAT solving is a key technology for 21st century computer science." Donald Knuth, 1974 ACM Turing Award Recipient: "SAT is evidently a killer app, because it is key to the solution of so many other problems." Stephen Cook, 1982 ACM Turing Award Recipient: "The SAT problem is at the core of arguably the most fundamental question in computer science: What makes a problem hard?""--

Propositional logic is a cornerstone of reasoning in philosophy and mathematics, and a wide range of combinatorial problems can be expressed as propositional satisfiability problems. Here contributors from those disciplines offer a broad reference to satisfiability problems, incorporating recent developments in automated solving. Looking first at theory and algorithms, then at applications and extensions, they consider such topics as look-ahead-based satisfiability solvers, the automated configuration and selection of satisfiability, combinatorial designs by satisfiability solvers, approximate model counting, and stochastic Boolean satisfiability. The two volumes are paged and indexed together. Annotation ©2022 Ringgold, Inc., Portland, OR (protoview.com)
Part I Theory and Algorithms
Chapter 1 A History of Satisfiability
3(72)
John Franco
John Martin
1.1 Preface: the concept of satisfiability
3(3)
1.2 The ancients
6(2)
1.3 The medieval period
8(1)
1.4 The renaissance
9(1)
1.5 The first logic machine
10(1)
1.6 Boolean algebra
10(2)
1.7 Frege, logicism, and quantification logic
12(1)
1.8 Russell and Whitehead
13(1)
1.9 Godel's incompleteness theorem
14(1)
1.10 Effective process and recursive functions
14(1)
1.11 Herbrand's theorem
15(1)
1.12 Model theory and Satisfiability
15(2)
1.13 Completeness of first-order logic
17(1)
1.14 Application of logic to circuits
18(1)
1.15 Resolution
19(2)
1.16 The complexity or resolution Alasdair Urquhart
21(2)
1.17 Refinement of Resolution-Based SAT Solvers
23(2)
1.18 Upper bounds Ewald Speckenmeyer
25(2)
1.19 Classes of easy expressions
27(4)
1.20 Binary Decision Diagrams
31(1)
1.21 Probabilistic analysis: SAT algorithms
32(7)
1.22 Probabilistic analysis: thresholds
39(3)
1.23 Stochastic Local Search Holger Hoos
42(1)
1.24 Maximum Satisfiability Hantao Zhang
43(2)
1.25 Nonlinear formulations Miguel Anjos
45(4)
1.26 Pseudo-Boolean Forms
49(2)
1.27 Quantified Boolean formulas Hans Kleine Buining
51(24)
References
55(20)
Chapter 2 CNF Encodings
75(26)
Steven Prestwich
2.1 Introduction
75(1)
2.2 Transformation to CNF
75(8)
2.3 Case studies
83(8)
2.4 Desirable properties of CNF encodings
91(3)
2.5 Conclusion
94(7)
References
94(7)
Chapter 3 Complete Algorithms
101(32)
Adnan Darwiche
Knot Pipatsrisawat
3.1 Introduction
101(1)
3.2 Technical Preliminaries
101(3)
3.3 Satisfiability by Existential Quantification
104(5)
3.4 Satisfiability by Inference Rules
109(3)
3.5 Satisfiability by Search: The DPLL Algorithm
112(4)
3.6 Satisfiability by Combining Search and Inference
116(12)
3.7 Conclusions
128(5)
References
128(5)
Chapter 4 CDCL SAT Solving
133(1)
Joao Marques-Silva
Ines Lynce
Sharad Malik
4.1 Introduction
133(2)
4.2 Preliminaries
135(5)
4.3 Implementing CDCL SAT Solvers
140(12)
4.4 Using CDCL SAT Solvers
152(8)
4.5 Impact of CDCL SAT Solvers
160(1)
4.6 Historical Perspective
161(2)
4.7 To Probe Further
163(1)
4.8 Conclusions & Research Directions
164(19)
References
164(19)
Chapter 5 Look-Ahead Based SAT Solvers
183(30)
Marijn J.H. Heule
Hans van Maaren
5.1 Introduction
183(2)
5.2 General and Historical Overview
185(7)
5.3 Heuristics
192(9)
5.4 Additional Reasoning
201(6)
5.5 Eager Data-Structures
207(6)
References
210(3)
Chapter 6 Incomplete Algorithms
213(20)
Henry Kautz
Ashish Sabharwal
Bart Selman
6.1 Greedy Search and Focused Random Walk
215(3)
6.2 Extensions of the Basic Local Search Method
218(1)
6.3 Discrete Lagrangian Methods
219(3)
6.4 The Phase Transition Phenomenon in Random fc-SAT
222(2)
6.5 A New Technique for Random fc-SAT: Survey Propagation
224(1)
6.6 Conclusion
225(8)
References
226(7)
Chapter 7 Proof Complexity and SAT Solving
233(118)
Sam Buss
Jakob Nordstrom
7.1 Introduction
233(3)
7.2 Preliminaries
236(2)
7.3 Resolution and CDCL SAT solvers
238(17)
7.4 Resolution and Proof Complexity
255(15)
7.5 Algebraic Proof Systems
270(12)
7.6 Cutting Planes and Pseudo-Boolean Solving
282(18)
7.7 Cutting Planes and Proof Complexity
300(12)
7.8 Extended Resolution and DRAT Proof Systems
312(4)
7.9 Frege and Extended Frege Proof Systems
316(2)
7.10 Bounded-Depth Frege Proof System
318(4)
7.11 Concluding Remarks
322(29)
References
324(27)
Chapter 8 Fundaments of Branching Heuristics
351(40)
Oliver Kallmann
8.1 Introduction
351(2)
8.2 A general framework for branching algorithms
353(4)
8.3 Branching tuples and the canonical projection
357(5)
8.4 Estimating tree sizes
362(6)
8.5 Axiomatising the canonical order on branching tuples
368(1)
8.6 Alternative projections for restricted branching width
369(2)
8.7 How to select distances and measures
371(7)
8.8 Optimising distance functions
378(2)
8.9 The order of branches
380(3)
8.10 Beyond clause-sets
383(2)
8.11 Conclusion and outlook
385(6)
References
386(5)
Chapter 9 Preprocessing in SAT Solving
391(46)
Armin Biere
Matti Jdrvisalo
Benjamin Kiesl
9.1 Introduction
391(3)
9.2 Classical Preprocessing Techniques
394(7)
9.3 Resolution-Based Preprocessing
401(8)
9.4 CNF Preprocessing Beyond Resolution
409(2)
9.5 Solution Reconstruction
411(3)
9.6 Structure-Based Preprocessing
414(4)
9.7 Conclusion
418(19)
References
419(18)
Chapter 10 Random Satisfiability
437(26)
Dimitris Achlioptas
10.1 Introduction
437(2)
10.2 The State of the Art
439(2)
10.3 Random MAX fc-SAT
441(3)
10.4 Physical Predictions for Solution-space Geometry
444(3)
10.5 The Role of the Second Moment Method
447(1)
10.6 Generative models
447(4)
10.7 Algorithms
451(3)
10.8 Belief/Survey Propagation and the Algorithmic Barrier
454(1)
10.9 Backtracking Algorithms
455(2)
10.10 Exponential Running-Time for k < 3
457(6)
References
458(5)
Chapter 11 Exploiting Runtime Variation in Complete Solvers
463(18)
Carla P. Gomes
Ashish Sabharwal
11.1 Runtime Variation in Backtrack Search
465(7)
11.2 Exploiting Runtime Variation: Randomization and Restarts
472(5)
11.3 Conclusion
477(4)
References
477(4)
Chapter 12 Automated Configuration and Selection of SAT Solvers
481(28)
Holger H. Hoos
Frank Hutter
Kevin Ley ton-Brown
12.1 Introduction
481(1)
12.2 Algorithm configuration
482(7)
12.3 Per-instance algorithm selection
489(7)
12.4 Related approaches
496(3)
12.5 Conclusions and open challenges
499(10)
References
500(9)
Chapter 13 Symmetry and Satisfiability
509(62)
Karem A. Sakallah
13.1 Motivating Example
509(3)
13.2 Preliminaries
512(4)
13.3 Group Theory Basics
516(9)
13.4 CNF Symmetry
525(1)
13.5 Automorphism Group of a Colored Graph
526(5)
13.6 Detection of CNF Symmetries
531(6)
13.7 Symmetry Breaking
537(11)
13.8 From Symmetry to Satisfiability and Back
548(9)
13.9 Summary and a Look Forward
557(3)
13.10 Bibliographic Notes
560(11)
References
566(5)
Chapter 14 Minimal Unsatisfiability and Autarkies
571(64)
Hans Kleine Buning
Oliver Kallmann
14.1 Introduction
571(1)
14.2 Deficiency
572(3)
14.3 Resolution and Homomorphism
575(2)
14.4 Special Classes
577(3)
14.5 Extension to non-clausal formulas
580(3)
14.6 Minimal Falsity for QBF
583(2)
14.7 Applications and Experimental Results
585(1)
14.8 Generalising satisfying assignments through "autarkies"
585(6)
14.9 The autarky monoid
591(7)
14.10 Finding and using autarkies
598(7)
14.11 Autarky systems: Using weaker forms of autarkies
605(12)
14.12 Connections to combinatorics
617(7)
14.13 Generalisations and extensions of autarkies
624(3)
14.14 Conclusion
627(8)
References
627(8)
Chapter 15 Proofs of Unsatisflability
635(34)
Marijn J.H. Heule
15.1 Introduction
635(2)
15.2 Proof Systems
637(7)
15.3 Proof Search
644(1)
15.4 Proof Formats
645(8)
15.5 Proof Production in Practical SAT Solving
653(4)
15.6 Proof Validation and Processing
657(3)
15.7 Proof Applications
660(1)
15.8 Conclusions
661(8)
References
661(8)
Chapter 16 Worst-Case Upper Bounds
669(24)
Evgeny Dantsin
Edward A. Hirsch
16.1 Preliminaries
669(2)
16.2 Tractable and intractable classes
671(3)
16.3 Upper bounds for fc-SAT
674(5)
16.4 Upper bounds for General SAT
679(3)
16.5 How large is the exponent?
682(4)
16.6 Summary table
686(1)
16.7 Addendum for the 2nd Edition: Connections to Circuit Complexity
687(6)
References
688(5)
Chapter 17 Fixed-Parameter Tractability
693(46)
Marko Samer
Stefan Szeider
17.1 Introduction
693(2)
17.2 Preliminaries
695(5)
17.3 Parameterized SAT
700(4)
17.4 Backdoor Sets
704(8)
17.5 Treewidth
712(9)
17.6 Further Satisfiability Parameters
721(5)
17.7 Concluding Remarks
726(13)
References
727(12)
Part II Applications and Extensions
Chapter 18 Bounded Model Checking
739(26)
Armin Biere
18.1 Model Checking
739(3)
18.2 Bounded Semantics
742(1)
18.3 Propositional Encodings
743(4)
18.4 Completeness
747(2)
18.5 Induction
749(1)
18.6 Interpolation
750(3)
18.7 Completeness with Interpolation
753(2)
18.8 Invariant Strengthening
755(1)
18.9 Related Work
755(1)
18.10 Conclusion
756(9)
References
757(8)
Chapter 19 Planning and SAT
765(26)
Jussi Rintanen
19.1 Introduction
765(1)
19.2 Classical Planning
766(1)
19.3 Sequential Plans
767(3)
19.4 Parallel Plans
770(5)
19.5 Finding a Satisfiable Formula
775(4)
19.6 Temporal Planning
779(2)
19.7 Contingent Planning
781(10)
References
785(6)
Chapter 20 Software Verification
791(28)
Daniel Kroening
20.1 Programs use Bit-Vectors
791(1)
20.2 Formal Models of Software
792(3)
20.3 Turning Bit-Vector Arithmetic into CNF
795(3)
20.4 Bounded Model Checking for Software
798(5)
20.5 Predicate Abstraction using SAT
803(11)
20.6 Conclusion
814(5)
References
815(4)
Chapter 21 Combinatorial Designs by SAT Solvers
819(40)
Hantao Zhang
21.1 Introduction
819(2)
21.2 Combinatorial Design Problems
821(24)
21.3 Encoding Design Theory Problems
845(7)
21.4 Conclusions and Open Problems
852(7)
References
853(6)
Chapter 22 Connections to Statistical Physics
859(44)
Fabrizio Altarelli
Remi Monasson
Guilhem Semerjian
Francesco Zamponi
22.1 Introduction
859(2)
22.2 Phase Transitions: Basic Concepts and Illustration
861(8)
22.3 Phase transitions in random CSPs
869(9)
22.4 Local search algorithms
878(4)
22.5 Decimation based algorithms
882(12)
22.6 Conclusion
894(9)
References
895(8)
Chapter 23 MaxSAT
903(26)
Chu Min Li
Felip Manyd
23.1 Introduction
903(1)
23.2 Preliminaries
904(2)
23.3 Branch and Bound Algorithms
906(7)
23.4 Complete Inference in MaxSAT
913(4)
23.5 Approximation Algorithms
917(1)
23.6 The MaxSAT Evaluation
917(1)
23.7 Other Contributions to MaxSAT
918(1)
23.8 The MinSAT Problem
918(1)
23.9 Conclusions
919(10)
References
920(9)
Chapter 24 Maximum Satisfiability
929(64)
Fahiem Bacchus
Matti Jdrvisalo
Ruben Martins
24.1 Introduction
929(2)
24.2 The MaxSAT Formalism
931(2)
24.3 Encodings and Applications
933(6)
24.4 Modern MaxSAT Algorithms
939(27)
24.5 Further Developments
966(5)
24.6 Summary
971(22)
References
972(21)
Chapter 25 Model Counting
993(22)
Carla P. Gomes
Ashish Sabharwal
Bart Selman
25.1 Computational Complexity of Model Counting
994(2)
25.2 Exact Model Counting
996(7)
25.3 Approximate Model Counting
1003(7)
25.4 Conclusion
1010(5)
References
1011(4)
Chapter 26 Approximate Model Counting
1015(32)
Supratik Chakraborty
Kuldeep S. Meel
Moshe Y. Vardi
26.1 Introduction
1015(5)
26.2 Approximate Model Counting for CNF
1020(10)
26.3 Handling CNF+XOR Constraints
1030(2)
26.4 Approximate Model Counting for DNF
1032(3)
26.5 Weighted Counting
1035(4)
26.6 Conclusion
1039(8)
References
1040(7)
Chapter 27 Non-Clausal SAT and ATPG
1047(40)
Rolf Drechsler
Tommi Junttila
Ilkka Niemeld
27.1 Introduction
1047(1)
27.2 Basic Definitions
1048(3)
27.3 Satisfiability Checking for Boolean Circuits
1051(13)
27.4 Automatic Test Pattern Generation
1064(16)
27.5 Conclusions
1080(7)
Chapter 28 Pseudo-Boolean and Cardinality Constraints
1087(44)
Olivier Roussel
Vasco Manquinho
28.1 Introduction
1087(1)
28.2 Basic Definitions
1088(3)
28.3 Decision Problem versus Optimization Problem
1091(2)
28.4 Expressive Power of Cardinality and Pseudo-Boolean Constraints
1093(2)
28.5 Inference Rules
1095(7)
28.6 Current Algorithms
1102(23)
28.7 Conclusion
1125(6)
References
1125(6)
Chapter 29 QBF Theory
1131(26)
Hans Kleine Biining
Uwe Bubeck
29.1 Introduction
1131(1)
29.2 Syntax and Semantics
1131(6)
29.3 Complexity Results
1137(3)
29.4 Models and Expressive power
1140(6)
29.5 Q-Resolution
1146(4)
29.6 Quantified Horn Formulas and Q2-CNF
1150(7)
References
1154(3)
Chapter 30 QBFs reasoning
1157(20)
Enrico Giunchiglia
Paolo Marin
Massimo Narizzano
30.1 Introduction
1157(1)
30.2 Quantified Boolean Logic
1157(1)
30.3 Applications of QBFs and QBF reasoning
1158(1)
30.4 QBF solvers
1159(13)
30.5 Other approaches, extensions and conclusions
1172(5)
References
1172(5)
Chapter 31 Quantified Boolean Formulas
1177(46)
Olaf Beyersdorff
Mikolds Janota
Florian Lonsing
Martina Seidl
31.1 Introduction
1177(1)
31.2 Preliminaries
1178(1)
31.3 Proof Systems Based on Q-Resolution
1179(12)
31.4 Expansion-Based Proof Systems
1191(7)
31.5 Preprocessing
1198(6)
31.6 Extraction of Winning Strategies from Proofs
1204(3)
31.7 Connections Between Proof Systems
1207(16)
References
1215(8)
Chapter 32 SAT Techniques for Modal and Description Logics
1223(44)
Roberto Sebastiani
Armando Tacchella
32.1 Introduction
1223(2)
32.2 Background
1225(6)
32.3 Basic Modal DPLL
1231(11)
32.4 Advanced Modal DPLL
1242(10)
32.5 The OBDD-based Approach
1252(4)
32.6 The Eager DPLL-based approach
1256(11)
References
1261(6)
Chapter 33 Satisfiability Modulo Theories
1267(64)
Clark Barrett
Roberto Sebastiani
Sanjit A. Seshia
Cesare Tinelli
33.1 Introduction
1267(2)
33.2 Background
1269(6)
33.3 Eager Encodings to SAT
1275(10)
33.4 Integrating Theory Solvers into SAT Engines
1285(12)
33.5 Theory Solvers
1297(6)
33.6 Combining Theories
1303(7)
33.7 Extensions and Enhancements
1310(21)
References
1316(15)
Chapter 34 Stochastic Boolean Satisfiability
1331(40)
Stephen M. Majercik
34.1 Introduction
1331(1)
34.2 Definitions and Notation
1331(3)
34.3 Complexity of SSAT and Related Problems
1334(1)
34.4 Applications
1335(1)
34.5 Analytical Results
1336(1)
34.6 Algorithms and Empirical Results
1337(17)
34.7 Stochastic Constraint Programming
1354(2)
34.8 Future Directions
1356(15)
References
1363(8)
Subject Index 1371(58)
Cited Author Index 1429(34)
Contributing Authors and Affiliations 1463