160 likes | 169 Views
Understand NP-completeness, polynomial transformations, reductions, proofs, and examples using NP-complete problems and decision-making algorithms. Enhance your knowledge and problem-solving skills in computational complexity theory.
E N D
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. • 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.
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.
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
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.
Circuit satisfiability output yes: 1 0 1 1 0 ? ? ? inputs hard-coded inputs KT
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.
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
3-SAT P INDEPENDENT SET DPV
3-SAT P DIR-HAM-CYCLE clause node clause node s x1 x2 x3 t KT 3k + 3
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
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
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
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
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.
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