Stephen Cook

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For other people named Stephen Cook, see Stephen Cook (disambiguation).
Stephen Arthur Cook
Born (1939-12-14) December 14, 1939 (age 76)
Buffalo, New York
Fields Computer Science
Institutions University of Toronto
University of California, Berkeley
Alma mater Harvard University
University of Michigan
Doctoral advisor Hao Wang
Doctoral students Paul Beame
Mark Braverman
Valentine Kabanets
Toniann Pitassi
Robert A. Reckhow
Walter Savitch
Known for NP-completeness
Propositional proof complexity
Cook-Levin theorem
Notable awards Turing Award (1982)
CRM-Fields-PIMS prize (1999)
John L. Synge Award (2006)
Bernard Bolzano Medal
Gerhard Herzberg Canada Gold Medal for Science and Engineering (2012)
BBVA Foundation Frontiers of Knowledge Award (2015)

Stephen Arthur Cook, OC OOnt (born December 14, 1939) is a renowned American-Canadian computer scientist and mathematician who has made major contributions to the fields of complexity theory and proof complexity. He is currently a university professor at the University of Toronto, Department of Computer Science and Department of Mathematics.


Cook received his Bachelor's degree in 1961 from the University of Michigan, and his Master's degree and Ph.D. from Harvard University, respectively in 1962 and 1966. He joined the University of California, Berkeley, mathematics department in 1966 as an assistant professor, and stayed there until 1970 when he was denied reappointment. In a speech celebrating the 30th anniversary of the Berkeley EECS department, fellow Turing Award winner and Berkeley professor Richard Karp said that, "It is to our everlasting shame that we were unable to persuade the math department to give him tenure."[1] Cook joined the faculty of University of Toronto, Computer Science and Mathematics Departments in 1970 as an associate professor, where he was promoted to professor in 1975 and Distinguished Professor in 1985.


Stephen Cook is considered one of the forefathers of computational complexity theory.

During his PhD, Cook worked on complexity of functions, mainly on multiplication. In his seminal 1971 paper "The Complexity of Theorem Proving Procedures",[2][3] Cook formalized the notions of polynomial-time reduction (a.k.a. Cook reduction) and NP-completeness, and proved the existence of an NP-complete problem by showing that the Boolean satisfiability problem (usually known as SAT) is NP-complete. This theorem was proven independently by Leonid Levin in the Soviet Union, and has thus been given the name the Cook-Levin theorem. The paper also formulated the most famous problem in computer science, the P vs. NP problem. Informally, the "P vs. NP" question asks whether every optimization problem whose answers can be efficiently verified for correctness/optimality can be solved optimally with an efficient algorithm. Given the abundance of such optimization problems in everyday life, a positive answer to the "P vs. NP" question would likely have profound practical and philosophical consequences.

Cook conjectures that there are optimization problems (with easily checkable solutions) which cannot be solved by efficient algorithms, i.e., P is not equal to NP. This conjecture has generated a great deal of research in computational complexity theory, which has considerably improved our understanding of the inherent difficulty of computational problems and what can be computed efficiently. Yet, the conjecture remains open and is among the seven famous Millennium Prize Problems.[4][5]

In 1982, Cook received the prestigious Turing award for his contributions to complexity theory. His citation reads:

For his advancement of our understanding of the complexity of computation in a significant and profound way. His seminal paper, The Complexity of Theorem Proving Procedures, presented at the 1971 ACM SIGACT Symposium on the Theory of Computing, laid the foundations for the theory of NP-Completeness. The ensuing exploration of the boundaries and nature of NP-complete class of problems has been one of the most active and important research activities in computer science for the last decade.

In his "Feasibly Constructive Proofs and the Propositional Calculus"[6] paper published in 1975, he introduced the equational theory PV (standing for Polynomial-time Verifiable) to formalize the notion of proofs using only polynomial-time concepts. He made another major contribution to the field in his 1979 paper, joint with his student Robert A. Reckhow, "The Relative Efficiency of Propositional Proof Systems",[7] in which they formalized the notions of p-simulation and efficient propositional proof system, which started an area now called propositional proof complexity. They proved that the existence of a proof system in which every true formula has a short proof is equivalent to NP = coNP. Cook co-authored a book with his student Phuong The Nguyen in this area titled "Logical Foundations of Proof Complexity".[8]

His main research areas are complexity theory and proof complexity, with excursions into programming language semantics, parallel computation, and artificial intelligence. Other areas which he has contributed to include bounded arithmetic, bounded reverse mathematics, complexity of higher type functions, complexity of analysis, and lower bounds in propositional proof systems.

Some other contributions[edit]

He named the complexity class NC after Nick Pippenger. The complexity class SC is named after him.[9] The definition of the complexity class AC0 and its hierarchy AC are also introduced by him.[10]

According to Don Knuth the KMP algorithm was inspired by Cook's automata for recognizing concatenated palindromes in linear time.[11]

Awards and honors[edit]

Cook was awarded a Steacie Fellowship in 1977, a Killam Research Fellowship in 1982, and received the CRM-Fields-PIMS prize in 1999. He has won John L. Synge Award and Bernard Bolzano Medal, and is a fellow of the Royal Society of London and Royal Society of Canada. Cook was elected to membership in the National Academy of Sciences (United States) and the American Academy of Arts and Sciences.

Cook won the ACM Turing Award in 1982. Association for Computing Machinery honored him as a Fellow of ACM in 2008 for his fundamental contributions to the theory of computational complexity.[12]

The Government of Ontario appointed him to the Order of Ontario in 2013, the highest honor in Ontario.[13] He has won the 2012 Gerhard Herzberg Canada Gold Medal for Science and Engineering, the highest honor for scientist and engineers in Canada.[14] The Herzberg Medal is awarded by NSERC for "both the sustained excellence and overall influence of research work conducted in Canada in the natural sciences or engineering".[15] He was named an Officer of the Order of Canada in 2015.[16]

Also, Stephen Cook has been granted the BBVA Foundation Frontiers of Knowledge Award 2015 in the Information and Communication Technologies category “for his important role in identifying what computers can and cannot solve efficiently,” in the words of the jury’s citation. His work, it continues, “has had a dramatic impact in all fields where complex computations are crucial.”

Cook has supervised numerous MSc students, and 33 PhD students have completed their degrees under his supervision.[17]

Personal life[edit]

Cook currently lives with his wife in Toronto. They have two sons named Gordon and James.[18] He plays the violin and enjoys sailing. He is often called by his short name Steve Cook.

Professors Stephen A. Cook (right) with his friend Prof. Jan Krajíček (left) at the Fall school of Logic & Complexity in Prague, September 24, 2008


External links[edit]