NP-Complete Problems Problems in Computer Science are classified into
Published byModified over 5 years ago
Presentation on theme: "NP-Complete Problems Problems in Computer Science are classified into"— Presentation transcript:
1 NP-Complete Problems Problems in Computer Science are classified into Tractable: There exists a polynomial time algorithm that solves the problemO(nk)Intractable: Unlikely for a polynomial time algorithm solution to existNP-Complete Problems
2 Decision Problems vs. Optimization Problems Decision Problem: Yes/no answerOptimization Problem: Maximization or minimization of a certain quantityWhen studying NP-Completeness, it is easier to deal with decision problems than optimization problems
3 Element Uniqueness Problem Decision Problem: Element UniquenessInput: A sequence of integers SQuestion: Are there two elements in S that are equal?Optimization Problem: Element CountOutput: An element in S of highest frequencyWhat is the algorithm to solve this problem? How much does it cost?
4 Coloring a Graph Decision Problem: Coloring Input: G=(V,E) undirected graph and k, k > 0.Question: Is G k-colorable?Optimization Problem: Chromatic NumberInput: G=(V,E) undirected graphOutput: 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.
5 CliquesDefinition: A clique of size k in G, for some +ve integer k, is a complete subgraph of G with k vertices.Decision ProblemInput:Question:Optimization ProblemOutput:
6 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?
7 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?
8 The Class PDefinition: 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.
9 ExamplesSorting: 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
10 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
11 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 mayCorrespond to a solutionNot correspond to a solutionNot be in proper format of a solutionDiffer from one run to anotherVerification: A deterministic algorithm verifiesThe generated “string of characters y” is in proper formatWhether y is a solutionin polynomial time
12 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?
13 The Class NPDefinition: The class of decision problems NP consists of those decision problems for which there exists a nondeterministic algorithm that runs in polynomial time
14 ExampleShow that the coloring problem belongs to the class of NP problems
15 P and NP ProblemsWhat is the difference between P problems and NP Problems?We can decide/solve problems in P using deterministic algorithms that run in polynomial timeWe can check or verify the solution of NP problems in polynomial time using a deterministic algorithmWhat is the set relationship between the classes P and NP?
16 NP-Complete ProblemsDefinition: 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.
17 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?
18 Conjunctive Normal Forms Definition: A clause is the disjunction of literals, where a literal is a boolean variable or its negationE.g., x1 x2 x3 x4Definition: 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.
19 The Satisfiability Problem Input: A CNF boolean formula f.Question: Is f satisfiable?Theorem: Satisfiability is NP-CompleteSatisfiability is the first problem to be proven as NP-CompleteThe proof includes reducing every problem in NP to Satisfiability in polynomial time.
20 Transitivity of poly Theorem: Let , ’, and ’’ be three decision problems such that poly ’ and ’poly ’’. Then poly ’’.Proof:Corollary: If , ’ NP such that ’ poly and ’ NP-complete, then NP-completeHow can we prove that NP-hard?How can we prove that NP-complete?