Presentation is loading. Please wait.

Presentation is loading. Please wait.

NP-Completeness Note. Some illustrations are taken from (KT) Kleinberg and Tardos. Algorithm Design (DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms.

Similar presentations


Presentation on theme: "NP-Completeness Note. Some illustrations are taken from (KT) Kleinberg and Tardos. Algorithm Design (DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms."— Presentation transcript:

1 NP-Completeness Note. Some illustrations are taken from (KT) Kleinberg and Tardos. Algorithm Design (DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms

2 Decision problems Decision problem. X is a set of strings. Instance: string s. Algorithm A solves problem X: A(s) = yes iff s  X. Polynomial time. Algorithm A runs in poly-time if for every string s, A(s) terminates in at most p(|s|) "steps", where p(  ) is some polynomial.

3 NP Def. Algorithm C(s, t) is a certifier for problem X if for every string s, s  X iff there exists a string t such that C(s, t) = yes. NP. Decision problems for which there exists a poly-time certifier. Remark. NP stands for nondeterministic polynomial-time.

4 Polynomial transformations Def. Problem X polynomial transforms to problem Y if given any input x to X, we can construct in polynomial time an input y to Y such that x is a yes instance of X iff y is a yes instance of Y. Notation. X ≤ P Y Algorithm for X Algorithm for Y xy Transf. yes no

5 NP-completeness Def. Problem Y is NP-complete if Y is in NP and for every problem X in NP, X  P Y. Theorem. Suppose Y is an NP-complete problem. Then Y is solvable in polynomial time iff P = NP.

6 Circuit satisfiability      10??? output inputs hard-coded inputs yes: 1 0 1 KT

7 Proving NP-completeness Fact (Transitivity of  p ). If X  P Y and Y  P Z, then X  P Z. Theorem. Problem Y is NP-complete if Y is in NP and There exists some NP-complete problem X such that X  P Y. Proof. By def. of NP and transitivity of  P.

8 Map of reductions CIRCUIT-SAT 3-SAT DIR-HAM-CYCLEINDEPENDENT SET VERTEX COVER 3-SAT reduces to INDEPENDENT SET GRAPH 3-COLOR HAM-CYCLE TSP SUBSET-SUM SCHEDULING PLANAR 3-COLOR SET COVER KT

9 3-SAT  P INDEPENDENT SET  DPV

10 3-SAT  P DIR-HAM-CYCLE s t clause node x1x1 x2x2 x3x3 3k + 3 KT

11 3-SAT  P 3-COLOR T B F true false base Variable gadgets. Ensure that i.each literal is T or F and ii.a literal and its negation are opposites. KT

12 3-SAT  P 3-COLOR Clause gadgets. Ensure that at least one literal in each clause is T. TF B 6-node gadget true false KT

13 3-SAT  P SUBSET SUM dummies to get clause columns to sum to 4 y x z 000010 000200 000100 001001 010011 010100 100101 100010 001110 xyzC1C1 C2C2 C3C3 000002 000001 000020 111444  x x  y y  z z W KT

14 CIRCUIT SAT  P SAT For each gate g in the circuit, create a variable g. Model g using a few clauses: If g is the output gate, we force it to be true by adding the clause (g). DPV

15  A  NP, A  P CIRCUIT SAT Since A  NP, there is an algorithm C(s,t) such that: C checks, given an instance s and a proposed solution t, whether or not t is a solution of s. C runs in polynomial time. In polynomial time, build a circuit D such that: Known inputs of D are the bits of s. Unknown inputs of D are the bits of t. C’s answer is given at the output gate of D. Size of D is polynomial in the number of inputs. D‘s output is true if and only if t is a solution of s.

16 Example: Does G have an independent set of size 2?   u-v  1 independent set of size 2? hard-coded inputs (graph description)    u-w 0  v-w 1  u ?  v ?  w ?   set of size 2? both endpoints of some edge have been chosen? independent set? u vw G = (V, E), n = 3 KT


Download ppt "NP-Completeness Note. Some illustrations are taken from (KT) Kleinberg and Tardos. Algorithm Design (DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms."

Similar presentations


Ads by Google