Download presentation
Presentation is loading. Please wait.
Published byOswald Winfred Bradford Modified over 9 years ago
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 … … xLxL xLxL 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 xixi 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 BB A AA C CC 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 x1x1 x2x2 x2x2 x3x3 x3x3... 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 x1x1 x2x2 x2x2 x3x3 x3x3... clause gadget variable gadgets: xor gadget (exactly 1 of two edges is in cover)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.