6.841 Advanced Complexity Theory
February 9, 2009
Lecture 2
Lecturer: Madhu Sudan
Scribe: Sam McVeety
Today, we will study diagonalization and Ladner’s Theorem, which states roughly that:
P
6
= NP
⇒ ∃
NPintermediate Problem
Later, we will look at relativization, in the context of why diagonalization can’t prove P
6
= NP.
1
Diagonalization
All subsequent applications of diagonalization are based on the method discovered by Cantor (1880s), which
he used to prove the uncountability of rational numbers. We outline that method below:
•
We can enumerate the rational numbers,
r
i
, and use them as rows in a matrix
•
Examine the binary expansion of each number, one digit in each column
•
Construct a new number
n
such that
n
does not equal
r
i
at the
i
th place, negating along the “diagonal”
Recall that we first applied this to languages to show that they are not computable, and then moved to
prove further results. The proofs are very similar, as we can simply change the rows from rational numbers
to languages, and the column headings to be an element in the set of all finite strings. For entries in the
table, 1 implies membership in the language, 0 implies otherwise.
Proving the uncomputability of the Halting Problem represents a significant step forward (1940s). The
jump from “a language is not computable” to “this language is not computable” is nontrivial, particularly
given that we have a concise description of the language.
Taking the technique still further, we can use diagonalization to prove results for time and space com
plexity. Rabin and Blum contributed significantly to these results.
Theorem 1 (Hartmanis, Stearns, ’65)
time
(
f
(
n
))
(
time
(
ω
(
f
(
n
)) log
f
(
n
))
space
(
f
(
n
))
(
space
(
ω
(
f
(
n
)))
Sketch of Proof
•
Describe language
L
(or Turing Machine
M
) such that
M
∈
time
(
ω
(
f
(
n
)) log
f
(
n
))
•
For every
L
i
∈
time
(
f
(
n
)),
L
i
6
=
L
•
We ensure this inequality by using different “phases” for different
i
•
On input
x
, simulate
L
i
(
x
) and negate its answer. This is the language
L
.
Note that negation is easy for deterministic machines, but it is more subtle for nondeterministic machines.
Now, we will look at Ladner’s Theorem. First, a bit of context for this particular result. In his paper on
NPcompleteness, Levin managed to prove many things to be NPcomplete, with the major exceptions of
LP, GRAPHISO, and Factoring. Because so many problems were NPcomplete, theorists began to wonder
whether problems were either NPcomplete or in P. (Concisely, is P
∪
NPcomplete = NP?) Ladner’s Theorem
answers this question in the negative (unless P = NP).
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '09
 MadhuSudan
 Computational complexity theory, NJ, Halting problem

Click to edit the document details