Book contents
- Frontmatter
- Contents
- About this book
- Acknowledgments
- Introduction
- 0 Notational conventions
- PART ONE BASIC COMPLEXITY CLASSES
- 1 The computational model – and why it doesn't matter
- 2 NP and NP completeness
- 3 Diagonalization
- 4 Space complexity
- 5 The polynomial hierarchy and alternations
- 6 Boolean circuits
- 7 Randomized computation
- 8 Interactive proofs
- 9 Cryptography
- 10 Quantum computation
- 11 PCP theorem and hardness of approximation: An introduction
- PART TWO LOWER BOUNDS FOR CONCRETE COMPUTATIONAL MODELS
- PART THREE ADVANCED TOPICS
- Appendix: Mathematical background
- Hints and selected exercises
- Main theorems and definitions
- Bibliography
- Index
- Complexity class index
3 - Diagonalization
from PART ONE - BASIC COMPLEXITY CLASSES
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- About this book
- Acknowledgments
- Introduction
- 0 Notational conventions
- PART ONE BASIC COMPLEXITY CLASSES
- 1 The computational model – and why it doesn't matter
- 2 NP and NP completeness
- 3 Diagonalization
- 4 Space complexity
- 5 The polynomial hierarchy and alternations
- 6 Boolean circuits
- 7 Randomized computation
- 8 Interactive proofs
- 9 Cryptography
- 10 Quantum computation
- 11 PCP theorem and hardness of approximation: An introduction
- PART TWO LOWER BOUNDS FOR CONCRETE COMPUTATIONAL MODELS
- PART THREE ADVANCED TOPICS
- Appendix: Mathematical background
- Hints and selected exercises
- Main theorems and definitions
- Bibliography
- Index
- Complexity class index
Summary
[T]he relativized P =?NP question has a positive answer for some oracles and a negative answer for other oracles. We feel that this is further evidence of the difficulty of the P =?NP question.
– Baker, Gill, Solovay [BGS75]A basic goal of complexity theory is to prove that certain complexity classes (e.g., P and NP) are not the same. To do so, we need to exhibit a machine in one class that differs from every machine in the other class in the sense that their answers are different on at least one input. This chapter describes diagonalization–essentially the only general technique known for constructing such a machine.
We already encountered diagonalization in Section 1.5, where it was used to show the existence of uncomputable functions. Here it will be used in more clever ways. We first use diagonalization in Sections 3.1 and 3.2 to prove hierarchy theorems, which show that giving Turing machines more computational resources allows them to solve a strictly larger number of problems. We then use diagonalization in Section 3.3 to show a fascinating theorem of Ladner: If P ≠ NP, then there exist problems that are neither NP-complete nor in P.
Though diagonalization led to some of these early successes of complexity theory, researchers concluded in the 1970s that diagonalization alone may not resolve P versus NP and other interesting questions; Section 3.4 describes their reasoning.
- Type
- Chapter
- Information
- Computational ComplexityA Modern Approach, pp. 68 - 77Publisher: Cambridge University PressPrint publication year: 2009