1 / 56

Fall 2013 CMU CS 15-855 Computational Complexity

Fall 2013 CMU CS 15-855 Computational Complexity. Alternating Quantifiers , PH , PSPACE. Lecture 7. These slides are mostly a resequencing of Chris Umans ’ slides From CS 151: Complexity Theory (Spring 2013) at Caltech . A motivating question. Central problem in logic synthesis:

jin
Download Presentation

Fall 2013 CMU CS 15-855 Computational Complexity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fall 2013 CMU CS 15-855Computational Complexity Alternating Quantifiers, PH, PSPACE. Lecture 7 These slides are mostly a resequencing of Chris Umans’ slides From CS 151: Complexity Theory (Spring 2013)at Caltech.

  2. A motivating question • Central problem in logic synthesis: • Complexity of this problem? • NP-hard? in NP? in coNP? in PSPACE? • complete for any of these classes?  • given Boolean circuit C, integer k • is there a circuit C’ of size at most k that computes the same function C does?      x1 x2 x3 … xn

  3. Oracle Turing Machines • Oracle Turing Machine (OTM): • multitape TM M with special “query” tape • special states q?, qyes, qno • on input x, with oracle language A • MA runs as usual, except… • when MA enters state q?: • y = contents of query tape • y  A  transition to qyes • y  A  transition to qno

  4. Oracle Turing Machines • Nondeterministic OTM • defined in the same way • (transition relation, rather than function) • oracle is like a subroutine, or function in your favorite programming language • but each call counts as single step e.g.: given φ1, φ2, …, φn are even # satisfiable? • poly-time OTM solves with SAT oracle

  5. Oracle Turing Machines Shorthand #1: • applying oracles to entire complexity classes: • complexity class C • language A CA = {L decided by OTM M with oracle A with M “in” C} • example: PSAT

  6. Oracle Turing Machines Shorthand #2: • using complexity classes as oracles: • OTM M • complexity class C • MCdecides language L if for some language A  C, MA decides L Both together:CD =languages decided by OTM “in” C with oracle language from D exercise: show PSAT = PNP

  7. The Polynomial-Time Hierarchy • can define lots of complexity classes using oracles • the classes on the next slide stand out • they have natural complete problems • they have a natural interpretation in terms of alternating quantifiers • they help us state certain consequences and containments(more later)

  8. The Polynomial-Time Hierarchy Σ0= Π0 =P Δ1=PP Σ1=NPΠ1=coNP Δ2=PNP Σ2=NPNPΠ2=coNPNP Δi+1=PΣiΣi+i=NPΣiΠi+1=coNPΣi Polynomial HierarchyPH = iΣi

  9. The Polynomial-Time Hierarchy Σ0= Π0 = P Δi+1=PΣiΣi+i=NPΣiΠi+1=coNPΣi • Example: • MIN CIRCUIT: given Boolean circuit C, integer k; is there a circuit C’ of size at most k that computes the same function C does? • MIN CIRCUIT  Σ2

  10. The Polynomial-Time Hierarchy Σ0= Π0 = P Δi+1=PΣiΣi+i=NPΣiΠi+1=coNPΣi • Example: • EXACT TSP: given a weighted graph G, and an integer k; is the k-th bit of the length of the shortest TSP tour in G a 1? • EXACT TSP  Δ2

  11. The PH EXP PSPACE PSPACE: generalized geography, 2-person games… 3rd level: V-C dimension… 2nd level: MIN CIRCUIT, BPP… 1st level: SAT, UNSAT, factoring, etc… PH Σ3 Π3 Δ3 Σ2 Π2 Δ2 NP coNP P

  12. Useful characterization • Recall: L  NP iff expressible as L = { x | 9y, |y| ≤ |x|k, (x, y)  R } where R  P. • Corollary: L  coNP iff expressible as L = { x | 8y, |y| ≤ |x|k, (x, y)  R } where R  P.

  13. Useful characterization Theorem: L  Σi iff expressible as L = { x | 9 y, |y| ≤ |x|k, (x, y)  R } where R  Πi-1. • Corollary: L  Πi iff expressible as L = { x | 8 y, |y| ≤ |x|k, (x, y)  R } where R  Σi-1.

  14. Alternating quantifiers Nicer, more usable version: • LΣi iff expressible as L = { x | 9y1 8y29y3 …Qyi (x, y1,y2,…,yi)R } where Q= 8/9if i even/odd, and RP • LΠi iff expressible as L = { x | 8y19y2 8y3 …Qyi (x, y1,y2,…,yi)R } where Q= 9/8 if i even/odd, and RP

  15. Alternating quantifiers • Proof: • ( )induction on i • base case: true for Σ1=NP and Π1=coNP • consider LΣi: L = {x | 9y1 (x, y1)  R’ }, for R’  Πi-1 L = {x | 9y1 8y2 9y3 …Qyi ((x, y1), y2,…,yi)R} L = {x | 9y1 8y2 9y3 …Qyi (x, y1,y2,…,yi)R} • same argument for L Πi • ( ) exercise.

  16. Alternating quantifiers Pleasing viewpoint: “9898989…” PSPACE const. # of alternations poly(n) alternations PH Δ3 Σ2 Π2 “98” “89” Σi Πi “989…” “898…” Δ2 Σ3 Π3 “898” “989” NP coNP “8” “9” P

  17. Complete problems • three variants of SAT: • QSATi(i odd) = {3-CNFs φ(x1, x2, …, xi) for which 9x18x29x3 … 9xi φ(x1, x2, …, xi) = 1} • QSATi(i even) = {3-DNFs φ(x1, x2, …, xi) for which 9x18x29x3 … 8xi φ(x1, x2, …, xi) = 1} • QSAT = {3-CNFs φ for which 9x18x29x3 … Qxnφ(x1, x2, …, xn) = 1}

  18. QSATi is Σi-complete Theorem: QSATi is Σi-complete. • Proof: (clearly in Σi) • assume i odd; given L  Σi in form { x | 9y18y29y3 … 9yi (x, y1,y2,…,yi)  R } …x… …y1… …y2… …y3… … …yi… C CVAL reduction for R 1 iff (x, y1,y2,…,yi)  R

  19. QSATi is Σi-complete …x… …y1… …y2… …y3… … …yi… • Problem set: can construct 3-CNF φfrom C: 9zφ(x,y1,…,yi, z) = 1  C(x,y1,…,yi) = 1 • we get: 9y18y2…9yi9zφ(x,y1,…,yi, z) = 1 • 9y18y2…9yi C(x,y1,…,yi) = 1 x  L C 1 iff (x, y1,y2,…,yi)  R CVAL reduction for R

  20. QSATi is Σi-complete • Proof (continued) • assume i even; given L  Σi in form { x | 9y18y29y3 … 8yi (x, y1,y2,…,yi)  R } …x… …y1… …y2… …y3… … …yi… C CVAL reduction for R 1 iff (x, y1,y2,…,yi)  R

  21. QSATi is Σi-complete …x… …y1… …y2… …y3… … …yi… • Problem set: can construct 3-DNF φfrom C: 8zφ(x,y1,…,yi, z) = 1  C(x,y1,…,yi) = 1 • we get: 9y18y2… 8yi8zφ(x,y1,y2,…,yi, z) = 1  9y18y2…8yi C(x,y1,y2,…,yi) = 1  x  L C 1 iff (x, y1,y2,…,yi)  R CVAL reduction for R

  22. QSAT is PSPACE-complete Theorem: QSAT is PSPACE-complete. • Proof: 8x19x28x3 … Qxn φ(x1, x2, …, xn)? • in PSPACE: 9x18x29x3 … Qxn φ(x1, x2, …, xn)? • “9x1”: for each x1, recursively solve 8x29x3 … Qxn φ(x1, x2, …, xn)? • if encounter “yes”, return “yes” • “8x1”: for each x1, recursively solve 9x28x3 … 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

  23. 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.

  24. 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 9w18w2…Qwm φ(w1,…,wm) • REACH(START, ACCEPT, nk)

  25. QSAT is PSPACE-complete • for i = 0, 1, … nk produce quantified Boolean expressionsψi(A, B, W) 9w18w2… ψi(A, B, W)  REACH(A, B, i) • convert ψnkto 3-CNF φ • add variables V • 9w18w2… 9V φ(A, B, W, V)  REACH(A, B, nk) • hardwire A = START, B = ACCEPT 9w18w2… 9Vφ(W, V)  x  L

  26. 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 …

  27. QSAT is PSPACE-complete • Key observation #1: REACH(A, B, i+1)  9Z[REACH(A, Z, i)  REACH(Z, B, i)] • cannot define ψi+1(A, B) to be 9Z [ψi(A, Z)  ψi(Z, B)] (why?)

  28. QSAT is PSPACE-complete • Key idea #2: use quantifiers • couldn’t do ψi+1(A, B) = 9Z [ψi(A, Z)  ψi(Z, B)] • define ψi+1(A, B) to be 9Z8X8Y[((X=AY=Z)(X=ZY=B))  ψi(X, Y)] • ψi(X, Y) is preceded by quantifiers • move to front (they don’t involve X,Y,Z,A,B)

  29. QSAT is PSPACE-complete ψo(A, B) = true iff A = B or A yields B in 1 step ψi+1(A, B) = 9Z8X8Y[((X=AY=Z)(X=ZY=B))  ψi(X, Y)] • |ψ0| = O(nk) • |ψi+1| = O(nk) + |ψi| • total size of ψnk is O(nk)2 = poly(n) • logspace reduction

  30. 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

  31. PH collapse • recall: L  Σi+1 iff expressible as L = { x | 9 y (x, y)  R } where R  Πi • since Πi = Σi, R expressible as R = { (x,y) | 9z((x, y), z) R’ } where R’  Πi-1 • together: L = { x | 9 (y, z) (x, (y, z))  R’} • conclude L  Σi

  32. 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?

  33. 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

  34. 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.

  35. 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}

  36. Natural complete problems in PSPACE Theorem: GEOGRAPHY is PSPACE-complete. Proof: • in PSPACE • easily expressed with alternating quantifiers • PSPACE-hard • reduction from QSAT

  37. Natural complete problems in PSPACE 9x18x29x3…(x1x2x3)(x3x1)…(x1x2) 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?

  38. 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/poly PHcollapses to P, same as if SAT  P

  39. 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 : 8y 9z (x, y, z)  R} with R  P.

  40. Karp-Lipton L = {x : 8y 9z (x, y, z)  R} • given (x, y), “9z (x, y, z)  R?” is in NP • pretend C solves SAT, use self-reducibility • Claim: if SAT  P/poly, then L = { x : 9C 8y [use C repeatedly to find some z for which (x, y, z)  R; accept iff (x, y, z)  R] } poly time

  41. Karp-Lipton L = {x : 8y 9z (x, y, z)  R} {x : 9C 8y [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  9C 8y[…] accepts • x  L: • 9y 8z (x, y, z)  R  9C 8y[…] rejects

  42. Randomized complexity classes • model: probabilistic Turing Machine • deterministic TM with additional read-only tape containing “coin flips” • BPP(Bounded-error Probabilistic Poly-time) • L BPP if there is a p.p.t. TM M: x  L  Pry[M(x,y) accepts] ≥ 2/3 x  L  Pry[M(x,y) rejects] ≥ 2/3 • “p.p.t” = probabilistic polynomial time

  43. BPP PH • 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

  44. BPP PH • 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)

  45. BPP PH 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 xL 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 xL 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

  46. BPP PH • proof (continued): • strong error reduction: # bad y’ < 2n/3 • y’ = (w, z) with |w| = |z| = n/2 • Claim: L = {x : 9w 8z M’(x, (w, z)) = 1 } • xL: suppose 8w9z M’(x, (w, z)) = 0 • implies  2n/2 0’s; contradiction • xL: suppose 9w8z M’(x, (w, z)) = 1 • implies  2n/2 1’s; contradiction

  47. BPP PH • 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 : 9w 8z M’(x, (w, z)) = 1} • thus BPP  Σ2 • BPP closed under complement BPP  Π2 • conclude: BPP (Π2Σ2)

  48. New Topic The complexity of counting

  49. 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?

  50. 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.

More Related