Page 248 - Discrete Mathematics and Its Applications
P. 248

3.3 Complexity of Algorithms 227


                                                     P VERSUS NP The study of the complexity of algorithms goes far beyond what we can
                                                     describe here. Note, however, that many solvable problems are believed to have the property
                                                     that no algorithm with polynomial worst-case time complexity solves them, but that a solution,
                                                     if known, can be checked in polynomial time. Problems for which a solution can be checked
                                                     in polynomial time are said to belong to the class NP (tractable problems are said to belong to
                                                     class P). The abbreviation NP stands for nondeterministic polynomial time. The satisfiability
                                                     problem, discussed in Section 1.3, is an example of an NP problem—we can quickly verify that
                                                     an assignment of truth values to the variables of a compound proposition makes it true, but no
                                                     polynomial time algorithm has been discovered for finding such an assignment of truth values.
                                                                                                                      n
                                                     (For example, an exhaustive search of all possible truth values requires  (2 ) bit operations
                                                     where n is the number of variables in the compound proposition.)
                                                        There is also an important class of problems, called NP-complete problems, with the
                                                     property that if any of these problems can be solved by a polynomial worst-case time algorithm,
                                                     then all problems in the class NP can be solved by polynomial worst-case time algorithms.
                                                     The satisfiability problem, is also an example of an NP-complete problem. It is an NP problem
                                                     and if a polynomial time algorithm for solving it were known, there would be polynomial time
                                                     algorithms for all problems known to be in this class of problems (and there are many important
                                                     problems in this class). This last statement follows from the fact that every problem in NP
                                                     can be reduced in polynomial time to the satisfiability problem. Although more than 3000 NP-
                                                     complete problems are now known, the satisfiability problem was the first problem shown to be
                                                     NP-complete. The theorem that asserts this is known as the Cook-Levin theorem after Stephen
                                                     Cook and Leonid Levin, who independently proved it in the early 1970s.
                                                        The P versus NP problem asks whether NP, the class of problems for which it is possible
                                                     to check solutions in polynomial time, equals P, the class of tractable problems. If P=NP, there

                                                     would be some problems that cannot be solved in polynomial time, but whose solutions could
                                                     be verified in polynomial time. The concept of NP-completeness is helpful in research aimed
                                                     at solving the P versus NP problem, because NP-complete problems are the problems in NP
                                                     considered most likely not to be in P, as every problem in NP can be reduced to an NP-complete
                                                     problem in polynomial time. A large majority of theoretical computer scientists believe that
                                                     P  = NP, which would mean that no NP-complete problem can be solved in polynomial time.
                                                     One reason for this belief is that despite extensive research, no one has succeeded in showing that
                                                     P = NP. In particular, no one has been able to find an algorithm with worst-case polynomial time
                                                     complexity that solves any NP-complete problem. The P versus NP problem is one of the most
                                                     famous unsolved problems in the mathematical sciences (which include theoretical computer
                                                     science). It is one of the seven famous Millennium Prize Problems, of which six remain unsolved.
                                                    A prize of $1,000,000 is offered by the Clay Mathematics Institute for its solution.





                                                     STEPHEN COOK (BORN 1939)  Stephen Cook was born in Buffalo where his father worked as an industrial
                                                     chemist and taught university courses. His mother taught English courses in a community college. While in
                                                     high school Cook developed an interest in electronics through his work with a famous local inventor noted for
                                                     inventing the first implantable cardiac pacemaker.
                                                        Cook was a mathematics major at the University of Michigan, graduating in 1961. He did graduate work
                                                     at Harvard, receiving a master’s degree in 1962 and a Ph.D. in 1966. Cook was appointed an assistant professor
                                                     in the Mathematics Department at the University of California, Berkeley in 1966. He was not granted tenure
                                                     there, possibly because the members of the Mathematics Department did not find his work on what is now
                                                     considered to be one of the most important areas of theoretical computer science of sufficient interest. In 1970,
                                                     he joined the University of Toronto as an assistant professor, holding a joint appointment in the Computer
                                      Science Department and the Mathematics Department. He has remained at the University of Toronto, where he was appointed a
                                      University Professor in 1985.
                                          Cook is considered to be one of the founders of computational complexity theory. His 1971 paper “The Complexity of Theorem
                                      Proving Procedures” formalized the notions of NP-completeness and polynomial-time reduction, showed that NP-complete problems
                                      exist by showing that the satisfiability problem is such a problem, and introduced the notorious P versus NP problem.
                                          Cook has received many awards, including the 1982 Turing Award. He is married and has two sons. Among his interests are
                                      playing the violin and racing sailboats.
   243   244   245   246   247   248   249   250   251   252   253