cs 758 858 algorithms
play

CS 758/858: Algorithms http://www.cs.unh.edu/~ruml/cs758 - PowerPoint PPT Presentation

CS 758/858: Algorithms http://www.cs.unh.edu/~ruml/cs758 NP-Completeness SAT Wheeler Ruml (UNH) Class 21, CS 758 1 / 15 NP-Completeness Terms Interchangability Reductions NPC Proofs C-SAT is in NP C-SAT is NP-Hard


  1. CS 758/858: Algorithms http://www.cs.unh.edu/~ruml/cs758 NP-Completeness SAT Wheeler Ruml (UNH) Class 21, CS 758 – 1 / 15

  2. NP-Completeness ■ Terms ■ Interchangability ■ Reductions ■ NPC Proofs ■ C-SAT is in NP ■ C-SAT is NP-Hard ■ Break SAT NP-Completeness Wheeler Ruml (UNH) Class 21, CS 758 – 2 / 15

  3. Terms optimization vs decision: if opt were easy, decision would be too NP-Completeness ■ Terms P: solvable in polynomial time ■ Interchangability ■ Reductions NP: ∃ certificate verifiable in polynomial time ■ NPC Proofs NP-Hard: as hard as any problem in NP (via polytime reduction) ■ C-SAT is in NP ■ C-SAT is NP-Hard NP-Complete: NP-Hard and in NP ■ Break SAT reduce a to b : a → b in polytime, decide b b hard by reduction from a : if a → b in polytime and b polytime, could solve a Wheeler Ruml (UNH) Class 21, CS 758 – 3 / 15

  4. The Power of Reduction Theorem: If B ≤ P A for some B ∈ NPC, then A is NP-Hard. NP-Completeness ■ Terms ■ Interchangability Since B is NPC, we have ∀ C ∈ NP , C ≤ P B . Since B ≤ P A , ■ Reductions ■ NPC Proofs then C ≤ P A which shows A is NP-Hard. ■ C-SAT is in NP ■ C-SAT is NP-Hard ■ Break If also A ∈ NP, then since A ∈ NP, we have A ∈ NPC. SAT Wheeler Ruml (UNH) Class 21, CS 758 – 4 / 15

  5. Reductions CIRCUIT-SAT NP-Completeness ■ Terms ■ Interchangability SAT ■ Reductions ■ NPC Proofs ■ C-SAT is in NP ■ C-SAT is NP-Hard 3-CNF SAT ■ Break SAT CLIQUE SUBSET-SUM VERTEX-COVER HAM-CYCLE TSP Wheeler Ruml (UNH) Class 21, CS 758 – 5 / 15

  6. Framework for an NP-Completeness Proof To prove some problem A is NP-Complete: NP-Completeness ■ Terms 1. Prove A ∈ NP ■ Interchangability ■ Reductions 2. Pick a known NP-Complete problem B ■ NPC Proofs 3. Find a translation of instances of B into instances of A ■ C-SAT is in NP ■ C-SAT is NP-Hard 4. Show that translated A version is accepted if and only if the ■ Break original B version should be accepted. SAT 5. Prove that the reduction runs in polynomial time. Wheeler Ruml (UNH) Class 21, CS 758 – 6 / 15

  7. Circuit-SAT is in NP Circuit-SAT: is circuit satisfiable? (otherwise, can be removed) NP-Completeness ■ Terms ■ Interchangability ■ Reductions ■ NPC Proofs Certificate is value for every wire. ■ C-SAT is in NP Simply check that each gate is computed corrrectly and output is ■ C-SAT is NP-Hard ■ Break true. SAT Wheeler Ruml (UNH) Class 21, CS 758 – 7 / 15

  8. Circuit-SAT is NP-Hard Need to construct reduction f from any L ∈ NP. Given input NP-Completeness x ∈ L , resulting circuit C ∈ Circuit-SAT iff x ∈ L . We’ll make C ■ Terms ■ Interchangability so it’s SAT iff ∃ y s.t. verification algorithm A ( x, y ) for L gives ■ Reductions ■ NPC Proofs true. Intuition: for input y , run A ( x, y ) . ■ C-SAT is in NP Let n = | x | and T ( n ) = O ( n k ) be bound on A ’s running time. ■ C-SAT is NP-Hard ■ Break Let M be a circuit for a stored-program computer (including PC SAT and storage). String T ( n ) of them together to form C ′ . C is C ′ with input hardwired to program for A and input x , and output hardwired to result of A . Input to C is y . Iff y exists, C is satisfiable, so we have a reduction. A is constant size and uses poly storage. M is poly size and needs poly steps to run A . y is poly sized. So C ′ and C have size polynomial in n and can be constructed in polynomial time. Wheeler Ruml (UNH) Class 21, CS 758 – 8 / 15

  9. Break asst 11 ■ NP-Completeness asst 12 ■ Terms ■ ■ Interchangability ■ Reductions ■ NPC Proofs ■ C-SAT is in NP ■ C-SAT is NP-Hard ■ Break SAT Wheeler Ruml (UNH) Class 21, CS 758 – 9 / 15

  10. NP-Completeness SAT ■ NPC Proofs ■ Reduction ■ 3-CNF SAT ■ Reductions ■ EOLQs SAT Wheeler Ruml (UNH) Class 21, CS 758 – 10 / 15

  11. Framework for an NP-Completeness Proof To prove some problem A is NP-Complete: NP-Completeness SAT 1. Prove A ∈ NP ■ NPC Proofs 2. Pick a known NP-Complete problem B ■ Reduction ■ 3-CNF SAT 3. Find a translation of instances of B into instances of A ■ Reductions 4. Show that translated A version is accepted if and only if the ■ EOLQs original B version should be accepted. 5. Prove that the reduction runs in polynomial time. Wheeler Ruml (UNH) Class 21, CS 758 – 11 / 15

  12. Reduction from Circuit-SAT to SAT Consider formula with n variables and m connectives. NP-Completeness SAT ■ NPC Proofs SAT ∈ NP: given variables assignments, evaluate formula. ■ Reduction ■ 3-CNF SAT ■ Reductions SAT is NP-Hard: Reduction from Circuit-SAT. Basic translation ■ EOLQs fails on shared subcircuits. Instead, use one variable for each wire and one clause per gate. Combine clauses with ∧ and include ∧ x 0 (output). SAT iff wires in circuit have legal values yielding true. Wheeler Ruml (UNH) Class 21, CS 758 – 12 / 15

  13. 3-CNF SAT CNF where each clause has exactly 3 literals. Aka 3-SAT. NP-Completeness SAT 3-CNF SAT ∈ NP: given variables assignments, evaluate formula. ■ NPC Proofs ■ Reduction 3-CNF SAT is NP-Hard: Reduction from SAT. Construct ■ 3-CNF SAT ■ Reductions expression tree and convert to binary branching. ■ EOLQs Assign each node a variable. Form clause for each internal node’s variable, eg: y 3 ↔ ( y 1 ∨ y 2 ) Clauses will have at most 3 literals. Convert each clause to CNF: form complete truth table, form DNF for false rows, negate and push ¬ inward (using DeMorgan) to get CNF For each binary clause ( l 1 ∨ l 2 ) , convert to ( l 1 ∨ l 2 ∨ p ) ∧ ( l 1 ∨ l 2 ∨ ¬ p ) . For each unit clause ( l ) , convert to ( l ∨ p ∨ q ) ∧ ( l ∨ p ∨ ¬ q ) ∧ ( l ∨ ¬ p ∨ q ) ∧ ( l ∨ ¬ p ∨ ¬ q ) . Each step preserves satisfiability and is polynomial time. Wheeler Ruml (UNH) Class 21, CS 758 – 13 / 15

  14. Reductions CIRCUIT-SAT NP-Completeness SAT ■ NPC Proofs SAT ■ Reduction ■ 3-CNF SAT ■ Reductions 3-CNF SAT ■ EOLQs CLIQUE SUBSET-SUM VERTEX-COVER HAM-CYCLE TSP Wheeler Ruml (UNH) Class 21, CS 758 – 14 / 15

  15. EOLQs For example: NP-Completeness SAT What’s still confusing? ■ ■ NPC Proofs What question didn’t you get to ask today? ■ ■ Reduction ■ 3-CNF SAT What would you like to hear more about? ■ ■ Reductions ■ EOLQs Please write down your most pressing question about algorithms and put it in the box on your way out. Thanks! Wheeler Ruml (UNH) Class 21, CS 758 – 15 / 15

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend