You are previewing Tractability.
O'Reilly logo
Tractability

Book Description

Classical computer science textbooks tell us that some problems are 'hard'. Yet many areas, from machine learning and computer vision, to theorem proving and software verification, have defined their own set of tools for effectively solving complex problems. Tractability provides an overview of these different techniques, and of the fundamental concepts and properties used to tame intractability. This book will help you understand what to do when facing a hard computational problem. Can the problem be modelled by convex, or submodular functions? Will the instances arising in practice be of low treewidth, or exhibit another specific graph structure that makes them easy? Is it acceptable to use scalable, but approximate algorithms? A wide range of approaches is presented through self-contained chapters written by authoritative researchers on each topic. As a reference on a core problem in computer science, this book will appeal to theoreticians and practitioners alike.

Table of Contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright
  5. Contents
  6. Contributors
  7. Introduction
  8. Part 1: Graphical Structure
    1. 1. Treewidth and Hypertree Width
      1. 1.1 Treewidth
      2. 1.2 Hypertree width
      3. 1.3 Applications of hypertree width
      4. 1.4 Beyond (hyper)tree decompositions
      5. 1.5 Tractability frontiers (for CSPs)
      6. 1.6 Conclusion
      7. References
    2. 2. Perfect Graphs and Graphical Modeling
      1. 2.1 Berge Graphs and Perfect Graphs
      2. 2.2 Computational Properties of Perfect Graphs
      3. 2.3 Graphical Models
      4. 2.4 Nand Markov Random Fields
      5. 2.5 Maximum Weight Stable Set
      6. 2.6 Tractable Graphical Models
      7. 2.7 Discussion
      8. 2.8 Acknowledgments
      9. 2.9 Appendix
      10. References
  9. Part 2: Language Restrictions
    1. 3. Submodular Function Maximization
      1. 3.1 Submodular Functions
      2. 3.2 Greedy Maximization of Submodular Functions
      3. 3.3 Beyond the Greedy Algorithm: Handling More Complex Constraints
      4. 3.4 Online Maximization of Submodular Functions
      5. 3.5 Adaptive Submodularity
      6. 3.6 Conclusions
      7. References
    2. 4. Tractable Valued Constraints
      1. 4.1 Introduction
      2. 4.2 Constraint Satisfaction Problems
      3. 4.3 Valued Constraint Satisfaction Problems
      4. 4.4 Examples of Valued Constraint Languages
      5. 4.5 Expressive Power
      6. 4.6 Submodular Functions and Multimorphisms
      7. 4.7 Conservative Valued Constraint Languages
      8. 4.8 A General Algebraic Theory of Complexity
      9. 4.9 Conclusions and Open Problems
      10. References
    3. 5. Tractable Knowledge Representation Formalisms
      1. 5.1 Introduction
      2. 5.2 A Motivating Example
      3. 5.3 Negation Normal Form
      4. 5.4 Structured Decomposability
      5. 5.5 (X, Y)-Decompositions of Boolean Functions
      6. 5.6 Sentential Decision Diagrams
      7. 5.7 The Process of Compilation
      8. 5.8 Knowledge Compilation in Probabilistic Reasoning
      9. 5.9 Conclusion
      10. References
  10. Part 3: Algorithms and their Analysis
    1. 6. Tree-Reweighted Message Passing
      1. 6.1 Introduction
      2. 6.2 Preliminaries
      3. 6.3 Sequential Tree-Reweighted Message Passing (TRW-S)
      4. 6.4 Analysis of the Algorithm
      5. 6.5 TRW-S with Monotonic Chains
      6. 6.6 Summary of the TRW-S Algorithm
      7. 6.7 Related Approaches
      8. 6.8 Conclusions and Discussion
      9. References
    2. 7. Tractable Optimization in Machine Learning
      1. 7.1 Introduction
      2. 7.2 Background
      3. 7.3 Smooth Convex Optimization
      4. 7.4 Nonsmooth Convex Optimization
      5. 7.5 Stochastic Optimization
      6. 7.6 Summary
      7. References
    3. 8. Approximation Algorithms
      1. 8.1 Introduction
      2. 8.2 Combinatorial Algorithms
      3. 8.3 Linear Programming Based Algorithms
      4. 8.4 Semi-Definite Programming Based Algorithms
      5. 8.5 Algorithms for Special Instances
      6. 8.6 Metric Embeddings
      7. 8.7 Hardness of Approximation
      8. References
    4. 9. Kernelization Methods for Fixed-Parameter Tractability
      1. 9.1 Introduction
      2. 9.2 Basic Definitions
      3. 9.3 Classical Techniques
      4. 9.4 Recent Upper Bound Machinery
      5. 9.5 Conclusion
      6. References
  11. Part 4: Tractability in Some Specific Areas
    1. 10. Efficient Submodular Function Minimization for Computer Vision
      1. 10.1 Labeling Problems in Computer Vision
      2. 10.2 Markov and Conditional Random Fields
      3. 10.3 Minimizing Energy Functions for MAP Inference
      4. 10.4 Submodular Functions
      5. 10.5 Graph Cuts for MAP Inference
      6. 10.6 Minimizing Non-Submodular Functions
      7. 10.7 Discussion
      8. References
    2. 11. Towards Practical Graph-Based, Iteratively Decoded Channel Codes:Insights through Absorbing Sets
      1. 11.1 Coding-Theoretic Preliminaries
      2. 11.2 LDPC Codes and Bit-Flipping Decoding
      3. 11.3 Bit Flipping in Practice: a Caveat LDPC Example
      4. 11.4 Absorbing Sets
      5. 11.5 Rethinking the Minimum Distance
      6. 11.6 Design Strategies for Practical LDPC Coding Systems
      7. 11.7 Concluding Remarks and Future Outlook
      8. References
  12. Part 5: Heuristics
    1. 12. SAT Solvers
      1. 12.1 Introduction
      2. 12.2 Preliminaries
      3. 12.3 The Present
      4. 12.4 The (Near) Future
      5. 12.5 Conclusions
      6. References
    2. 13. Tractability and Modern Satisfiability Modulo Theories Solvers
      1. 13.1 Introduction
      2. 13.2 SMT – an Appetizer
      3. 13.3 Tractable and Intractable Theories
      4. 13.4 Practice and Pragmatics
      5. 13.5 DPLL(T) – a Framework for Efficient SMT Solvers
      6. 13.6 Abstract Congruence Closure
      7. 13.7 The Ackermann Reduction
      8. 13.8 Dynamic Ackermann Reduction
      9. 13.9 The Price of Equality
      10. 13.10  Conflict Directed Equality Resolution
      11. 13.11  Conclusions
      12. References