![]() |
Text 2. Introduction to computational complexityDate: 2015-10-07; view: 492. Unit 5. Introduction to computational complexity Task 1. Match the words and phrases with their equivalents:
Task 2. Look through the text and answer the questions: 1. Who was the text written for? 2. What is the author of the text? 3. What is the purpose of the text? 4. What is the main idea of the text? 5. What scientific field does the text belong to? Martin Tompa These are the lecture notes from a graduate course on Computational Complexity taught at the University of Washington. This topic fits in the middle of three of the fundamental areas of the Theory of Computation, which can be summarized with respect to their approaches to computational problems as follows: · Computability: Determine whether an algorithm exist that solves a given problem. · Computational Complexity: For those problems that are computable, determine a coarse analysis of their time and space requirements. Such analyses may well ignore the differences between polynomials, and concentrate on the difference between polynomial and exponential behavior. · Analysis of Algorithms: For those problems that can be solved in polynomial time, determine a more exact analysis of their time and space requirements. This text adopts some approaches that will appear unconventional. For example, alternating Turing machines are introduced very early, and deterministic and nondeterministic Turing machines treated as special cases. This simplifies many proofs, such as that of Savitch's Theorem (Theorem 4.14), the P-completeness of the circuit value problem (Theorem 7.11), the. NP-completeness of the satisfiability problem (Theorem 8.7), and the PSPACE-completeness of the quantified Boolean formula problem (Theorem 10.3). Another unconventional approach is to use log space reducibility rather than polynomial time reducibility when reducibility is first introduced in Chapter 5, and to begin with NL-completeness rather than the more important NP-completeness. The reason for this decision twofold. First, the generic reduction in proving the NL-completeness of the directed graph connectivity problem (Theorem 6.5) is much simpler than the generic reduction normally used to prove the ЛЛР-completeness of the satisfiability problem, and thus gives the student a good «warmup» for the more important completeness proofs to come. Second, the NP-completeness proof of the satisfiability problem given in Theorem 8.7 is greatly simplified by the machinery built up in Chapter 7 on P-complete problems. I am indebted to Larry Ruzzo for exposing me to many of the approaches in this text, and for countless discussions about this material. T a.pn thankful for the many students who attended lectures faithfully, served as notetakers, asked embarrassing questions, made perceptive comments, and generally make teaching exciting and rewarding.
|