Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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 2 Content Informal introduction - the classes P, NP and NP-complete - the graph colouring polynomial reductions Approximation algorithms - travelling salesman problem

3 3

4 4

5 5

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

7 7 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.

8 8 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

9 9

10 10

11 11

12 12

13 13

14 14

15 15 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 }

16 16

17 17 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.

18 18

19 19

20 20

21 21

22 22

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

24 24

25 25

26 26 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.

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

28 28

29 29 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.

30 30

31 31

32 32 TSP

33 33

34 34

35 35

36 36

37 37

38 38 Question ?????

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


Download ppt "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."

Similar presentations


Ads by Google