1 / 22

NP-Complete Problems

NP-Complete Problems. Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only. NP-Complete Problems. Problems in Computer Science are classified into Tractable: There exists a polynomial time algorithm that solves the problem O ( n k )

cale
Download Presentation

NP-Complete Problems

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-Complete Problems • Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.

  2. NP-Complete Problems • Problems in Computer Science are classified into • Tractable: There exists a polynomial time algorithm that solves the problem • O(nk) • Intractable: Unlikely for a polynomial time algorithm solution to exist • NP-Complete Problems

  3. Decision Problems vs. Optimization Problems • Decision Problem: Yes/no answer • Optimization Problem: Maximization or minimization of a certain quantity • When studying NP-Completeness, it is easier to deal with decision problems than optimization problems

  4. Element Uniqueness Problem • Decision Problem: Element Uniqueness • Input: A sequence of integers S • Question: Are there two elements in S that are equal? • Optimization Problem: Element Count • Input: A sequence of integers S • Output: An element in S of highest frequency • What is the algorithm to solve this problem? How much does it cost?

  5. Coloring a Graph • Decision Problem: Coloring • Input: G=(V,E) undirected graph and k, k > 0. • Question: Is G k-colorable? • Optimization Problem: Chromatic Number • Input: G=(V,E) undirected graph • Output: The chromatic number of G,(G) • i.e. the minimum number (G) of colors needed to color a graph in such a way that no two adjacent vertices have the same color.

  6. Clique • Definition: A clique of size k in G, for some +ve integer k, is a complete subgraph of G with k vertices. • Decision Problem • Input: • Question: • Optimization Problem • Input: • Output:

  7. Vertex Cover • Definition: A vertex cover of an undirected graph G=(V,E) is a subset C V such that each edge e=(x,y)  E is incident to at least one vertex in C, i.e. x  C or y  C. • Decision Problem • Input: • Question: • Optimization Problem • Input: • Output:

  8. Independent Set • Definition: Given an undirected graph G=(V,E) a subset S V is called an independent set if for each pair of vertices x, y  S, (x,y)  E • Decision Problem • Input: • Question: • Optimization Problem • Input: • Output:

  9. From Decision To Optimization • For a given problem, assume we were able to find a solution to the decision problem in polynomial time. Can we find a solution to the optimization problem in polynomial time also?

  10. Deterministic Algorithms • Definition: Let A be an algorithm to solve problem. A is called deterministic if, when presented with an instance of the problem , it has only one choice in each step throughout its execution. • If we run A again and again, is there a possibility that the output may change? • What type of algorithms did we have so far?

  11. The Class P • Definition: The class of decision problems P consists of those whose yes/no solution can be obtained using a deterministic algorithm that runs in polynomial time of steps, i.e. O(nk), where k is a non-negative integer and n is the input size.

  12. Examples • Sorting: Given n integers, are they sorted in non-decreasing order? • Set Disjointness: Given two sets of integers, are they disjoint? • Shortest path: • 2-coloring: • Theorem: A graph G is 2-colorable if and only if G is bipartite

  13. Closure Under Complementation • A class C of problems is closed under complementation if for any problem   C the complement of  is also in C. • Theorem: The class P is closed under complementation

  14. Non-Deterministic Algorithms • A non-deterministic algorithm A on input x consists of two phases: • Guessing: An arbitrary “string of characters y” is generated in polynomial time. It may • Correspond to a solution • Not correspond to a solution • Not be in proper format of a solution • Differ from one run to another • Verification: A deterministic algorithm verifies • The generated “string of characters y” is in proper format • Whether y is a solution in polynomial time

  15. Non-Deterministic Algorithms (Cont.) • Definition: Let A be a nondeterministic algorithm for a problem . We say that A accepts an instance I of  if and only if on input I, there exists a guess that leads to a yes answer. • Does it mean that if an algorithm A on a given input I leads to an answer of no for a certain guess, that it does not accept it? • What is the running time of a non-deterministic algorithm?

  16. The Class NP • Definition: The class of decision problems NP consists of those decision problems for which there exists a nondeterministic algorithm that runs in polynomial time

  17. Example • Show that the coloring problem belongs to the class of NP problems

  18. P and NP Problems • What is the difference between P problems and NP Problems? We can decide/solve problems in P using deterministic algorithms that run in polynomial time We can check or verify the solution of NP problems in polynomial time using a deterministic algorithm • What is the set relationship between the classes P and NP?

  19. NP-Complete Problems • Definition: Let  and ’ be two decision problems. We say that ’ reduces to  in polynomial time, denoted by ’poly , if there exists a deterministic algorithm A that behaves as follows: When A is presented with an instance I’ of problem ’, it transforms it into an instance I of problem  in polynomial time such that the answer to I’ is yes if and only if the answer to I is yes.

  20. NP-Hard and NP-Complete • Definition: A decision problem  is said to be NP-hard if ’ NP, ’poly . • Definition: A decision problem  is said to be NP-complete if •  NP • ’ NP, ’poly . • What is the difference between an NP-complete problem and an NP-hard problem?

  21. Conjunctive Normal Forms • Definition: A clause is the disjunction of literals, where a literal is a boolean variable or its negation • E.g., x1 x2  x3  x4 • Definition: A boolean formula f is said to be in conjunctive normal form (CNF) if it is the conjunction of clauses. • E.g., (x1 x2)  (x1  x5)  (x2 x3  x4  x6) • Definition: A boolean formula f is said to be satisfiable if there is a truth assignment to its variables that makes it true.

  22. The Satisfiability Problem • Input: A CNF boolean formula f. • Question: Is f satisfiable? • Theorem: Satisfiability is NP-Complete • Satisfiability is the first problem to be proven as NP-Complete • The proof includes reducing every problem in NP to Satisfiability in polynomial time.

More Related