1 / 39

NP-Completeness

NP-Completeness. Objectives : At the end of the lesson, students should be able to: 1. Differentiate between class P, NP, and NPC 2. Reduce a known NPC problem into another NPC problem 3. Show a given problem is in NPC 4. Solve a problem using an approximate solution. Content.

bob
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 Objectives: At the end of the lesson, students should be able to: 1. Differentiate between class P, NP, and NPC 2. Reduce a known NPC problem into another NPC problem 3. Show a given problem is in NPC 4. Solve a problem using an approximate solution.

  2. Content • Informal introduction - the classes P, NP and NP-complete - the graph colouring • polynomial reductions • Approximation algorithms - travelling salesman problem

  3. Tractable vs intractable Problems that can be solved in poly time are called tractable

  4. Undecidable Problem • Decidable (P or NP) • Undecidable problem – e.g Halting Problem Given a computer program and input to it, determine whether the program will halt on that input or continue working indefinitely on it.

  5. A Problem in NPC How to show that a problem is in NPC? Prove that no efficient algorithm is likely to exist. Three key concepts for showing whether a problem is in NPC 1.Decision problems vs optimisation problems 2.Polynomial reductions 3.An initial NPC-problem

  6. Graph colouring This algorithm finds a k-colouring of G=(V,E), if there is one, and stores it in the array c. Graph-colouring(G,k) { For each v in V c[v] = guess({1,2,…,k}) For each v in V For each w in N(v) if (c[w] ==c[v] return false return true }

  7. Other complexity classes • There are many complexity classes that are much harder than NP. • PSPACE. Problems that can be solved using a reasonable amount of memory without regard to how much time the solution takes. • EXPTIME. Problems that can be solved in exponential time. • Undecidable. For some problems, we can prove that there is no algorithm that always solves them, no matter how much time or space is allowed.

  8. Some NP-complete problems • Does a given undirected graph have a Hamiltonian cycle? • Traveling salesman problem (TSP) • Graph coloring

  9. TSP is in NP • Given an instance to the TSP problem, use as “proposed solution” the sequence of n vertices in the tour e.g. ACDBA, ACDA. • Check that this sequence contains every vertex exactly once. ACDBA is yes, ACDA is no. • Sum up the edge costs and check whether this is at most k. Total cost for ACDBA = 35+12+10+20 = 77. This can all be done in polynomial-time, ths TSP ε NP.

  10. Complete Graphs • there is an edge “between” every possible tuple of vertices. |e| = C(n,2) = n. (n-1)/2

  11. Reduction of HC to TSP G has a Hamiltonian cycle ↔ G’ has a tour of cost at most 0 Suppose G has a Hamiltonian cycle h. Then each edge in h has cost 0 in G’. Thus h is a tour of cost 0 in G’. Suppose G’ has a tour h’ of cost at most 0. As all edges in G’ have cost 0 or 1, cost(h’) = 0, hence all edges in h’ have cost 0. Therefore, h’ is a hamiltonian cycle of G.

  12. TSP

  13. Question ?????

  14. Summary 1. Problems fall into class P, NP, and NPC. 2. Reduction of a known NPC problem into another NPC problem (Hcycle≤p TSP) 3. Shown a given problem is in NPC (TSP) 4. Solved a problem using an approximate solution. Last updated: 2/11/2010.

More Related