§5 Structural Complexity: NPc Comparing Problems: polynomial-time reduction Reductions: CLIQUE p IS ≼p SAT p 3SAT ≼p IS NP-completeness, Master Reduction coNP, Ladner's Theorem
Comparing Problems, again CLIQUE = { G,k | G contains a k-clique } IS={ G,k : G has k pairwise non-connected vertices} p N N f L L' LC L'C For L,L'N write L≼ L' if exists a computable f: NN such that x: xL f(x)L'. polynomial-time p a) L'P LP a) L' decidable so L. b) L ≼ L' ≼ L'' L≼ L'' p p p
Reduction IS ≼p SAT Let G consist of vertices V={1,..,n} and edges E. Goal: Upon input of (the encoding of) a graph G and kN, produce in polynomial time a CNF formula such that: satisfiable iff G contains ≥k independent vertices Let G consist of vertices V={1,..,n} and edges E. Consider Boolean variables xv,i, v V, i=1...k and clauses Ki := vV xv,i, i=1...k and xv,i xv,j, v V, 1≤i<j≤k and xu,i xv,j, {u,v} E, 1≤i<j≤k Length of : O(k·n+n·k2+n2k2)=O(n2k2) Computational cost of (G,k) → : polyn. in n+log k Vertex v is #i among the k independent. There is an i-th vertex Vertex v cannot be both #i and #j. No adjacent vertices are independent. since k≤n.
Example Reduction: 4SAT vs. 3SAT 4-SAT: Is formula Φ(Y) in 4-CNF satisfiable? 3-SAT: Is formula Φ(Y) in 3-CNF satisfiable? Given = (a b c d) (p q r s) … with literals a,b,c,d, p,q,r,s,…. Introduce new variables u,v,… and consider ' := ( a b u ) (u c d ) ( p q v) (v r s ) … variables, possibly negated f: ' For L,L'N write L≼ L' if exists a computable f: NN such that x: xL f(x)L'.
Reduction 3SAT ≼p IS (k,1) (1,1) (k,2) (1,2) (k,3) (1,3) Produce, given a 3-CNF term , within polynomial time a graph G and integer k such that it holds: iff G contains k pairwise non-adjacent vertices. is satisfiable e.g. ( u .... ) ( .. u .. ) ( .. .. u ) ( u .. .. ) = C1 C2 … Ck, Ci = xi1 xi2 xi3, xis literals V:= { (i,1),…(i,3): i≤k }, E:= { {(i,s),(j,t)} : i=j or xis= xjt } (k,1) (k,2) (k,3) (1,1) (1,2) (1,3) Richard Karp
Problems of similar complexity unknown yet Showed: CLIQUE p IS ≼p SAT p 3SAT ≼p IS. These 4 problem have about same complexity: Either all are belong to P, or none of them. We will show: Also TSP, HC, VC and many further problems in NP belong to this class called NPc. And will show: These are ‘hardest‘ problems in NP. Cook–Levin Theorem: L 2 NP : L ≼p SAT. That is, either all or none of the problems in NPc can be decided in polynomial time. A deterministic WHILE+ program could simulate any non-deterministic one with polynomial slowdown! In the first case:
EXP Complexity Class Picture PSPACE CH #P PH PNP co-NP NP P Def: ANP is NP-complete if L ≼p A holds for every LNP. PSPACE complete PSPACE Theorem (Cook'72/Levin'71): SAT is NP-complete! CH #P PH Lemma: For A NP-complete and A ≼p B NP, B is also NPc. PNP coNP-complete NP- complete co-NP NP Now know ≈500 natural problems NP-complete… P
unSAT := { Boolean term, x: (x)=0 } coNPc Scenarios for P≠NP coNP := { LN : N\L NP } unSAT := { Boolean term, x: (x)=0 } coNPc Theorem [Ladner'75]: If P≠NP, there exists LNP \ (PNPc) NP = coNP P = coP coNPc NPc NP coNP NP coNP P NP coNP P = coP
Master Reductions L = {xN: y, ℓ(y)≤poly(ℓ(x)), x,yV }, VP SAT = { : Boolean term, y1,…ym: (y1,…ym)=1} Cook/Levin Theorem: SAT is NP-complete! Proof (Sketch): Fix LNP and VP. Fix WHILE+ program B deciding V in time poly(n). Express "bin(z0,…zk-1)V" as Boolean term "k(z0,…zk-1)=1" of length poly(k). Then bin(x0,…xn-1)L y0,…ym-1{0,1}: n+k(x, y)=1. N x → := n+k(bin(x), · ) Thm: The following problem UNP is NP-complete: { A,x,2N : nondetermin. WHILE+ program A accepts input x within at most N steps } L = {xN: y, ℓ(y)≤poly(ℓ(x)), x,yV }, VP
SubsetSum is NP-complete { a1,…aN,b | a1,…aN,bN, 1,…N{0,1} : b=i ai·i } SubsetSumNP √ Show: 3SAT ≼p SubsetSum In polyn.time: 3CNF → AN and bN s.t. satisf. assignm. of BA: b=aB a Eg. Φ = (x1 x3 x5) (x1 x5 x4) (x2 x2 x5) v1 := 100 10000 v2 := 000 01000 v3 := 000 00100 v4 := 010 00010 v5 := 110 00001 v1' := 010 10000 v2' := 002 01000 v3' := 100 00100 v4' := 000 00010 v5' := 001 00001 b := 444 11111 c1:= 100 00000 d1:= 200 00000 c2:= 010 00000 d2:= 020 00000 c3:= 001 00000 d3:= 002 00000 m clauses in n var.s → 2n+2m+1 values à n+m dec.digits A NP-complete, BNP and A ≼p B B also NP-complete.