Discussion of NP Completeness

Discussion of NP Completeness

Introduction to NP-Complete Problems Shant Karakashian Rahul Puranda February 15, 2008 1 / 15 Definitions The 4-Step Proof Example 1: Vertex Cover Example 2: Jogger 2 / 15 P, NP and NP-Complete Given a problem, it belongs to P, NP or NP-Complete classes, if: I NP: verifiable in polynomial time. I P: decidable in polynomial time. I NP-Complete: all problems in NP can be reduced to it in polynomial time. NP P NPC 3 / 15 The 4-Step Proof Given a problem X , prove it is in NP-Complete. 1. Prove X is in NP. 2. Select problem Y that is know to be in NP-Complete. 3. Define a polynomial time reduction from Y to X . 4. Prove that given an instance of Y , Y has a solution iff X has a solution. Reduction Known NP-C Class unknown Y X 4 / 15 Vertex Cover I A vertex cover of a graph G = (V , E) is a VC ⊆ V such that every (a, b) ∈ E is incident to at least a u ∈ VC . Vc −→ Vertices in VC ‘cover’ all the edges of G. I The Vertex Cover (VC) decision problem: Does G have a vertex cover of size k? 5 / 15 Independent Set I An independent set of a graph G = (V , E) is a VI ⊆ V such that no two vertices in VI share an edge. V I −→ u, v ∈ VI cannot be neighbors. I The Independent Set (IS) decision problem: Does G have an independent set of size k? 6 / 15 Prove Vertex Cover is NP-complete Given that the Independent Set (IS) decision problem is NP-complete, prove that Vertex Cover (VC) is NP-complete. Solution: 1. Prove Vertex Cover is in NP. I Given VC , vertex cover of G = (V , E), |VC | = k I We can check in O(|E| + |V |) that VC is a vertex cover for G. How? I For each vertex ∈ VC , remove all incident edges. I Check if all edges were removed from G. I Thus, Vertex Cover ∈ N P 7 / 15 Prove Vertex Cover is NP-complete (2) 2. Select a known NP-complete problem. I Independent Set (IS) is a known NP-complete problem. I Use IS to prove that VC is NP-complete. Reduction Known NP-C Class unknown IS VC 8 / 15 Prove Vertex Cover is NP-complete (3) 3. Define a polynomial-time reduction from IS to VC: 0 0 0 0 I Given a general instance of IS: G =(V , E ), k I Construct a specific instance of VC: G=(V , E), k 0 I V =V 0 I E=E 0 I (G=G ) 0 0 I k=|V | − k I This transformation is polynomial: I Constant time to construct G=(V , E) I O(|V |) time to count the number of vertices 0 0 I Prove that there is a VI (|VI | = k ) for G iff there is an VC (|VC | = k) for G. 9 / 15 Prove Vertex Cover is NP-complete (4) 0 0 Prove G has an independent set VI of size k iff VC has a vertex cover VC of size k. 0 I Consider two sets I and J s.t. I ∩ J = ∅ and I ∪ J = V = V I Given any edge (u, v), one of the following four cases holds: 1. u, v ∈ I 2. u ∈ I and v ∈ J 3. u ∈ J and v ∈ I 4. u, v ∈ J 0 I Assume that I is an independent set of G then: I Case 1 cannot be; (vertices in I cannot be adjacent) I In cases 2 and 3, (u, v) has exactly one endpoint in J. I In case 4, (u, v) has both endpoints in J. I In cases 2, 3 and 4, (u, v) has at least one endpoint J. 0 I Thus, vertices in J cover all edges of G . 0 I Also: |I | = |V | − |J| since I ∩ J = ∅ and I ∪ J = V = V 0 I Thus, if I is an independent set of G , then J is a vertex cover of G 0(= G). Similarly, we can prove that if J is a vertex cover for G 0, then 0 I is an independent set for G . 10 / 15 Prove Vertex Cover is NP-complete (5) V1 V1 V2 I V2 V3 (V I) J V4 V3 (V c) V4 V5 V5 V1 V1 V2 I V2 V3 J (V I) (V c) V4 V3 V4 V5 V5 11 / 15 Jogger Problem Given a weighted, undirected graph G with: I loops, multiple edges, and only positive weights, I a special node v called home, I and given an integer i ≥ 0. Is there a route for a jogger J that: I starts from home, I travels a distance i, and I returns home I without repeating an edge (nodes can be repeated)? 3 6 4 2 3 8 3 6 7 HOME 9 8 12 / 15 Jogger is NP-complete 1. Jogger is in NP: Given a path P, we can check in O(|P|) whether or not the sum of all edge weights is equal to i. 2. Consider the Subset Sum (SS) problem1, which is a known NP-complete problem. Given a set S of positive integers, is there a subset S0 ⊆ S such that sum of the elements of S0 is t. Example: S = {1, 3, 4, 5, 7, 8}, find S0 ⊆ S such that sum of the elements in S0 is 15. 3. Reduce Subset Sum to the Jogger. 1One type of knapsack problem. 13 / 15 Jogger is NP-complete I Given an instance of SS: S={a1, a2,... an}, construct a graph G as follows: I G has a unique node, v, which is the home. I For each ai ∈ S, add a self-loop to v of weight ai . I Let i (of the Jogger) = t (of the Sum Set). I This construction is obviously linear in the number of elements in S. 8 7 S 5 1 3 4 3 7 4 5 1 8 S ' HOME 14 / 15 Jogger is NP-complete (2) 4. SS has a solution iff Jogger has a solution. I G contains a path starting from home, never repeating an edge, and returning back home with a total distance exactly i iff S has a subset S 0 with sum of elements of S 0 equal to t. 0 I If S ⊆ S is a solution to SS, then the Jogger has a path of length i = t by taking the edges (loops) corresponding to the elements in S 0. I If there a path P is a solution to Jogger, then the subset of S with elements corresponding to the edges in P is a subset with sum i = t and thus is a solution to8 SS. 7 S 5 1 3 4 3 7 4 5 1 8 S ' HOME 15 / 15.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us