Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS151 Complexity Theory Lecture 12 May 6, 2015. 2 QSAT is PSPACE-complete Theorem: QSAT is PSPACE-complete. Proof: 8 x 1 9 x 2 8 x 3 … Qx n φ(x 1, x 2,

Similar presentations


Presentation on theme: "CS151 Complexity Theory Lecture 12 May 6, 2015. 2 QSAT is PSPACE-complete Theorem: QSAT is PSPACE-complete. Proof: 8 x 1 9 x 2 8 x 3 … Qx n φ(x 1, x 2,"— Presentation transcript:

1 CS151 Complexity Theory Lecture 12 May 6, 2015

2 2 QSAT is PSPACE-complete Theorem: QSAT is PSPACE-complete. Proof: 8 x 1 9 x 2 8 x 3 … Qx n φ(x 1, x 2, …, x n )? –in PSPACE: 9 x 1 8 x 2 9 x 3 … Qx n φ(x 1, x 2, …, x n )? –“ 9 x 1 ”: for each x 1, recursively solve 8 x 2 9 x 3 … Qx n φ(x 1, x 2, …, x n )? if encounter “yes”, return “yes” –“ 8 x 1 ”: for each x 1, recursively solve 9 x 2 8 x 3 … Qx n φ(x 1, x 2, …, x n )? if encounter “no”, return “no” –base case: evaluating a 3-CNF expression –poly(n) recursion depth –poly(n) bits of state at each level

3 May 6, 20153 QSAT is PSPACE-complete –given TM M deciding L  PSPACE; input x –2 n k possible configurations –single START configuration –assume single ACCEPT configuration –define: REACH(X, Y, i)  configuration Y reachable from configuration X in at most 2 i steps.

4 May 6, 20154 QSAT is PSPACE-complete REACH(X, Y, i)  configuration Y reachable from configuration X in at most 2 i steps. –Goal: produce 3-CNF φ(w 1,w 2,w 3,…,w m ) such that 9 w 1 8 w 2 …Qw m φ(w 1,…,w m )  REACH(START, ACCEPT, n k )

5 May 6, 20155 QSAT is PSPACE-complete –for i = 0, 1, … n k produce quantified Boolean expressions ψ i (A, B, W) 9 w 1 8 w 2 … ψ i (A, B, W)  REACH(A, B, i) –convert ψ n k to 3-CNF φ add variables V 9 w 1 8 w 2 … 9 V φ(A, B, W, V)  REACH(A, B, n k ) –hardwire A = START, B = ACCEPT 9 w 1 8 w 2 … 9 V φ(W, V)  x  L

6 May 6, 20156 QSAT is PSPACE-complete –ψ o (A, B) = true iff A = B or A yields B in one step of M … … STEP config. A config. B Boolean expression of size O(n k )

7 May 6, 20157 QSAT is PSPACE-complete –Key observation #1: REACH(A, B, i+1)  9 Z [ REACH(A, Z, i)  REACH(Z, B, i) ] –cannot define ψ i+1 (A, B) to be 9 Z [ ψ i (A, Z)  ψ i (Z, B) ] (why?)

8 May 6, 20158 QSAT is PSPACE-complete –Key idea #2: use quantifiers –couldn’t do ψ i+1 (A, B) = 9 Z [ ψ i (A, Z)  ψ i (Z, B) ] –define ψ i+1 (A, B) to be 9 Z 8 X 8 Y [ ((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)

9 May 6, 20159 QSAT is PSPACE-complete ψ o (A, B) = true iff A = B or A yields B in 1 step ψ i+1 (A, B) = 9 Z 8 X 8 Y [ ((X=A  Y=Z)  (X=Z  Y=B))  ψ i (X, Y) ] –|ψ 0 | = O(n k ) –|ψ i+1 | = O(n k ) + |ψ i | –total size of ψ n k is O(n k ) 2 = poly(n) –logspace reduction

10 May 6, 201510 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 P NP coNP Σ3Σ3 Π3Π3 Δ3Δ3 PH Σ2Σ2 Π2Π2 Δ2Δ2

11 May 6, 201511 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) | 9 z ((x, y), z)  R’ } where R’  Π i-1 –together: L = { x | 9 (y, z) (x, (y, z))  R’} –conclude L  Σ i

12 May 6, 201512 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?

13 May 6, 201513 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

14 May 6, 201514 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.

15 May 6, 201515 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 athens auckland san francisco oakland davis GEOGRAPHY = {(G, s) : G is a directed graph and player I can win from node s}

16 May 6, 201516 Natural complete problems in PSPACE Theorem: GEOGRAPHY is PSPACE- complete. Proof: –in PSPACE easily expressed with alternating quantifiers –PSPACE-hard reduction from QSAT

17 May 6, 201517 Natural complete problems in PSPACE 9 x 1 8 x 2 9 x 3 …(  x 1  x 2  x 3 )  (  x 3  x 1 )  …  (x 1  x 2 ) true false truefalse truefalse … x1x1 x2x2 x3x3 I II I I I I alternately pick truth assignment pick a clause I II I pick a true literal?

18 May 6, 201518 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  PH collapses to P, same as if SAT  P

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

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

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

22 May 6, 201522 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 much weaker

