Title Page
Contents
Preface
PART ONE. Tools and Techniques
CHAPTER 1 Introduction
1.1. A Min-Cut Algorithm
1.2. Las Vegas and Monte Carlo
1.3. Binary Planar Partitions
1.4. A Probabilistic Recurrence
1.5. Computation Model and Complexity Classes
1.5.1. RAMs and Turing Machines
1.5.2. Complexity Classes
Notes
Problems
CHAPTER 2 Game-Theoretic Techniques
2.1. Game Tree Evaluation
2.2. The Minimax Principle
2.2.1. Game Theory
2.2.2. Yao's Technique
2.2.3. Lower Bound for Game Tree Evaluation
2.3. Randomness and Non-uniformity
Notes
Problems
CHAPTER 3 Moments and Deviations
3.1. Occupancy Problems
3.2. The Markov and Chebyshev Inequalities
3.3. Randomized Selection
3.4. Two-Point Sampling
3.5. The Stable Marriage Problem
3.6. The Coupon Collector's Problem
3.6.1. An Elementary Analysis
3.6.2. The Poisson Heuristic
3.6.3. A Sharp Threshold
Notes
Problems
CHAPTER 4 Tail Inequalities
4.1. The Chernoff Bound
4.2. Routing in a Parallel Computer
4.3. A Wiring Problem
4.4. Martingales
4.4.1. A Simple Definition
4.4.2. A General Definition
4.4.3. Martingale Tail Inequalities
Problems
CHAPTER 5 The Probabilistic Method
5.1. Overview of the Method
5.2. Maximum Satisfiability
5.3. Expanding Graphs
5.3.1. Probability Amplification
5.4. Oblivious Routing Revisited
5.5. The Lovasz Local Lemma
5.6. The Method of Conditional Probabilities
Problems
CHAPTER 6 Markov Chains and Random Walks
6.1. A 2-SAT Example
6.2. Markov Chains
6.3. Random Walks on Graphs
6.4. Electrical Networks
6.5. Cover Times
6.6. Graph Connectivity
6.6.1. Undirected Graphs
6.6.2. Directed Graphs
6.7. Expanders and Rapidly Mixing Random Walks
6.7.1. Expanders and Eigenvalues
6.7.2. Random Walks on Expanders
6.8. Probability Amplification by Random Walks on Expanders
Problems
CHAPTER 7 Algebraic Techniques
7.1. Fingerprinting and Freivalds' Technique
7.2. Verifying Polynomial Identities
7.3. Perfect Matchings in Graphs
7.4. Verifying Equality of Strings
7.5. A Comparison of Fingerprinting Techniques
7.6. Pattern Matching
7.7. Interactive Proof Systems
7.7.1. Verifying Graph Non-Isomorphism
7.7.2. The Class IP and #3SAT
7.7.3. Arithmetization of Satisfiability
7.7.4. The Interactive Proof System for #3SAT
7.8. PCP and Efficient Proof Verification
7.8.1. Arithmetization Revisited
7.8.2. A Proof of Satisfiability
7.8.3. The Verification
Notes
Problems
PART TWO. Applications
CHAPTER 8 Data Structures
8.1. The Fundamental Data-structuring Problem
8.2. Random Treaps
8.2.1. Mulmuley Games
8.2.2. Analysis of Treaps
8.3. Skip Lists
8.4. Hash Tables
8.4.1. Universal Hash Families
8.4.2. Application to Dynamic Dictionaries
8.4.3. Constructing Universal Hash Families
8.4.4. Strongly Universal Hash Families
8.5. Hashing with 0 (1 ) Search Time
8.5.1. Nearly Perfect Hash Families
8.5.2. Achieving Bounded Query Time
Problems
CHAPTER 9 Geometric Algorithms and LinearProgramming
9.1. Randomized Incremental Construction
9.2. Convex Hulls in the Plane
9.3. Duality
9.4. Half-space Intersections
9.5. Delaunay Triangulations
9.6. Trapezoidal Decompositions
9.7. Binary Space Partitions
9.8. The Diameter of a Point Set
9.9. Random Sampling
9.10. Linear Programming
Problems
CHAPTER 10 Graph Algorithms
10.1. All-pairs Shortest Paths
10.2. The Min-Cut Problem
10.3. Minimum Spanning Trees
Notes
Problems
CHAPTER 11 Approximate Counting
11.1. Randomized Approximation Schemes
11.2. The DNF Counting Problem
11.3. Approximating the Permanent
11.4. Volume Estimation
Notes
Problems
CHAPTER 12 Parallel and Distributed Algorithms
12.1. The PRAM Model
12.2. Sorting on a PRAM
12.3. Maximal Independent Sets
12.4. Perfect Machings
12.5. The Choice Coordination Problem
12.6. Byzantine Agreement
Notes
Problems
CHAPTER 13 Online Algorithms
13.1. The Online Paging Problem
13.2. Adversary Models
13.3. Paging against an Oblivious Adversary
13.4. Relating the Adversaries
13.5. The Adaptive Online Adversary
13.6. The k-Server Problem
Notes
Problems
CHAPTER 14 Num ber Theory and Algebra
14.1. Preliminaries
14.2. Groups and Fields
14.3. Quadratic Residues
14.4. The RSA Cryptosystem
14.5. Polynomial Roots and Factors
14.6. Primality Testing
Notes
Problems
APPENDIX A. Notational Index
APPENDIX B. Mathematical Background
Notation for Asymptotics
Combinatorial Inequalities
Linear Algebra
APPENDIX C. Basic Probability Th1eory
References
Index