430 likes | 459 Views
CS151 Complexity Theory. Lecture 12 May 10, 2019. Alternating quantifiers. Nicer, more usable version: L Σ i iff expressible as L = { x | y 1 y 2 y 3 … Q y i (x, y 1 ,y 2 ,…, y i ) R } where Q= / if i even/odd, and R P L Π i iff expressible as
E N D
CS151Complexity Theory Lecture 12 May 10, 2019
Alternating quantifiers Nicer, more usable version: • LΣiiff expressible as L = { x | y1y2y3 …Qyi(x, y1,y2,…,yi)R } where Q=/if i even/odd, andRP • LΠiiff expressible as L = { x | y1y2y3 …Qyi(x, y1,y2,…,yi)R } where Q=/if i even/odd, andRP
Alternating quantifiers Pleasing viewpoint: “…” PSPACE const. # of alternations poly(n) alternations PH Δ3 Σ2 Π2 “” “” Σi Πi “…” “…” Δ2 Σ3 Π3 “” “” NP coNP “” “” P
Complete problems • three variants of SAT: • QSATi(i odd) = {3-CNFs φ(x1, x2, …, xi) for which x1x2x3 … xi φ(x1, x2, …, xi) = 1} • QSATi(i even) = {3-DNFs φ(x1, x2, …, xi) for which x1x2x3 … xi φ(x1, x2, …, xi) = 1} • QSAT = {3-CNFs φ for which x1x2x3 … Qxnφ(x1, x2, …, xn) = 1}
QSATi is Σi-complete Theorem: QSATi is Σi-complete. • Proof: (clearly in Σi) • assume iodd; given L Σi in form { x | y1y2y3 … yi (x, y1,y2,…,yi) R } …x… …y1… …y2… …y3… … …yi… C CVAL reduction for R 1 iff(x, y1,y2,…,yi) R
QSATi is Σi-complete …x… …y1… …y2… …y3… … …yi… • Problem set: can construct 3-CNF φfrom C: zφ(x,y1,…,yi, z) = 1 C(x,y1,…,yi) = 1 • we get: y1y2…yizφ(x,y1,…,yi, z) = 1 y1y2…yiC(x,y1,…,yi) = 1x L C 1 iff(x, y1,y2,…,yi) R CVAL reduction for R
QSATi is Σi-complete • Proof (continued) • assume ieven; given L Σi in form { x | y1y2y3 … yi (x, y1,y2,…,yi) R } …x… …y1… …y2… …y3… … …yi… C CVAL reduction for R 1 iff(x, y1,y2,…,yi) R
QSATi is Σi-complete …x… …y1… …y2… …y3… … …yi… • Problem set: can construct 3-DNF φfrom C: zφ(x,y1,…,yi, z) = 1 C(x,y1,…,yi) = 1 • we get: y1y2… yizφ(x,y1,y2,…,yi, z) = 1 y1y2… yi C(x,y1,y2,…,yi) = 1 x L C 1 iff(x, y1,y2,…,yi) R CVAL reduction for R
QSAT is PSPACE-complete Theorem: QSAT is PSPACE-complete. • Proof: x1x2x3 … Qxnφ(x1, x2, …, xn)? • in PSPACE: x1x2x3 … Qxnφ(x1, x2, …, xn)? • “x1”: for each x1, recursively solve x2x3 … Qxnφ(x1, x2, …, xn)? • if encounter “yes”, return “yes” • “x1”: for each x1, recursively solve x2x3 … Qxnφ(x1, x2, …, xn)? • if encounter “no”, return “no” • base case: evaluating a 3-CNF expression • poly(n) recursion depth • poly(n) bits of state at each level
QSAT is PSPACE-complete • given TM M deciding L PSPACE; input x • 2nkpossible configurations • single START configuration • assume single ACCEPT configuration • define: REACH(X, Y, i) configuration Y reachable from configuration X in at most 2i steps.
QSAT is PSPACE-complete REACH(X, Y, i) configuration Y reachable from configuration X in at most 2i steps. • Goal: produce 3-CNF φ(w1,w2,w3,…,wm) such that w1w2…Qwm φ(w1,…,wm) REACH(START, ACCEPT, nk)
QSAT is PSPACE-complete • for i = 0, 1, … nk produce quantified Boolean expressionsψi(A, B, W) w1w2… ψi(A, B, W) REACH(A, B, i) • convert ψnkto 3-CNF φ • add variables V • w1w2… V φ(A, B, W, V) REACH(A, B, nk) • hardwire A = START, B = ACCEPT w1w2… Vφ(W, V) x L
QSAT is PSPACE-complete • ψo(A, B) = true iff • A = B or • A yields B in one step of M Boolean expression of size O(nk) … config. A STEP STEP STEP STEP config. B …
QSAT is PSPACE-complete • Key observation #1: REACH(A, B, i+1) Z[REACH(A, Z, i) REACH(Z, B, i)] • cannot define ψi+1(A, B) to be Z [ψi(A, Z) ψi(Z, B)] (why?)
QSAT is PSPACE-complete • Key idea #2: use quantifiers • couldn’t do ψi+1(A, B) = Z [ψi(A, Z)ψi(Z, B)] • define ψi+1(A, B) to be ZXY[((X=AY=Z)(X=ZY=B)) ψi(X, Y)] • ψi(X, Y) is preceded by quantifiers • move to front (they don’t involve X,Y,Z,A,B)
QSAT is PSPACE-complete ψo(A, B) = true iff A = B or A yields B in 1 step ψi+1(A, B) = ZXY[((X=AY=Z)(X=ZY=B)) ψi(X, Y)] • |ψ0| = O(nk) • |ψi+1| = O(nk) + |ψi| • total size of ψnkis O(nk)2 = poly(n) • logspace reduction
PH Σ3 Π3 Δ3 Σ2 Π2 Δ2 NP coNP P PH collapse Theorem: if Σi = Πi then for all j > i Σj = Πj = Δj= Σi “the polynomial hierarchy collapses to the i-th level” • Proof: • sufficient to show Σi = Σi+1 • then Σi+1= Σi = Πi =Πi+1;apply theorem again
PH collapse • recall: L Σi+1iff expressible as L = { x | y (x, y) R } where R Πi • since Πi= Σi, R expressible as R = { (x,y) | z((x, y), z)R’ } where R’Πi-1 • together: L = { x | (y, z) (x, (y, z)) R’} • conclude L Σi
Oracles vs. Algorithms A point to ponder: • given poly-time algorithm for SAT • can you solve MIN CIRCUIT efficiently? • what other problems? Entire complexity classes? • given SAT oracle • same input/output behavior • can you solve MIN CIRCUIT efficiently?
Natural complete problems • We now have versions of SAT complete for levels in PH, PSPACE • Natural complete problems? • PSPACE: games • PH: almost all natural problems lie in the second and third level
Natural complete problems in PH • MIN CIRCUIT • good candidate to be 2-complete, still open • MIN DNF: given DNF φ, integer k; is there a DNF φ’ of size at most k computing same function φ does? Theorem (U): MIN DNF is Σ2-complete.
Natural complete problems in PSPACE • General phenomenon: many 2-player games are PSPACE-complete. • 2 players I, II • alternate pick- ing edges • lose when no unvisited choice pasadena auckland athens davis san francisco oakland • GEOGRAPHY = {(G, s) : G is a directed graph and player I can win from node s}
Natural complete problems in PSPACE Theorem: GEOGRAPHY is PSPACE-complete. Proof: • in PSPACE • easily expressed with alternating quantifiers • PSPACE-hard • reduction from QSAT
Natural complete problems in PSPACE x1x2x3…(x1x2x3)(x3x1)…(x1x2) I false alternately pick truth assignment true x1 II I II x2 true false I II I I x3 true false pick a clause II II … I I pick a true literal?
Karp-Lipton • we know that P = NP implies SAT has polynomial-size circuits. • (showing SAT does not have poly-size circuits is one route to proving P ≠ NP) • suppose SAT has poly-size circuits • any consequences? • might hope: SAT P/polyPHcollapses to P, same as if SAT P
Karp-Lipton Theorem (KL): if SAT has poly-size circuits then PH collapses to the second level. • Proof: • suffices to show Π2 Σ2 • L Π2 implies L expressible as: L = {x : y z (x, y, z) R} with R P.
Karp-Lipton L = {x : y z (x, y, z) R} • given (x, y), “z (x, y, z) R?” is in NP • pretend C solves SAT, use self-reducibility • Claim: if SAT P/poly, then L = { x : C y [use C repeatedly to find some z for which (x, y, z) R; accept iff (x, y, z) R] } poly time
Karp-Lipton L = {x : y z (x, y, z) R} {x :C y [use C repeatedly to find some z for which (x,y,z) R; accept iff (x,y,z) R] } • x L: • some C decides SAT C y[…] accepts • x L: • y z(x, y, z) R C y[…] rejects
BPPPH • Recall: don’t know BPP different from EXP Theorem (S,L,GZ): BPP(Π2Σ2) • don’t know Π2Σ2 different from EXP but believe muchweaker
BPPPH • Proof: • BPP language L: p.p.t. TM M: x L Pry[M(x,y) accepts] ≥ 2/3 x L Pry[M(x,y) rejects] ≥ 2/3 • strong error reduction: p.p.t. TM M’ • use n random bits (|y’| = n) • # strings y’ for which M’(x, y’) incorrect is at most 2n/3 • (can’t achieve with naïve amplification)
BPPPH so many ones, some disk is all ones so few ones, not enough for whole disk • view y’ = (w, z), each of length n/2 • consider output of M’(x, (w, z)): w =000…00000…01000…10 … 111…11 xL 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 … 0 1 1 1 0 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 xL 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 … 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BPPPH • proof (continued): • strong error reduction: # bad y’ < 2n/3 • y’ = (w, z) with |w| = |z| = n/2 • Claim: L = {x : w z M’(x, (w, z)) = 1 } • xL: suppose wz M’(x, (w, z)) = 0 • implies 2n/2 0’s; contradiction • xL: suppose wz M’(x, (w, z)) = 1 • implies 2n/2 1’s; contradiction
BPPPH • given BPP language L: p.p.t. TM M: x L Pry[M(x,y) accepts] ≥ 2/3 x L Pry[M(x,y) rejects] ≥ 2/3 • showed L = {x :w z M’(x, (w, z)) = 1} • thus BPPΣ2 • BPP closed under complement BPPΠ2 • conclude: BPP(Π2Σ2)
New Topic The complexity of counting
Counting problems • So far, we have ignored function problems • given x, compute f(x) • important class of function problems: counting problems • e.g. given 3-CNF φ how many satisfying assignments are there?
Counting problems • #P is the class of function problems expressible as: input x f(x) = |{y : (x, y) R}| where R P. • compare to NP(decision problem) input x f(x) = y : (x, y) R ? where R P.
Counting problems • examples • #SAT: given 3-CNF φ how many satisfying assignments are there? • #CLIQUE: given (G, k) how many cliques of size at least k are there?
Reductions • Reduction from function problem f1 to function problem f2 • two efficiently computable functions Q, A x (prob. 1) Q y (prob. 2) f1 f2 A f2(y) f1(x)
Reductions • problem fis #P-complete if • f is in #P • every problem in #P reduces to f • “parsimonious reduction”: A is identity • many standard NP-completeness reductions are parsimonious • therefore: if #SAT is #P-complete we get lots of #P-complete problems Q x (prob. 1) y (prob. 2) f1 f2 A f2(y) f1(x)
#SAT #SAT: given 3-CNF φ how many satisfying assignments are there? Theorem: #SAT is #P-complete. • Proof: • clearly in #P: (φ, A) R A satisfies φ • take any f #P defined by R P
#SAT …x… …y… • add new variables z, produce φ such that z φ(x, y, z) = 1 C(x, y) = 1 • for (x, y) such that C(x, y) = 1 this z is unique • hardwire x • # satisfying assignments = |{y : (x, y) R}| f(x) = |{y : (x, y) R}| C CVAL reduction for R 1 iff(x, y) R
Relationship to other classes • To compare to classes of decision problems, usually consider P#P which is a decision class… • easy: NP, coNPP#P • easy: P#P PSPACE Toda’s Theorem (homework):PH P#P.
Relationship to other classes Question: is #P hard because it entails findingNP witnesses? …or is countingdifficult by itself?