1 / 16

NP-Completeness

NP-Completeness. Note . Some illustrations are taken from ( KT ) Kleinberg and Tardos. Algorithm Design ( DPV ) Dasgupta, Papadimitriou, and Vazirani. Algorithms. Decision problems. Decision problem . X is a set of strings. Instance : string s.

lael
Télécharger la présentation

NP-Completeness

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. 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) = yesiff 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 yes x y Transf. Algorithm for Y 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 output    yes: 1 0 1    1 0 ? ? ? inputs hard-coded inputs 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 3-SAT reduces to INDEPENDENT SET INDEPENDENT SET DIR-HAM-CYCLE GRAPH 3-COLOR SUBSET-SUM VERTEX COVER SCHEDULING HAM-CYCLE PLANAR 3-COLOR SET COVER TSP KT

  9. 3-SAT P INDEPENDENT SET  DPV

  10. 3-SAT P DIR-HAM-CYCLE clause node clause node s x1 x2 x3 t KT 3k + 3

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

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

  13. 3-SAT P SUBSET SUM x y z C1 C2 C3 x 1 0 0 0 1 0  x 1 0 0 1 0 1 y 0 1 0 1 0 0  y 0 1 0 0 1 1 z 0 0 1 1 1 0  z 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 2 0 0 0 0 0 0 1 0 dummies to getclause columnsto sum to 4 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 2 W 1 1 1 4 4 4 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? independent set of size 2?  independent set?  both endpoints of some edge have been chosen?   set of size 2?      u    v w G = (V, E), n = 3 u-w v u-v v-w u w ? 1 1 ? ? 0 hard-coded inputs (graph description) KT

More Related