(ii) If there is no polynomial time algorithm for Π 1 , then there cannot be a polynomial time algorithm for Π 2 . Part (ii) is easily proved by contradiction. For part (i), if p 1 ( n ) is the running time of Π 1 and p 2 is the time of the reduction function, then there is an algorithm for Pi 1 that takes p 1 ( p 2 ( n )) steps where n is the input length for Π 1 . A problem Π is called NP-hard under polynomial reduction if for any problem Π ′ ∈NP , Π ′ ≤ poly Π. A problem is Π is NP-complete (NPC) if it is NP-hard and Π ∈NP . Therefore these are problems that are hardest within the class NP . Exercise 10.2 If problems A and B are NPC, then A ≤ poly B and B ≤ poly A . From the previous exercise, these problems form a kind of equivalent class with re- spect to polynomial time reductions. However, a crucial question that emerges at this juncture is : Do NPC problems actually exist ? . A positive answer to this question led to the development of one of the most fascinating areas of Theoretical Computer Science and will be addressed in the next section. So far, we have only discussed many-one reducibility that hinges on the existence of a many-one polynomial time reduction function. There is another very useful and perhaps more intuitive notion of reducibility, namely, Turing reducibility . The many-to-one reduction may be thought of as using one subroutine call of P 2 to solve P 1 (when P 1 ≤ poly P 2 ) in polynomial time, if P 2 has a polynomial time algorithm. Clearly, we can afford a polynomial number of subroutine calls to the algorithm for P 2 and still get a polynomial time algorithms for P 1 . In other words, we say that P 1 is Turing-reducible to P 2 if a polynomial time algorithm for P 2 implies a polynomial time algorithm for P 1 . Moreover, we do not require that P 1 , P 2 be decision problems. Although, this may seem to be the more natural notion of reducibility, we will rely on the more restrictive definition to derive the results. 10.2 Cook Levin theorem Given a boolean formula in boolean variables, the satisfiability problem is an assign- ment of the truth values of the boolean variables that can make the formula evaluate to TRUE (if it is possible). If the formula is in a conjunctive normal form (CNF) 3 , 3 A formula, that looks like ( x 1 ∨ x 2 .. ) ∧ ( x i ∨ x j ∨ .. ) ∧ ... ( x ℓ ∨ ...x n ) 103 JNTU World JNTU World Downloaded From JNTU World ()
then the problem is known as CNF Satisfiability. Further, if we restrict the number of variables in each clause to be exactly k then it is known as the k-CNF Satisfiability problem. A remarkable result attributed to Cook and Levin says the following Theorem 10.1 The CNF Satisfiability problem is NP Complete under polynomial time reductions.
You've reached the end of your free preview.
Want to read all 128 pages?
- Spring '16
- Analysis of algorithms, JNTU World, FN