

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A lecture note from cs221: computational complexity course, taught by prof. Salil vadhan. The sixth lecture covers the topic of nondeterministic time and hierarchy. The relationship between nondeterministic time classes, such as ntime and npspace, and their complements. It also introduces the concept of padding and its implications on the time hierarchy theorem. The document also touches upon the relationships between time and space complexity.
Typology: Study notes
1 / 3
This page cannot be seen from the preview
Don't miss anything!


CS221: Computational Complexity Prof. Salil Vadhan
Oct. 2, 2002 Scribe: Arthur Rudolph
1 Nondeterministic Time 1
2 Nondeterministic Time Hierarchy 2
3 Relationships between Resources 3
For a complexity class C: co-C = { L¯ : L ∈ C}( 6 = C¯)
It is clear that P = co-P, L = co-L, etc. (deterministic algorithms can flip their answer), but
NP =? co-NP, NL =? co-NL, NPSPACE =? co-NPSPACE are intriguing questions. Problems in co-NP:
Unsatisfiability = {ϕ : ¬∃a s.t. ϕ(¯a) = 1} Tautology = {ϕ : ∀¯aϕ(¯a) = 1}
If NP = co-NP, then every tautology has a short proof. (This observation has led to an entire area, called Proof Complexity, that studies the lengths of proofs.)
Proposition 1 If NP 6 = co-NP then P 6 = NP
Exp-Proof = {(ϕ, (^) ︸︷︷︸n binary
) : ϕ is math. thm. with a proof of length ≤ n} ∈ NEXP
NEXP is like NP but with succinct inputs (equivalently, with exponentially long certificates).
Proposition 2 EXP 6 = NEXP ⇒ P 6 = NP
We prove this using a simple but useful technique called padding.
Proof: We prove the contrapositive: P = NP ⇒ EXP = NEXP. Assume P = NP. Let L ∈ NEXP. Then it is decided by a NTM M running in time 2n c
. Define
Lpad = {(x, 12 |x|c ) : x ∈ L}
Claim 3 Lpad ∈ NP
Proof of claim: On input (x, 1 k), check k = 2|x|c , if not reject. Otherwise, simulate M on x and behave the same. §
By our assumption, we then have Lpad ∈ P, with poly-time alg A.
Claim 4 L ∈ EXP
Proof of claim: Given x, run A((x, 12 |x|c )) ←time poly (|x|, 2 |x|
c ) ≤ 2 |x| c′ §
More generally, with padding we can prove:
Proposition 5 If f (n), g(n) ≥ n proper, then
TIME(f (n)) = NTIME(f (n)) ⇒ TIME(f (g(n))) = NTIME(f (g(n)))
Padding is even more general:
Such a thing exists even though we can’t flip output (don’t know if closed under complement).
Theorem 6 If f (n), g(n) ≥ n proper, g(n) = ω(f (n)) then NTIME(f (n)) ( NTIME(g(n))
Proof Sketch: For f (n) = n^2 , g(n) = n^3. The technique we’ll use is called “Lazy Diagonaliza- tion.” Divide N into huge intervals, define n 1 = 1 and ni+1 = 2n (^4) i for i > 1. Define Ii = [ni, ni+1]. Construct n^3 time NTM M , diagonalize against Mi somewhere in Ii.
M (x):