
Reductions to Prove NP Hardness Nabil Mustafa Computational Complexity 1 / 121 Cook-Levin: All L NP can be reduced to SAT 2 I polynomial g( ) such that x L g(x) SAT 9 · 2 () 2 I Very important to remember the implication goes both ways Gave a reduction from general CNF SAT to 3-CNF SAT I 2-CNF SAT is in P through a poly-time algorithm. 3-CNF SAT then becomes a very important problem. Also, I An elementary problem, very simple to understand I Captures the ‘pure’ combinatorial choices of algorithms Given 3-CNF SAT , can construct a host of other reductions. Reductions The class NP : languages with succinct membership certificates 2 / 121 I Very important to remember the implication goes both ways Gave a reduction from general CNF SAT to 3-CNF SAT I 2-CNF SAT is in P through a poly-time algorithm. 3-CNF SAT then becomes a very important problem. Also, I An elementary problem, very simple to understand I Captures the ‘pure’ combinatorial choices of algorithms Given 3-CNF SAT , can construct a host of other reductions. Reductions The class NP : languages with succinct membership certificates Cook-Levin: All L NP can be reduced to SAT 2 I polynomial g( ) such that x L g(x) SAT 9 · 2 () 2 3 / 121 Gave a reduction from general CNF SAT to 3-CNF SAT I 2-CNF SAT is in P through a poly-time algorithm. 3-CNF SAT then becomes a very important problem. Also, I An elementary problem, very simple to understand I Captures the ‘pure’ combinatorial choices of algorithms Given 3-CNF SAT , can construct a host of other reductions. Reductions The class NP : languages with succinct membership certificates Cook-Levin: All L NP can be reduced to SAT 2 I polynomial g( ) such that x L g(x) SAT 9 · 2 () 2 I Very important to remember the implication goes both ways 4 / 121 I 2-CNF SAT is in P through a poly-time algorithm. 3-CNF SAT then becomes a very important problem. Also, I An elementary problem, very simple to understand I Captures the ‘pure’ combinatorial choices of algorithms Given 3-CNF SAT , can construct a host of other reductions. Reductions The class NP : languages with succinct membership certificates Cook-Levin: All L NP can be reduced to SAT 2 I polynomial g( ) such that x L g(x) SAT 9 · 2 () 2 I Very important to remember the implication goes both ways Gave a reduction from general CNF SAT to 3-CNF SAT 5 / 121 3-CNF SAT then becomes a very important problem. Also, I An elementary problem, very simple to understand I Captures the ‘pure’ combinatorial choices of algorithms Given 3-CNF SAT , can construct a host of other reductions. Reductions The class NP : languages with succinct membership certificates Cook-Levin: All L NP can be reduced to SAT 2 I polynomial g( ) such that x L g(x) SAT 9 · 2 () 2 I Very important to remember the implication goes both ways Gave a reduction from general CNF SAT to 3-CNF SAT I 2-CNF SAT is in P through a poly-time algorithm. 6 / 121 I An elementary problem, very simple to understand I Captures the ‘pure’ combinatorial choices of algorithms Given 3-CNF SAT , can construct a host of other reductions. Reductions The class NP : languages with succinct membership certificates Cook-Levin: All L NP can be reduced to SAT 2 I polynomial g( ) such that x L g(x) SAT 9 · 2 () 2 I Very important to remember the implication goes both ways Gave a reduction from general CNF SAT to 3-CNF SAT I 2-CNF SAT is in P through a poly-time algorithm. 3-CNF SAT then becomes a very important problem. Also, 7 / 121 I Captures the ‘pure’ combinatorial choices of algorithms Given 3-CNF SAT , can construct a host of other reductions. Reductions The class NP : languages with succinct membership certificates Cook-Levin: All L NP can be reduced to SAT 2 I polynomial g( ) such that x L g(x) SAT 9 · 2 () 2 I Very important to remember the implication goes both ways Gave a reduction from general CNF SAT to 3-CNF SAT I 2-CNF SAT is in P through a poly-time algorithm. 3-CNF SAT then becomes a very important problem. Also, I An elementary problem, very simple to understand 8 / 121 Given 3-CNF SAT , can construct a host of other reductions. Reductions The class NP : languages with succinct membership certificates Cook-Levin: All L NP can be reduced to SAT 2 I polynomial g( ) such that x L g(x) SAT 9 · 2 () 2 I Very important to remember the implication goes both ways Gave a reduction from general CNF SAT to 3-CNF SAT I 2-CNF SAT is in P through a poly-time algorithm. 3-CNF SAT then becomes a very important problem. Also, I An elementary problem, very simple to understand I Captures the ‘pure’ combinatorial choices of algorithms 9 / 121 Reductions The class NP : languages with succinct membership certificates Cook-Levin: All L NP can be reduced to SAT 2 I polynomial g( ) such that x L g(x) SAT 9 · 2 () 2 I Very important to remember the implication goes both ways Gave a reduction from general CNF SAT to 3-CNF SAT I 2-CNF SAT is in P through a poly-time algorithm. 3-CNF SAT then becomes a very important problem. Also, I An elementary problem, very simple to understand I Captures the ‘pure’ combinatorial choices of algorithms Given 3-CNF SAT , can construct a host of other reductions. 10 / 121 i) It is in NP ii) Reduce a NP hard problem to it Show: If one can solve INDSET in polynomial time, then can solve 3-CNF SAT problem in polynomial time as well. INDSET Claim INDSET : Given a graph G = (V ; E) and a parameter k, does G have an independent set of size k? The independent set problem (INDSET ) is NP complete. 11 / 121 ii) Reduce a NP hard problem to it Show: If one can solve INDSET in polynomial time, then can solve 3-CNF SAT problem in polynomial time as well. INDSET Claim INDSET : Given a graph G = (V ; E) and a parameter k, does G have an independent set of size k? The independent set problem (INDSET ) is NP complete. i) It is in NP 12 / 121 Show: If one can solve INDSET in polynomial time, then can solve 3-CNF SAT problem in polynomial time as well. INDSET Claim INDSET : Given a graph G = (V ; E) and a parameter k, does G have an independent set of size k? The independent set problem (INDSET ) is NP complete. i) It is in NP ii) Reduce a NP hard problem to it 13 / 121 INDSET Claim INDSET : Given a graph G = (V ; E) and a parameter k, does G have an independent set of size k? The independent set problem (INDSET ) is NP complete. i) It is in NP ii) Reduce a NP hard problem to it Show: If one can solve INDSET in polynomial time, then can solve 3-CNF SAT problem in polynomial time as well. 14 / 121 Construct a graph G = (V ; E) as follows: i i I Vertices: Each literal xj i corresponds to the vertex vj . i i 0 i2 Ci 0 I Edges: (vj ; vj0 ) E if xj ; xj0 are the same variable negated. 2 i i i I Add all possible edges between v1, v2 and v3 for all i. (x1 x2 x3) (x1 x3 x4) (x2 x4) _ _ ^ _ _ ^ _ i i i φ = 1 2 ::: k ; where i = (x x x ) C ^ C ^ ^ C C 1 _ 2 _ 3 15 / 121 i i I Vertices: Each literal xj i corresponds to the vertex vj . i i 0 i2 Ci 0 I Edges: (vj ; vj0 ) E if xj ; xj0 are the same variable negated. 2 i i i I Add all possible edges between v1, v2 and v3 for all i. (x1 x2 x3) (x1 x3 x4) (x2 x4) _ _ ^ _ _ ^ _ i i i φ = 1 2 ::: k ; where i = (x x x ) C ^ C ^ ^ C C 1 _ 2 _ 3 Construct a graph G = (V ; E) as follows: 16 / 121 i i 0 i i 0 I Edges: (vj ; vj0 ) E if xj ; xj0 are the same variable negated. 2 i i i I Add all possible edges between v1, v2 and v3 for all i. (x1 x2 x3) (x1 x3 x4) (x2 x4) _ _ ^ _ _ ^ _ i i i φ = 1 2 ::: k ; where i = (x x x ) C ^ C ^ ^ C C 1 _ 2 _ 3 Construct a graph G = (V ; E) as follows: i i I Vertices: Each literal x i corresponds to the vertex v . j 2 C j 17 / 121 i i i I Add all possible edges between v1, v2 and v3 for all i. (x1 x2 x3) (x1 x3 x4) (x2 x4) _ _ ^ _ _ ^ _ i i i φ = 1 2 ::: k ; where i = (x x x ) C ^ C ^ ^ C C 1 _ 2 _ 3 Construct a graph G = (V ; E) as follows: i i I Vertices: Each literal xj i corresponds to the vertex vj . i i 0 i2 Ci 0 I Edges: (v ; v 0 ) E if x ; x 0 are the same variable negated. j j 2 j j 18 / 121 (x1 x2 x3) (x1 x3 x4) (x2 x4) _ _ ^ _ _ ^ _ i i i φ = 1 2 ::: k ; where i = (x x x ) C ^ C ^ ^ C C 1 _ 2 _ 3 Construct a graph G = (V ; E) as follows: i i I Vertices: Each literal xj i corresponds to the vertex vj .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages121 Page
-
File Size-