23 May 6, 201523 BPP  PH Proof: –BPP language L: p.p.t. TM M: x  L  Pr y [M(x,y) accepts] ≥ 2/3 x  L  Pr y [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 2 n/3 (can’t achieve with naïve amplification)

24 May 6, 201524 BPP  PH view y’ = (w, z), each of length n/2 consider output of M’(x, (w, z)): 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 0 1 1 1 0 1 0 0 1 1 0 1 11 1 1 1 1 1 1 1 1 0 0 0 1 1 00 0 1 0 1 1 0 1 1 1 1 1 1 1 0 11 0 0 0 0 0 0 1 0 0 1 0 0 0 0 00 00 0 1 0 0 0 0 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0 0 0 0 1 0 0 1 0 0 0 0 00 0 w = 000…00 000…01 000…10 … 111…11 … … xLxL xLxL so many ones, some disk is all ones so few ones, not enough for whole disk

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

26 May 6, 201526 BPP  PH –given BPP language L: p.p.t. TM M: x  L  Pr y [M(x,y) accepts] ≥ 2/3 x  L  Pr y [M(x,y) rejects] ≥ 2/3 –showed L = {x : 9 w 8 z M’(x, (w, z)) = 1} –thus BPP  Σ 2 –BPP closed under complement  BPP  Π 2 –conclude: BPP  (Π 2  Σ 2 )

27 May 6, 201527 New Topic The complexity of counting

28 May 6, 201528 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?

29 May 6, 201529 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.

30 May 6, 201530 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?

31 May 6, 201531 Reductions Reduction from function problem f 1 to function problem f 2 –two efficiently computable functions Q, A x (prob. 1) y (prob. 2) f 2 (y) f 1 (x) Q A f2f2 f1f1

32 May 6, 201532 Reductions problem f is #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 x (prob. 1) y (prob. 2) f 2 (y) f 1 (x) Q A f2f2 f1f1

33 May 6, 201533 #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

34 May 6, 201534 #SAT –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}| …x… …y… C CVAL reduction for R 1 iff (x, y)  R f(x) = |{y : (x, y)  R}|

35 May 6, 201535 Relationship to other classes To compare to classes of decision problems, usually consider P #P which is a decision class… easy: NP, coNP  P #P easy: P #P  PSPACE Toda’s Theorem (homework): PH  P #P.

36 May 6, 201536 Relationship to other classes Question: is #P hard because it entails finding NP witnesses? …or is counting difficult by itself?

37 May 6, 201537 Bipartite Matchings Definition: –G = (U, V, E) bipartite graph with |U| = |V| –a perfect matching in G is a subset M  E that touches every node, and no two edges in M share an endpoint

38 May 6, 201538 Bipartite Matchings Definition: –G = (U, V, E) bipartite graph with |U| = |V| –a perfect matching in G is a subset M  E that touches every node, and no two edges in M share an endpoint

39 May 6, 201539 Bipartite Matchings #MATCHING: given a bipartite graph G = (U, V, E) how many perfect matchings does it have? Theorem: #MATCHING is #P-complete. But… can find a perfect matching in polynomial time! –counting itself must be difficult

40 May 6, 201540 Cycle Covers Claim: 1-1 correspondence between cycle covers in G’ and perfect matchings in G –#MATCHING and #CYCLE-COVER parsimoniously reducible to each other 12345 12345 1 2 3 4 5 G = (U, V, E)G’ = (V, E’)

41 May 6, 201541 Cycle Covers cycle cover: collection of node-disjoint directed cycles that touch every node #CYCLE-COVER: given directed graph G = (V, E) how many cycle covers does it have? Theorem: #CYCLE-COVER is #P-complete. –implies #MATCHING is #P-complete

42 May 6, 201542 Cycle Cover is #P-complete variable gadget: every cycle cover includes left cycle or right cycle xixi xixi clause gadget: cycle cover cannot use all three outer edges – and each of 7 ways to exclude at least one gives exactly 1 cover using those external edges

43 Cycle Cover is #P-complete May 6, 201543

44 Cycle Cover is #P-complete May 6, 201544

45 May 6, 201545 Cycle Cover is #P-complete clause gadget corresponding to (A  B  C) has “xor” gadget between outer 3 edges and A, B, C B BB A AA C CC xor gadget ensures that exactly one of two edges can be in cover uv u’v’ xor

46 May 6, 201546 Cycle Cover is #P-complete Proof outline (reduce from #SAT) (  x 1  x 2  x 3 )  (  x 3  x 1 )  …  (x 3  x 2 ) x1x1 x1x1 x2x2 x2x2 x3x3 x3x3... clause gadgets variable gadgets xor gadgets (exactly 1 of two edges is in cover) N.B. must avoid reducing SAT to MATCHING!

47 May 6, 201547 Cycle Cover is #P-complete Introduce edge weights –cycle cover weight is product of weights of its edges “implement” xor gadget by –weight of cycle cover that “obeys” xor multiplied by 4 (mod N) –weight of cycle cover that “violates” xor multiplied by N large integer

48 May 6, 201548 Cycle Cover is #P-complete Weighted xor gadget: –weight of cycle cover that “obeys” xor multiplied by 4 (mod N) –weight of cycle cover that “violates” xor multiplied by N uv u’v’ xor u v’ v u’ N-1 2 3 (unlabeled weights are 1)

49 May 6, 201549 Cycle Cover is #P-complete Simulating positive edge weights –need to handle 2, 3, 4, 5, …, N-1 3 2 2k2k k times

50 May 6, 201550 Cycle Cover is #P-complete (  x 1  x 2  x 3 )  (  x 3  x 1 )  …  (x 3  x 2 ) –m = # xor gadgets; n = # variables; N > 4 m 2 n –# covers (mod N) = (4 m ) ¢ (#sat. assignments) x1x1 x1x1 x2x2 x2x2 x3x3 x3x3... clause gadget variable gadgets: xor gadget (exactly 1 of two edges is in cover)


Download ppt "CS151 Complexity Theory Lecture 12 May 6, 2015. 2 QSAT is PSPACE-complete Theorem: QSAT is PSPACE-complete. Proof: 8 x 1 9 x 2 8 x 3 … Qx n φ(x 1, x 2,"

Similar presentations


Ads by Google