|
|
|
xiii | |
| Preface |
|
xv | |
|
|
|
1 | (14) |
|
|
|
1 | (4) |
|
1.2 Intractable Itineraries |
|
|
5 | (3) |
|
1.3 Playing Chess With God |
|
|
8 | (2) |
|
|
|
10 | (5) |
|
|
|
11 | (2) |
|
|
|
13 | (2) |
|
|
|
15 | (26) |
|
2.1 Problems and Solutions |
|
|
15 | (3) |
|
2.2 Time, Space, and Scaling |
|
|
18 | (5) |
|
|
|
23 | (2) |
|
2.4 The Importance of Being Polynomial |
|
|
25 | (4) |
|
2.5 Tractability and Mathematical Insight |
|
|
29 | (12) |
|
|
|
30 | (5) |
|
|
|
35 | (6) |
|
3 Insights and Algorithms |
|
|
41 | (54) |
|
|
|
42 | (1) |
|
|
|
43 | (10) |
|
|
|
53 | (6) |
|
3.4 Getting There From Here |
|
|
59 | (5) |
|
|
|
64 | (4) |
|
3.6 Finding a Better Flow |
|
|
68 | (3) |
|
3.7 Flows, Cuts, and Duality |
|
|
71 | (3) |
|
3.8 Transformations and Reductions |
|
|
74 | (21) |
|
|
|
76 | (13) |
|
|
|
89 | (6) |
|
4 Needles in a Haystack: the Class NP |
|
|
95 | (32) |
|
4.1 Needles and Haystacks |
|
|
96 | (1) |
|
|
|
97 | (12) |
|
4.3 Search, Existence, and Nondeterminism |
|
|
109 | (6) |
|
|
|
115 | (12) |
|
|
|
121 | (4) |
|
|
|
125 | (2) |
|
5 Who is the Hardest One of All? NP-Completeness |
|
|
127 | (46) |
|
5.1 When One Problem Captures Them All |
|
|
128 | (1) |
|
5.2 Circuits and Formulas |
|
|
129 | (4) |
|
|
|
133 | (12) |
|
5.4 Completeness as a Surprise |
|
|
145 | (8) |
|
5.5 The Boundary Between Easy and Hard |
|
|
153 | (7) |
|
5.6 Finally, Hamiltonian Path |
|
|
160 | (13) |
|
|
|
163 | (5) |
|
|
|
168 | (5) |
|
6 The Deep Question: P vs. NP |
|
|
173 | (50) |
|
|
|
174 | (7) |
|
6.2 Upper Bounds are Easy, Lower Bounds Are Hard |
|
|
181 | (3) |
|
6.3 Diagonalization and the Time Hierarchy |
|
|
184 | (3) |
|
|
|
187 | (4) |
|
|
|
191 | (5) |
|
|
|
196 | (3) |
|
6.7 Nonconstructive Proofs |
|
|
199 | (11) |
|
|
|
210 | (13) |
|
|
|
211 | (7) |
|
|
|
218 | (5) |
|
7 The Grand Unified Theory of Computation |
|
|
223 | (78) |
|
7.1 Babbage's Vision and Hilbert's Dream |
|
|
224 | (6) |
|
7.2 Universality and Undecidability |
|
|
230 | (10) |
|
7.3 Building Blocks: Recursive Functions |
|
|
240 | (9) |
|
7.4 Form is Function: the λ-Calculus |
|
|
249 | (9) |
|
7.5 Turing's Applied Philosophy |
|
|
258 | (6) |
|
7.6 Computation Everywhere |
|
|
264 | (37) |
|
|
|
284 | (6) |
|
|
|
290 | (11) |
|
8 Memory, Paths, and Games |
|
|
301 | (50) |
|
8.1 Welcome to the State Space |
|
|
302 | (4) |
|
|
|
306 | (4) |
|
8.3 L and NL-Completeness |
|
|
310 | (4) |
|
8.4 Middle-First Search and Nondeterministic Space |
|
|
314 | (3) |
|
8.5 You Can't Get There From Here |
|
|
317 | (2) |
|
8.6 PSPACE, Games, and Quantified SAT |
|
|
319 | (9) |
|
|
|
328 | (11) |
|
|
|
339 | (12) |
|
|
|
341 | (6) |
|
|
|
347 | (4) |
|
9 Optimization and Approximation |
|
|
351 | (100) |
|
9.1 Three Flavors of Optimization |
|
|
352 | (3) |
|
|
|
355 | (9) |
|
|
|
364 | (6) |
|
9.4 Jewels and Facets: Linear Programming |
|
|
370 | (12) |
|
9.5 Through the Looking-Glass: Duality |
|
|
382 | (5) |
|
9.6 Solving by Balloon: Interior Point Methods |
|
|
387 | (5) |
|
9.7 Hunting with Eggshells |
|
|
392 | (10) |
|
|
|
402 | (7) |
|
9.9 Trees, Tours, and Polytopes |
|
|
409 | (5) |
|
9.10 Solving Hard Problems in Practice |
|
|
414 | (37) |
|
|
|
427 | (15) |
|
|
|
442 | (9) |
|
|
|
451 | (56) |
|
10.1 Foiling the Adversary |
|
|
452 | (2) |
|
|
|
454 | (3) |
|
10.3 The Satisfied Drunkard: WalkSAT |
|
|
457 | (3) |
|
10.4 Solving in Heaven, Projecting to Earth |
|
|
460 | (5) |
|
10.5 Games Against the Adversary |
|
|
465 | (7) |
|
10.6 Fingerprints, Hash Functions, and Uniqueness |
|
|
472 | (7) |
|
10.7 The Roots of Identity |
|
|
479 | (3) |
|
|
|
482 | (6) |
|
10.9 Randomized Complexity Classes |
|
|
488 | (19) |
|
|
|
491 | (11) |
|
|
|
502 | (5) |
|
11 Interaction and Pseudorandomness |
|
|
507 | (56) |
|
11.1 The Tale of Arthur and Merlin |
|
|
508 | (13) |
|
11.2 The Fable of the Chess Master |
|
|
521 | (5) |
|
11.3 Probabilistically Checkable Proofs |
|
|
526 | (14) |
|
11.4 Pseudorandom Generators and Derandomization |
|
|
540 | (23) |
|
|
|
553 | (7) |
|
|
|
560 | (3) |
|
12 Random Walks and Rapid Mixing |
|
|
563 | (88) |
|
12.1 A Random Walk in Physics |
|
|
564 | (4) |
|
12.2 The Approach to Equilibrium |
|
|
568 | (5) |
|
12.3 Equilibrium Indicators |
|
|
573 | (3) |
|
|
|
576 | (3) |
|
12.5 Coloring a Graph, Randomly |
|
|
579 | (7) |
|
12.6 Burying Ancient History: Coupling from the Past |
|
|
586 | (16) |
|
|
|
602 | (4) |
|
12.8 Flows of Probability: Conductance |
|
|
606 | (6) |
|
|
|
612 | (11) |
|
12.10 Mixing in Time and Space |
|
|
623 | (28) |
|
|
|
626 | (17) |
|
|
|
643 | (8) |
|
13 Counting, Sampling, and Statistical Physics |
|
|
651 | (72) |
|
13.1 Spanning Trees and the Determinant |
|
|
653 | (5) |
|
13.2 Perfect Matchings and the Permanent |
|
|
658 | (4) |
|
13.3 The Complexity of Counting |
|
|
662 | (6) |
|
13.4 From Counting to Sampling, and Back |
|
|
668 | (6) |
|
13.5 Random Matchings and Approximating the Permanent |
|
|
674 | (9) |
|
13.6 Planar Graphs and Asymptotics on Lattices |
|
|
683 | (10) |
|
13.7 Solving the Ising Model |
|
|
693 | (30) |
|
|
|
703 | (15) |
|
|
|
718 | (5) |
|
14 When Formulas Freeze: Phase Transitions in Computation |
|
|
723 | (96) |
|
14.1 Experiments and Conjectures |
|
|
724 | (6) |
|
14.2 Random Graphs, Giant Components, and Cores |
|
|
730 | (12) |
|
14.3 Equations of Motion: Algorithmic Lower Bounds |
|
|
742 | (6) |
|
|
|
748 | (11) |
|
14.5 The Easiest Hard Problem |
|
|
759 | (9) |
|
|
|
768 | (15) |
|
14.7 Survey Propagation and the Geometry of Solutions |
|
|
783 | (10) |
|
14.8 Frozen Variables and Hardness |
|
|
793 | (26) |
|
|
|
796 | (14) |
|
|
|
810 | (9) |
|
|
|
819 | (92) |
|
15.1 Particles, Waves, and Amplitudes |
|
|
820 | (3) |
|
15.2 States and Operators |
|
|
823 | (10) |
|
15.3 Spooky Action at a Distance |
|
|
833 | (8) |
|
15.4 Algorithmic Interference |
|
|
841 | (7) |
|
15.5 Cryptography and Shor's Algorithm |
|
|
848 | (14) |
|
15.6 Graph Isomorphism and the Hidden Subgroup Problem |
|
|
862 | (7) |
|
15.7 Quantum Haystacks: Grover's Algorithm |
|
|
869 | (7) |
|
15.8 Quantum Walks and Scattering |
|
|
876 | (35) |
|
|
|
888 | (14) |
|
|
|
902 | (9) |
|
|
|
911 | (34) |
|
|
|
911 | (3) |
|
A.2 Approximations and Inequalities |
|
|
914 | (3) |
|
|
|
917 | (6) |
|
|
|
923 | (4) |
|
A.5 Concentration Inequalities |
|
|
927 | (4) |
|
|
|
931 | (2) |
|
A.7 Groups, Rings, and Fields |
|
|
933 | (12) |
|
|
|
939 | (6) |
| References |
|
945 | (29) |
| Index |
|
974 | |