1 / 59

The Theory of NP-Completeness

The Theory of NP-Completeness. NP. =. NPC. P. P. X. P=NP. ?. NP: Non-deterministic Polynomial. P: Polynomial. NPC: Non-deterministic Polynomial Complete. P : the class of problems which can be solved by a deterministic p olynomial algorithm.

hafwen
Download Presentation

The Theory of 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. The Theory of NP-Completeness

  2. NP = NPC P P X P=NP ? NP: Non-deterministic Polynomial P: Polynomial NPC: Non-deterministic Polynomial Complete

  3. P: the class of problems which can be solved by a deterministic polynomial algorithm. • NP: the class of decision problem which can be solved by a non-deterministic polynomial algorithm. • NP-hard: the class of problems to which every NP problem reduces. • NP-complete (NPC): the class of problems which are NP-hard and belong to NP.

  4. Decision problems • The solution is simply “Yes” or “No”. • Optimization problem : more difficult Decision problem • E.g. the traveling salesperson problem • Optimization version: Find the shortest tour • Decision version: Is there a tour whose total length is less than or equal to a constant C ?

  5. Nondeterministic algorithms • A nondeterministic algorithm is an algorithm consisting of two phases: guessing and checking. • Furthermore, it is assumed that a nondeterministic algorithm always makes a correct guessing.

  6. Nondeterministic algorithms • They do not exist and they would never exist in reality. • They are useful only because they will help us define a class of problems: NP problems

  7. NP algorithm • If the checking stage of a nondeterministic algorithm is of polynomial time-complexity, then this algorithm is called an NP (nondeterministic polynomial) algorithm.

  8. NP problem • If a decision problem can be solved by a NP algorithm, this problem is called an NP (nondeterministic polynomial) problem. • NP problems : (must be decision problems)

  9. To express Nondeterministic Algorithm • Choice(S) : arbitrarily chooses one of the elements in set S • Failure : an unsuccessful completion • Success : a successful completion

  10. Nondeterministic searching Algorithm : j ← choice(1 : n) /* guess if A(j) = x then success /* check else failure • A nondeterministic algorithm terminates unsuccessfully iff there exist no set of choices leading to a success signal. • The time required for choice(1 : n) is O(1). • A deterministic interpretation of a non-deterministic algorithm can be made by allowing unbounded parallelism in computation.

  11. Problem Reduction • Problem A reduces to problem B (AB) • iff A can be solved by using any algorithm which solves B. • If AB, B is more difficult (B is at least as hard as A) • Note: T(tr1) + T(tr2) < T(B) • T(A)  T(tr1) + T(tr2) + T(B)  O(T(B))

  12. Polynomial-time Reductions • We want to solve a problem R; we already have an algorithm for S • We have a transformation function T • Correct answer for R on x is “yes”, iff the correct answer for S on T(x) is “yes” • Problem R is polynomially reducible to S if such a transformation T can be computed in polynomial time • The point of reducibility: S is at least as hard to solve as R

  13. Polynomial-time Reductions • We use reductions (or transformations) to prove that a problem is NP-complete • x is an input for R; T(x) is an input for S • (R  S) x T(x) Algorithm for S T Yes or no answer Algorithm for R

  14. NPC and NP-hard • A problem A is NP-hard if every NP problem reduces to A. • A problem A is NP-complete (NPC) if A∈NP and every NP problem reduces to A. • Or we can say a problem A is NPC if A∈NP and A is NP-hard.

  15. NP-Completeness • “NP-complete problems”: the hardest problems in NP • Interesting property • If any oneNP-complete problem can be solved in polynomial time, then every problem in NP can also be solved similarly (i.e., P=NP) • Many believe P≠NP

  16. Importance of NP-Completeness • NP-complete problems: considered “intractable” • Important for algorithm designers & engineers • Suppose you have a problem to solve • Your colleagues have spent a lot of time to solve it exactly but in vain • See whether you can prove that it is NP-complete • If yes, then spend your time developing an approximation (heuristic) algorithm • Many natural problems can be NP-complete

  17. Relationship Between NP and P • It is not known whether P=NP or whether P is a proper subset of NP • It is believed NP is much larger than P • But no problem in NP has been proved as not in P • No known deterministic algorithms that are polynomially bounded for many problems in NP • So, “does P = NP?” is still an open question!

  18. Cook’s theorem (1971) NP = P iff SATP • SAT (the satisfiability problem) is NP-complete • It is the first NP-complete problem • Every NP problem reduces to SAT

  19. SAT is NP-complete • Every NP problem can be solved by an NP algorithm • Every NP algorithm can be transformed in polynomial time to an SAT problem (a Boolean formula C) • Such that the SAT problem is satisfiable iff the answer for the original NP problem is “yes” • That is, every NP problem  SAT • SAT is NP-complete

  20. Definition of the satisfiability problem: Given a Boolean formula, determine whether this formula is satisfiable or not. • A literal: xi or -xi • A clause: x1 v x2 v -x3 Ci • A formula: conjunctive normal form C1& C2 & … & Cm

  21. The Satisfiability Problem • The satisfiability problem • A logical formula: x1 v x2 v x3 & - x1 & - x2 the assignment : x1 ← F , x2 ← F , x3 ← T will make the above formula true. (-x1, -x2 , x3) represents x1 ← F , x2 ← F , x3 ← T

  22. If there is at least one assignment which satisfies a formula, then we say that this formula is satisfiable; otherwise, it is unsatisfiable. • An unsatisfiable formula: x1 v x2 & x1 v -x2 & -x1 v x2 & -x1 v -x2

  23. The satisfiability problem • Resolution principle c1 : -x1 v -x2 v x3 c2 : x1 v x4  c3 :-x2 v x3 v x4 (resolvent) • If no new clauses can be deduced  satisfiable -x1 v -x2 v x3 (1) x1 (2) x2 (3) (1) & (2) -x2 v x3 (4) (4) & (3) x3 (5) (1) & (3) -x1 v x3 (6)

  24. The satisfiability problem • If an empty clause is deduced  unsatisfiable - x1 v -x2 v x3 (1) x1 v -x2 (2) x2 (3) - x3 (4)  deduce (1) & (2) -x2 v x3 (5) (4) & (5) -x2 (6) (6) & (3) □ (7)

  25. Nondeterministic SAT • Guessing for i = 1 to n do xi← choice( true, false ) if E(x1, x2, … ,xn) is true Checking then success else failure

  26. Transforming Searching to SAT • Does there exist a number in { x(1), x(2), …, x(n) }, which is equal to 7? • Assume n = 2

  27. Transforming Search to SAT • Does there exist a number in { x(1), x(2), …, x(n) }, which is equal to 7? • Assume n = 2. nondeterministic algorithm: i = choice(1,2) if x(i)=7 then SUCCESS else FAILURE

  28. i=1 v i=2 & i=1 → i≠2 & i=2 → i≠1 & x(1)=7 & i=1 → SUCCESS & x(2)=7 & i=2 → SUCCESS & x(1)≠7 & i=1 → FAILURE & x(2)≠7 & i=2 → FAILURE & FAILURE → -SUCCESS & SUCCESS (Guarantees a successful termination) & x(1)=7 (Input data) & x(2)≠7

  29. CNF (conjunctive normal form) : i=1 v i=2 (1) i≠1 v i≠2 (2) x(1)≠7 v i≠1 v SUCCESS (3) x(2)≠7 v i≠2 v SUCCESS (4) x(1)=7 v i≠1 v FAILURE (5) x(2)=7 v i≠2 v FAILURE (6) -FAILURE v -SUCCESS (7) SUCCESS (8) x(1)=7 (9) x(2)≠7 (10)

  30. Satisfiable with the following assignment: i=1 satisfying (1) i≠2 satisfying (2), (4) and (6) SUCCESS satisfying (3), (4) and (8) -FAILURE satisfying (7) x(1)=7 satisfying (5) and (9) x(2)≠7 satisfying (4) and (10)

  31. Searching for 7, but x(1)7, x(2)7 • CNF (conjunctive normal form):

  32. Apply resolution principle:

  33. Searching for 7, where x(1)=7, x(2)=7 • CNF:

  34. The Node Cover Problem • Def: Given a graph G = (V, E), S is the node coverof G if S  V and for ever edge (u, v)  E, (u,v) is incident to a node in S. node cover: {1, 3} {5, 2, 4} • Decision problem:  S  S  K 

  35. How to Prove a Problem S is NP-Complete? • Show S is in NP • Select a known NP-complete problem R • Since R is NP-complete, all problems in NP are reducible to R • Show how R can be poly. reducible to S • Then all problems in NP can be poly. reducible to S (because polynomial reduction is transitive) • Therefore S is NP-complete

  36. Cook • Cook showed the first NPC problem: SAT • Cook received Turing Award in 1982.

  37. Karp • R. Karp showed several NPC problems, such as 3-STA, node (vertex) cover, and Hamiltonian cycle, etc. • Karp received Turing Award in 1985

  38. NP-Completeness Proof: Reduction All NP problems SAT Clique 3-SAT Vertex Cover Chromatic Number Dominating Set

  39. NPC Problems • CLIQUE(k): Does G=(V,E) contain a clique of size k? Definition: • A clique in a graph is a set of vertices such that any pair of vertices are joined by en edge.

  40. NPC Problems • Vertex Cover(k): Given a graph G=(V, E) and an integer k, does G have a vertex cover with k vertices? Definition: • A vertex cover of G=(V, E) is V’V such that every edge in E is incident to some vV’.

  41. NPC Problems • Dominating Set(k): Given an graph G=(V, E) and an integer k, does G have a dominating set of size k ? Definition: • A dominating set D of G=(V, E) is DV such that every vV is either in D or adjacent to at least one vertex of D.

  42. NPC Problems • SAT: Give a Boolean expression (formula) in DNF (conjunctive normal form), determine if it is satisfiable. • 3SAT: Give a Boolean expression in DNF such that each clause has exactly 3 variables (literals), determine if it is satisfiable.

  43. NPC Problems • Chromatic Coloring(k): Given a graph G=(V, E) and an integer k, does G have a coloring for k Definition • A coloring of a graph G=(V, E) is a function f : V  { 1, 2, 3,…, k }  if (u, v)  E, then f(u)f(v).

  44. 0/1 Knapsack problem M(weight limit)=14 best solution: P1, P2, P3, P5(optimal) This problem is NP-complete.

  45. Traveling salesperson problem • Given: A set of n planar points Find: A closed tour which includes all points exactly once such that its total length is minimized. • This problem is NP-complete.

  46. Partition problem • Given: A set of positive integers S Find: S1 and S2 such that S1S2=, S1S2=S, iS1i=iS2 i (partition into S1 and S2 such that the sum of S1 is equal to S2) • e.g. S={1, 7, 10, 9, 5, 8, 3, 13} • S1={1, 10, 9, 8} • S2={7, 5, 3, 13} • This problem is NP-complete.

  47. Art gallery problem NP-complete !!

  48. 3-Satisfiability Problem (3-SAT) • Def:Each clause contains exactly three literals. • (I)3-SAT is an NP problem (obviously) • (II)SAT  3-SAT Proof: (1) One literal L1 in a clause in SAT: In 3-SAT: L1 v y1 v y2 L1 v -y1 v y2 L1 v y1 v -y2 L1 v -y1 v -y2

  49. (2) Two literals L1, L2 in a clause in SAT: In 3-SAT: L1 v L2 v y1 L1 v L2 v -y1 (3) Three literals in a clause: remain unchanged. (4) More than 3 literals L1, L2, …, Lk in a clause: in 3-SAT: L1 v L2 v y1 L3 v -y1 v y2  Lk-2 v -yk-4 v yk-3 Lk-1 v Lk v -yk-3

  50. Example of Transforming a 3-SATInstance to an SAT Instance • An instance S in SAT: x1 v x2 -x3 x1 v -x2 v x3 v -x4 v x5 • The instance S in 3-SAT: x1 v x2 v y1 x1 v x2 v -y1 -x3 v y2 v y3 -x3 v -y2 v y3 -x3 v y2 v -y3 -x3 v -y2 v -y3 x1 v -x2 v y4 x3 v -y4 v y5 -x4 v x5 v -y5 SAT transform 3-SAT S S

More Related