Texts in Computer Science Editors David Gries Fred B Schneider For further volumes: http://www.springer.com/series/3191 Steven Homer • Alan L Selman Computability and Complexity Theory Second Edition 123 Steven Homer Computer Science Department Boston University Boston Massachusetts USA homer@bu.edu Series Editors David Gries Department of Computer Science Upson Hall Cornell University Ithaca, NY 14853-7501, USA Alan L Selman Department of Computer Science and Engineering University at Buffalo The State University of New York Buffalo New York USA selman@buffalo.edu Fred B Schneider Department of Computer Science Upson Hall Cornell University Ithaca, NY 14853-7501, USA ISSN 1868-0941 e-ISSN 1868-095X ISBN 978-1-4614-0681-5 e-ISBN 978-1-4614-0682-2 DOI 10.1007/978-1-4614-0682-2 Springer New York Dordrecht Heidelberg London Library of Congress Control Number: 2011941200 © Springer Science+Business Media, LLC 2011 All rights reserved This work may not be translated or copied in whole or in part without the written permission of the publisher (Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA), except for brief excerpts in connection with reviews or scholarly analysis Use in connection with any form of information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed is forbidden The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com) We dedicate this book to our wives, Michelle and Sharon Preface to the First Edition 2001 The theory of computing provides computer science with concepts, models, and formalisms for reasoning about both the resources needed to carry out computations and the efficiency of the computations that use these resources It provides tools to measure the difficulty of combinatorial problems both absolutely and in comparison with other problems Courses in this subject help students gain analytic skills and enable them to recognize the limits of computation For these reasons, a course in the theory of computing is usually required in the graduate computer science curriculum The harder question to address is which topics such a course should cover We believe that students should learn the fundamental models of computation, the limitations of computation, and the distinctions between feasible and intractable In particular, the phenomena of NP-completeness and NP-hardness have pervaded much of science and transformed computer science One option is to survey a large number of theoretical subjects, typically focusing on automata and formal languages However, these subjects are less important to theoretical computer science, and to computer science as a whole, now than in the past Many students have taken such a course as part of their undergraduate education We chose not to take that route because computability and complexity theory are the subjects that we feel deeply about and that we believe are important for students to learn Furthermore, a graduate course should be scholarly It is better to treat important topics thoroughly than to survey the field This textbook is intended for use in an introductory graduate course in theoretical computer science It contains material that should be core knowledge in the theory of computation for all graduate students in computer science It is self-contained and is best suited for a one-semester course Most of the text can be covered in one semester by moving expeditiously through the core material of Chaps through and then covering parts of Chap We will give more details about this below As a graduate course, students should have some prerequisite preparation The ideal preparation would be the kind of course that we mentioned above: an undergraduate course that introduced topics such as automata theory, formal languages, computability theory, or complexity theory We stress, however, that vii viii Preface to the First Edition 2001 there is nothing in such a course that a student needs to know before studying this text Our personal experience suggests that we cannot presume that all of our students have taken such an undergraduate course For those students who have not, we advise that they need at least some prior exposure that will have developed mathematical skills Prior courses in mathematical logic, algebra (at the level of groups, rings, or fields), or number theory, for example, would all serve this purpose Despite the diverse backgrounds of our students, we have found that graduate students are capable of learning sophisticated material when it is explained clearly and precisely That has been our goal in writing this book This book also is suitable for advanced undergraduate students who have satisfied the prerequisites It is an appropriate first course in complexity theory for students who will continue to study and work in this subject area The text begins with a preliminary chapter that gives a brief description of several topics in mathematics We included this in order to keep the book self-contained and to ensure that all students have a common notation Some of these sections simply enable students to understand some of the important examples that arise later For example, we include a section on number theory and algebra that includes all that is necessary for students to understand that primality belongs to NP The text starts properly with classical computability theory We build complexity theory on top of that Doing so has the pedagogical advantage that students learn a qualitative subject before advancing to a quantitative one Also, the concepts build from one to the other For example, although we give a complete proof that the satisfiability problem is NP-complete, it is easy for students to understand that the bounded halting problem is NP-complete, because they already know that the classical halting problem is c.e.-complete We use the terms partial computable and computably enumerable (c.e.) instead of the traditional terminology, partial recursive and recursively enumerable (r.e.), respectively We so simply to eliminate confusion Students of computer science know of “recursion” as a programming paradigm We not prove here that Turingcomputable partial functions are equivalent to partial recursive functions, so by not using that notation, we avoid the matter altogether Although the notation we are using has been commonplace in the computability theory and mathematical logic community for several years, instructors might want to advise their students that the older terminology seems commonplace within the theoretical computer science community Computable functions are defined on the set of words over a finite alphabet, which we identify with the set of natural numbers in a straightforward manner We use the term effective, in the nontechnical, intuitive sense, to denote computational processes on other data types For example, we will say that a set of Turing machines is “effectively enumerable” if its set of indices is computably enumerable Chapter concludes with a short list of topics that students should know from the chapters on computability theory before proceeding to study complexity theory We advise instructors who wish to minimize coverage of computability theory to refer to this list Typically, we not cover the second section on the recursion theorem (Sect 3.10) in a one-semester course Although we not recommend it, Preface to the First Edition 2001 ix it is possible to begin the study of complexity theory after learning the first five sections of Chap and at least part of Sect 3.9 on oracle Turing machines, Turing reductions, and the arithmetical hierarchy In Chap 5, we treat general properties of complexity classes and relationships between complexity classes These include important older results such as the space and time hierarchy theorems, as well as the more recent result of Immerman and Szelepcs´enyi that space-bounded classes are closed under complements Instructors might be anxious to get to NP-complete problems (Chap 6) and NP-hard problems (Chap 7), but students need to learn the basic results of complexity theory and it is instructive for them to understand the relationships between P, NP, and other deterministic and nondeterministic, low-level complexity classes Students should learn that nondeterminism is not well understood in general, that P =? NP is not an isolated question, and that other classes have complete problems as well (which we take up in Chap 7) Nevertheless, Chap is a long chapter Many of the results in this chapter are proved by complicated Turing-machine simulations and counting arguments, which give students great insight, but can be time-consuming to cover For this reason, instructors might be advised to survey some of this material if the alternative would mean not having sufficient time for the later chapters Homework exercises are an important part of this book They are embedded in the text where they naturally arise, and students should not proceed without working on them Many are simple exercises, whereas others are challenging Often we leave important but easy-to-prove propositions as exercises We provide additional problems at the end of chapters, which extend and apply the material covered there Once again, our intent has been to write a text that is suitable for all graduate students, that provides the right background for those who will continue to study complexity theory, and that can be taught in one semester There are several important topics in complexity theory that cannot be treated properly in a onesemester course Currently we are writing a second part to this text, which will be suitable for an optional second semester course, covering nonuniform complexity (Boolean circuits), parallelism, probabilistic classes, and interactive protocols 284 [Boo72] [Boo74] [Boo76] [Bor77] [BS85] [Chu36] [CKS81] [Coo71a] [Coo71b] [Coo73] [Coo74] [Coo79] [CR73] [CW79] [Dav65] [ESY84] [ET76] [FR74] [GHR95] [Gil77] [GJ79] [GMR89] [GMS87] [GMW86] [Gol78] [Gre88] References R Book On languages accepted in polynomial time SIAM J Comput 1(4), 281–287 (1972) R Book Tally languages and complexity classes Inform Contr 26, 186–193 (1974) R Book Translational lemmas, polynomial time, and (logn) j -space Theor Comput Sci 1, 215–226 (1976) A Borodin On relating time and space to size and depth SIAM J Comput 6, 733744 (1977) J Balcazar, U Schăoning Bi-immune sets for complexity classes Math Syst Theor 18(1), 1–10 (1985) A Church An unsolvable problem of elementary number theory Am J Math 58, 345–363 (1936) A Chandra, D Kozen, L Stockmeyer Alternation J ACM 28(1), 114–133 (1981) S Cook Characterizations of pushdown machines in terms of time-bounded computers J ACM 19, 175–183 (1971) S Cook The complexity of theorem-proving procedures In Proceedings of the Third ACM Symposium on Theory of Computing, pp 151–158, 1971 S Cook A hierarchy for nondeterministic time complexity J Comput Syst Sci 7(4), 343–353 (1973) S Cook An observation on time-storage tradeoff J Comput Syst Sci 9, 308–316 (1974) S Cook Deterministic CFL’s are accepted simultaneously in polynomial time and log squared space In Proceedings of the 11th Annual ACM Symposium on Theory of of Computing, pp 338–345, 1979 S Cook, R Reckhow Time bounded random access machines J Comput Syst Sci 7, 353–375 (1973) J Carter and M Wegman Universal classes of hash functions J Comput Syst Sci 18, 143–154 (1979) M Davis The Undecidable Raven Press, 1965 S Even, A Selman, and Y Yacobi The complexity of promise problems with applications to public-key cryptography Inform Contr 61(2), 159–173 (1984) S Even, R Tarjan A combinatorial problem which is complete in polynomial space J ACM 23, 710–719 (1976) M Fischer, M Rabin, in: Super-exponential complexity of presberger arithmetic, ed by R Karp Complexity of Computation (American Mathematical Society, Providence, RI, 1974), pp 43–73 R Greenlaw, H Hoover, W Ruzzo Limits to Parallel Computation: P-completeness Theory (Oxford University Press, New York, NY, 1995) J Gill Computational complexity of probabilistic Turing machines SIAM J Comput 6(4), 675–695 (1977) M Garey, D Johnson Computers And Intractability: A Guide To The Theory of NP-Completeness (W.H Freeman, San Francisco, 1979) S Goldwasser, S Micali, C Rackoff The knowledge complexity of interactive proof systems SIAM J Comput 18(1), 186–208 (1989) O Goldreich, Y Mansour, M Sipser Interactive proof systems: Provers that never fail and random selection In Proc 28th Annual IEEE Symposium on Foundations of Computer Science, pp 449–461, 1987 O Goldreich, S Michali, A Wigderson Proofs that yield nothing but their validity and a methodology of cryptographic protocol design In Proc 27th Annual IEEE Symposium on Foundations of Computer Science, pp 174–187, 1986 L Goldschlager A unified approach to models of synchronous parallel machines In Proc 11th Annual ACM Symp on Theory of Comput., pp 89–94, 1978 F Green On the power of deterministic reductions to C= P SIAM J Comput 17(2), 309–355 (1988) References [GS89] 285 S Goldwasser, M Sipser, in: Private coins versus public coins in interactive proof systems, ed by S Micali Randomness and Computation, Advances in Computing Research (Jai Press, 1989) [H´aj79] P H´ajek Arithmetical hierarchy and complexity of computation Theor Comput Sci 8, 227–237 (1979) [H˚as89] J H˚astad, in: Almost optimal lower bounds for small depth circuits, ed by S Micali Randomness and Computation, Advances in Computing Research, (JAI Press, Greenwich, 1989) vol 5, pp 143–170 [Hel81] H Heller Relativized Polynomial Hierarchies Extending Two Levels PhD thesis, Universităat Măunchen, 1981 [Her94] R Herken (ed.), The Universal Turing Machine: A Half-Century Survey Springer, Wien, 1994 [HHN+ 95] L Hemaspaandra et al., Nondeterministically selective sets Int J Found Comput Sci 6(4), 403–416 (1995) [HIS85] J Hartmanis, N Immerman, V Sewelson Sparse sets in NP-P: EXPTIME versus NEXPTIME Inform Contr 65, 158–181 (1985) [HLS65] J Hartmanis, P Lewis, R Stearns Hierarchies of memory limited computations In Proceedings of the Sixth Annual IEEE Symposium on Switching Circuit Theory and Logical Design, pp 179–190 (1965) [Hoc97] D Hochbaum Approximation Algorithms for NP-Hard Problems PWS Publishing Company, 1997 [Hod83] A Hodges Alan Turing: The Enigma Simon and Schuster, New York, 1983 [HPV77] J Hopcroft, W Paul, L Valiant On time versus space J ACM 24, 332–337 (1977) [HS65] J Hartmanis, R Stearns On the computational complexity of algorithms Trans Am Math Soc 117, 285–306 (1965) [HS66] F Hennie, R Stearns Two-tape simulation of multitape Turing machines J ACM 13, 533–546 (1966) [HS74] J Hartmanis, J Simon On the power of multiplication in random access machines In Proc 15th Annual IEEE Symp on Switching and Automata Theory, pp 13–23, 1974 [HU69] J Hopcroft, J Ullman Some results on tape bounded Turing machines J ACM 16, 168–188 (1969) [HU79] J Hopcroft, J Ullman Introduction to Automata Theory, Languages, and Computation Addison-Wesley, Reading, Massachusetts, 1979 [Iba72] O Ibarra A note concerning nondeterministic tape complexities J Comput Syst Sci 19(4), 609–612 (1972) [IKW01] R Impagliazzo, V Kabanets, A Widgderson In search of an easy witness: exponential time vs probabilistic polynomial time In Proceedings of the 16th Annual IEEE Conference on Computational Complexity, pp 2–12, 2001 [Imm88] N Immerman Nondeterministic space is closed under complementation SIAM J Comput 17(5), 935–938 (1988) [JK76] D Johnson, S Kashdan Lower bounds for selection in x + y and other multisets Technical Report 183, Pennsylvania State Univ., University Park, PA, 1976 [JL76] N Jones, W Laaser Complete problems for deterministic polynomial time Theor Comput Sci 3, 105–117 (1976) [Jon73] N Jones Reducibility among combinatorial problems in log n space In Proceedings of the Seventh Annual Princeton Conference on Information Sciences and Systems (Department of Electrical Engineering, Princeton University, Princeton, NJ, 1973), pp 547–551 [Jon75] N Jones Space-bounded reducibility among combinatorial problems J Comput Syst Sci 11, 68–85 (1975) [JS74] N Jones, A Selman Turing machines and the spectra of first-order formulas J Symbolic Logic 29, 139–150 (1974) 286 [Kan82] [Kar72] [KL80] [Ko82] [Ko83] [Kre88] [Kur64] [Lad75] [Lau83] [Lev73] [LFKN92] [LLS75] [Lup58] [Mag69] [Mil76] [MP79] [MS72] [Mul56] [MY78] [Myh60] [Pap84] [PF79] [Pip79] [Pos44] [Pos65] References R Kannan Circuit-size lower bounds and nonreducibility to sparse sets Inform Contr 55, 40–56 (1982) R Karp Reducibility among combinatorial problems In Complexity of Computer Computations, pp 85–104 Plenum Press, New York, 1972 R Karp, R Lipton Some connections between nonuniform and uniform complexity classes In Proceedings of the Twelfth Annual ACM Symposium on Theory of Computing, pp 302–309, 1980 An extended version has appeared in L’Enseignement Math´ematique, 2nd series 28, 1982, pp 191–209 K Ko Some observations on the probabilistic algorithms and NP-hard problems Inform Process Lett 14(1), 39–43 (1982) K Ko On self-reducibility and weak P-selectivity J Comput Syst Sci 26, 209–211 (1983) M Krentel The complexity of optimization problems J Comput Syst Sci 36, 490–509 (1988) S Kuroda Classes of languages and linear bounded automata Inform Contr 7(2), 207–223 (1964) R Ladner On the structure of polynomial time reducibility J ACM 22, 155–171 (1975) C Lautemann BPP and the polynomial hierarchy Inform Process Lett 17, 215–217 (1983) L Levin Universal sorting problems Probl Inform Transm 9, 265–266 (1973) English translation of original in Problemy Peredaci Informacii C Lund et al., in Algebraic methods for interactive proof systems J ACM 39(4), 859–868 (1992) R Ladner, N Lynch, A Selman A comparison of polynomial time reducibilities Theor Comput Sci 1, 103–123 (1975) O Lupanov A method for synthesizing circuits Izv vysshykh uchebnykh zavedenii, Radiofizika 1, 120–140 (1958) G Mager Writing pushdown acceptors J Comput Syst Sci 3(3), 276–319 (1969) G Miller Reimann’s hypothesis and tests for primality J Comput Syst Sci 13, 300–317 (1976) A Meyer and M Paterson With what frequency are apparently intractable problems difficult? Technical Report MIT/LCS/TM-126, M.I.T., 1979 A Meyer and L Stockmeyer The equivalence problem for regular expressions with squaring requires exponential space In Proceedings of the Thirteenth IEEE Symposium on Switching and Automata Theory, pp 125–129, 1972 D Muller Complexity in electronic switching circuits IRE Transactions on Electronic Computers 5, 15–19 (1956) M Machtey, P Young An Introduction to the General Theory of Algorithms The Computer Science Library, Theory of Computation Series (Elsevier North Holland, Inc., 52 Vanderbilt Ave., New York NY 10017, 1978) J Myhill Linear bounded automata WADD 60-165, Wright Patterson AFB, Ohio, 1960 C Papadimitriou On the complexity of unique solutions J ACM 31, 392–400 (1984) N Pippenger and M Fischer Relations among complexity measures J ACM 26, 361–381 (1979) N Pippenger On simultaneous resource bounds In Proceedings of the 20th Annual IEEE Symposium on Foundations of Computer Science, pp 307–311, 1979 E Post Recursively enumerable sets of integers and their decision problems Bull Am Math Soc 50, 284–316 (1944) E Post, in: Absolutely unsolvable problems and relatively undecidable propositions: Account of an anticipation, ed by M Davis The Undecidable: Basic Papers on Undecidable Propositions, Unsolvable Problems and Computable Functions (Raven Press, New York, 1965), pp 340–433 References [PPST83] [Pra75] [PS78] [PZ83] [Rab60] [Rab80] [Reg] [Rog67] [Ros67] [Ruz81] [Sav70] [Sav72] [Sch82] [Sch83] [Sch84] [Sch86] [Sch88] [Sch90] [Sel79] [Sel88] [Sel89] [SFM78] [SG77] [Sha49] [Sha92] [She92] [Sim75] [Sip78] 287 W Paul, N Pippenger, E Szemer´edi, and W Trotter On determinism and nondeterminism and related problems In Proceedings of the Twenty-fourth ACM Symposium on Theory of Computing, pp 429-438, 1983 V Pratt Every prime has a succinct certificate SIAM J Comput 4, 214–220 (1975) V Pratt, L Stockmeyer A characterization of the power of vector machines J Comput Syst Sci 12, 198–221 (1978) C Papadimitriou, S Zachos, in: Two remarks on the power of counting, ed by A Cremers, H Kriegel Proceedings of the 6th GI conference on Theoretical Computer Science (Springer-Verlag, Berlin, 1983), vol 145, pp 268–276 M Rabin Degree of difficulty of computing a function and a partial ordering of recursive sets Technical Report 2, The Hebrew University, Jerusalem, 1960 M Rabin Probabilistic algorithms for testing primality J Number Theor 12, 128– 138 (1980) K Regan Personal Communication H Rogers, Jr Theory of Recursive Functions and Effective Computability McGrawHill, New York, 1967 A Rosenberg Real-time definable languages J ACM 14, 645–662 (1967) W Ruzzo On uniform circuit complexity J Comput Syst Sci 22, 365–383 (1981) W Savitch Relationships between nondeterministic and deterministic time complexities J Comput Syst Sci 4(2), 177–192 (1970) J Savage Computational work and time on finite machines J ACM 19, 660674 (1972) U Schăoning A uniform approach to obtain diagonal sets in complexity classes Theor Comput Sci 18, 95103 (1982) U Schăoning A low and a high hierarchy within NP J Comput Syst Sci 27, 1428 (1983) U Schăoning Generalized polynomial reductions, degrees, and NP-completeness Fundamenta Informaticae 7, 7781 (1984) U Schăoning Complexity and Structure Lecture Notes in Computer Science, vol 211 (Springer-Verlag, 1986) U Schăoning Graph isomorphism is in the low hierarchy J Comput Syst Sci 37(3), 312323 (1988) U Schăoning, in: The power of counting, ed by A Selman Complexity Theory Retrospective (Springer-Verlag, 1990), pp 204–223 A Selman P-selective sets, tally languages, and the behavior of polynomial time reducibilities on NP Math Syst Theor 13, 55–65 (1979) A Selman Natural self-reducible sets SIAM J Comput 17, 989–996 (1988) A Selman, in Complexity issues in cryptography, ed by J Hartmanis Computational Complexity Theory, Proceedings of Symposia in Applied Mathematics (American Mathematical Society, 1989), vol 38, pp 92–107 J Seiferas, M Fischer, A Meyer Separating nondeterministic time complexity classes J ACM 25(1), 146–147 (1978) I Simon, J Gill Polynomial reducibilities and upward diagonalizations In Proceedings of the Ninth Annual ACM Symposium on Theory of Computing, pp 186–194, 1977 C Shannon The synthesis of two–terminal switching circuits Bell System Technical Journal 28, 59–98 (1949) A Shamir IP=PSPACE J ACM 39(4), 869–877 (1992) A Shen IP=PSPACE: Simplified proof J ACM 39(4), 878–880 (1992) J Simon On some central problems in computational complexity PhD thesis, Cornell University, 1975 M Sipser Halting space-bounded computations In Proceedings of the 19th Annual IEEE Symposium on Foundations of Computer Scienc, pp 73–74, 1978 288 [Sip82] [Sip83] [SM73] [Soa80] [SS63] [SS77] [Sti95] [Sto76] [Sze88] [Tod91] [Tur36] [Val79] [VV86] ˇ [Z83] [Wag86] [War62] [Wra76] [Yao85] References M Sipser On relativization and the existence of complete sets In Automata, Languages, and Programming, Lecture Notes in Computer Science, vol 140 (SpringerVerlag, 1982) M Sipser A complexity theoretic approach to randomness In Proceedings of the Fifteenth ACM Symposium on Theory of Computing, pp 330–335, 1983 L Stockmeyer, A Meyer Word problems requiring exponential time In Proceedings of the Fifth Annual ACM Symposium on Theory of Computing, New York, pp 1–9, 1973 R Soare Recursively Enumerable Sets and Degrees Springer-Verlag, 1980 J Shepherdson, H Sturgis Computability of recursive functions J ACM 10(2), 217–255 (1963) R Solovay, V Strassen A fast monte-carlo test for primality SIAM J Comput 6, 84–85 (1977) D Stinson Cryptography: Theory and Practice Discrete Mathematics and its Applications CRC Press, Inc., Boca Raton, Florida, 1995 L Stockmeyer The polynomial-time hierarchy Theor Comput Sci 3, 1–22 (1976) R Szelepcs´enyi The method of forced enumeration for nondeterministic automata Acta Inform 26, 279–284 (1988) S Toda PP is as hard as the polynomial-time hierarchy SIAM J Comput 20(5), 865–877 (1991) A Turing On computable numbers with an application to the entscheidungsproblem Proceedings of the London Mathematical Society 42, 230–365 (1936) L Valiant The complexity of computing the permanent SIAM J Comput 8, 189– 201 (1979) L Valiant, V Vazirani NP is as easy as detecting unique solutions Theor Comput Sci 47, 85–93 (1986) ˇ ak A Turing machine time hierarchy Theor Comput Sci 26, 327–333 (1983) S Z´ K Wagner Compact descriptions and the counting polynomial time hierarchy Acta Inform 23, 325–356 (1986) S Warshall A theorem on boolean matrices J ACM 9, 11–12 (1962) C Wrathall Complete sets and the polynomial hierarchy Theor Comput Sci 3, 23–33 (1976) A Yao Separating the polynomial-time hierarchy by oracles In Proceedings of the 26th IEEE Symposium on Foundations of Computer Science, pp 1–10, 1985 Author Index A Adleman, L., 225, 231 Agrawal, M., 231 B B´abai, L., 263, 265, 266 Balc´azar, J., 248, 249 Book, R., 71, 87, 117 Borodin, A., 209, 217 Burhman, H., 191 C Cantor, G., Carter, J., 238 Chandra, A., 202 Church, A., 23, 35 Cook, S., 115, 131, 145, 176, 209, 217 D Davis, M., 71 E Euler, 17 Even, S., 172 F Fermat, 17 Fischer, M., 93, 98, 115, 178, 185 Friedberg, 53 G Garey, M., 80, 131, 133, 142, 148 Gill, J., 143, 149, 173, 181, 182, 185, 225 Goldreich, 263 Goldschlager, L., 201 Goldwasser, S., 263, 266 Greenlaw, R., 213, 216 Greibach, S., 87 H Hartmanis, J., 77, 78, 201 H˚astad, J., 173 Heller, H., 169 Hemaspaandra, L., 190 Hennie, F., 93, 94 Herken, R., 36 Hochbaum, D., 162 Hodges, A., 36 Homer, S., ix, xi, 191 Hopcroft, J., 104, 112, 115, 178 Huang, M-D., 231 I Ibarra, O., 115 Immerman, N., 118 Impagliazzo, R., 191 J Johnson, D., 80, 131, 133, 142, 148 Jones, N., 176, 177 K Kannan, R., 191 Karp, R., 120, 169, 189, 191 Kashdan, S., 148 Kleene, 67 S Homer and A.L Selman, Computability and Complexity Theory, Texts in Computer Science, DOI 10.1007/978-1-4614-0682-2, © Springer Science+Business Media, LLC 2011 289 290 Ko, K., 253 Kozen, D., 202 Krentel, M., 169 Kuroda, S., 118 L Laaser, W., 176 Ladner, R., 153 Lagrange, 16, 20 Levin, L., 131 Lewis, P., 78 Lipton, R, 191 Lund, C., 270 M Machtey, M., 37, 39, 147 Mager, G., 79 Manders, K., 225 Merlin, 265 Meyer, A., 98, 115, 152, 176, 178, 191 Micali, S., 263 Miller, G., 98, 115, 152, 176, 178, 191, 231 Moran, S., 266 Muchnik, 53 Muller, D., 183 Myhill, J., 78 P Papadimitriou, C., 255 Paterson, M., 152 Paul, W., 92, 112 Pippenger, N., 92, 93, 185, 214 Post, E., 35, 52, 53, 71 Pratt, V., 158, 201 R Rabin, M., 178, 231 Reckhow, R., 37 Regan, K., 91 Rice, H., 58–60 Rogers, H., Jr., 71 Rosenberg, A., 87 S Savitch, W., 104 Schăoning, U., 122, 153, 158, 191, 231, 242 Seiferas, J., 98, 115 Author Index Selman, A, L., 1, 23, 41, 75, 81, 123, 145, 181, 201, 225, 247, 261 Sengupta, 190 Shamir, A., 270 Shannon, C., 183 Shen, A., 276 Shepherdson, J., 37 Simon, J., 201, 248 Simon, L., 201, 248 Sipser, M., 238, 266 Soare, R., 71 Solovay, R., 231 Stearns, R., 78, 93, 94 Stinson, D., 231 Stockmeyer, L., 161, 169, 176, 178, 201, 202 Sturgis, H., 37 Szelepcs´enyi, R., ix, 118 Szemer´edi, E., 92 T Tarjan, R., 172 Trotter, W., 92 Turing, A., 24, 36 U Ullman, J., 104, 115, 178 V Valiant, L., 248, 249 Vazirani, V., 249 Von Neumann, 23, 44 W Warshall, S., 103 Wegman, M., 238 Widgerson, A., 263 Wrathall, C., 161, 169 Y Yao, A., 173 Young, P., 37, 39 Z Zachos, S., 255 ˇ ak, S., 115 Z´ Subject Index Symbols ΣP2 , 233 P k, 162–163 , , 46 Σ Dear MyCopy Customer, ⊂ denoting proper inclusion, 111 Σ∗, #accM (x), 247 Σ0 , 63 This Springer book is a monochrome print of the eBook to which your #HAM, 248 τk ,version 47 library #P, 247 gives you access via SpringerLink.|ωIt|, 1is available to you at a subsidized #P-complete, 248 library subscribes to at leastεkone , 164Springer eBook subject collection price since your #SAT, 247 # symbol, 94 Please note that MyCopy books are only offered to library patrons with access to at ⊕, 157 A least one Springer eBook subject collection.AMyCopy books are strictly for individ⊕P, 247, 253–257 k , 164, 166 ual use248 only ⊕SAT, Aω , 170 δ, 24 Abadi, 190 ΔP k, may 161–162 ACCEPTM , 171 You cite this book by referencing the bibliographic data and/or the DOI (Digital λ, 54 Object Identifier) found in the front matter.Acceptable This bookprogramming is an exactsystem, but monochrome ≤ m, 60 Accepting, 203 copy ≤T, 60of the print version of the eBook on SpringerLink Accepting configuration, 26 log Accepts, 181 ≤m , 174–176 Adaptive group of integers, 15 ≤NP , 161 T Adjacent vertices, ≤P r-complete set, 149 Advice function, 188 ≤P r-hard set, 149 AEXP, 203 ≤P m, 129–130 AFK89, 190 ≤P m, 149 AL, 203 ≤P T, 146–147 Algebra, 10–21 ≡PT , 152 ALOGTIME, 205 φ, 28, 67 Alphabet, finite, φ (d), 19 Alternating Turing machines, 201, 202 φ (m), 18 AM, 266 φe , 44 AM [m], 265 Πk , 63 AM[poly], 265 ΠP2 , 233 Amplification, 232 ΠPk , 162–163 Amplified, 229 Π0 , 63 Ancestor, ψ A , 61 Antisymmetric binary relation, 10 ψuniv , 54 AP, 203, 275 Σ, 1, Approximation algorithm for vertex cover, 178 Σ2 , 64 S Homer and A.L Selman, Computability and Complexity Theory, Texts in Computer Science, DOI 10.1007/978-1-4614-0682-2, © Springer Science+Business Media, LLC 2011 291 292 APSPACE, 203 Arcs, Arithmetical hierarchy, 63 Arithmetization, 270 Arthur-Merlin Games, 265–266 ASPACE(S(n)), 203 A-SPACE-TIME(S(n),T(n)), 205 ATIME(T(n)), 203 Aut(G), 242 Automorphism, 242 B B, 25 Bk , 169 BΩ , 275 Balc´azar, 249 BFT98, 191 “Big-oh” notation, 83 Binary tree, Boolean circuits, 94, 181 Bounded-error probabilistic polynomial time, 231 BP·C , 239 BP·NP, 239, 241, 263 BPP, 231–237, 253–257 C Cantor-Bernstein Theorem,8 Cardinality, 8–10 same, c.e (computably enumerable), 47 c.e set creative, 72 simple, 72 Child, Chinese Remainder Theorem, 17–18 Church’s thesis, 23, 29, 35–36, 54n expanded version of, 36 CIRCUIT SAT PROBLEM (CSP), 187 CIRCUIT VALUE PROBLEM (CVP), 187 Clause, Clean segment, 95 CLIQUE, 141 NP-completeness of, 141 Clique, 34–35 Cnf formulas, 132, 133–135 CNF-SAT, 132, 133 co-C , 63 co-Σk , 64 Cobham’s thesis, 36, 75 Coding Lemma, 238–239, 243 Collision, 238 Subject Index Collision-free, 238 Communication history, 267 Communications component, 140 Commutative group, 15 Complement, Complete, 248 Complete graphs, Complete problems, 52 Complexity, concrete, 78 Complexity classes, 76–79 complements of, 118–122 complete problems for, 169–178 space-bounded, 77 standard, 78 relations between, 107, 117–122 time-bounded, 77 Complexity measures, 76 Complexity theory, 75–76 basic results of, 81–122 introduction to, 75–80 COMPOSITE NUMBER, 157–160, 231 Computability introduction to, 23–40 relative, 145–175 Computable function, 128 Computably enumerable sets, 47–50 Computation, 203 Computation tree, 33 Computes, 182 Computing, theory of, vii Concatenation, Concrete complexity, 78 Configuration, 203 Configuration of Turing machine, 25 Congruence modulo, 12 Conjunction, Conjunctive normal form, Connected graph, Converge, Cook–Levin theorem, 131–136, 167, 247, 253 Cook reducibility, 145 Cosets, 16–17 Countable sets, Countably infinite sets, C= P, 270 Creative set, 72 CVP, 210 Cycle, Cyclic group, 16 D Decidable decision problem, 41 Decidable in, 61 Subject Index Decision problems, 41–43 instance of, 41 language versus, 137n solution to, 41 Degree of vertex, Degrees, 146 DeMorgan’s laws, DEPTH, 183 Depth of vertex, Descendant, Determinacy, 36 Diagonal set, 51, 137–138 Diagonalization, 3-DIMENSIONAL MATCHING, 142 Direct connection language, 216 Directed graph (digraph), Disjunction, Disjunctive normal form, Disjunctively self-reducible set, 152 Diverge, Division algorithm, 19–20 DLBA, 78 DSPACE, 77, 83 DTIME, 77, 83 E E, 78 Edges, Effective enumeration, 45 Effectively presentable, 194 Effectively presentable class of sets, 127 Efficiently computable problems, 76 Empty block, 95 Empty set, Empty word, Encode, 187 Encodings, 42 Enumerable sets, Equivalence class modulo, 12 Equivalence of Turing machines, 29 Equivalent formulas, Error probability, 231, 233 ESAT, 270 ESPACE, 122 EUCLIDEAN ALGORITHM, 14–15, 126 Euler phi function, 17 Existential, 203 EXP, 78 Exponential time, 173–174 Extended connection language, 216 293 F Family of circuits, 182 Fermat’s corollary, 17 Fields, 11 multiplicative group of, 15 Finite alphabet, Finite control, 24 Floyd-Warshall algorithm, 103 FNC, 214, 215 FNC-reducible, 215 Full block, 95 Fully space-constructible functions, 89 Fully time-constructible functions, 89 Functional, 67 G Generalized highn , 191 Generalized lown , 191 Generator of a group, 16 GI, 242, 244 GNI, 242, 243, 263, 264, 266 Găodel number, 44 GRAPH ACCESSIBILITY PROBLEM (GAP), 125 GRAPH ISOMORPHISM, 157–160, 242 Graph non-isomorphism problem, 263–265 Graphs, 4–5 Greatest common divisor, 13 Groups, 15–17 order of, 15 H Hn , 193 HALTING PROBLEM, 50–53 HAMILTONIAN CIRCUIT, 41–42, 76 Hamiltonian circuit, 4, 142 Height of tree, HEX, 78, 172 HH, 193 HHN+ 95, 190 Highly parallel, 213 Highn , 191 History, 262 HITTING SET I Immerman-Szelepcs´enyi theorem, 118–122 Inclusion relationships, 99–108 Index set, 58–59 Index tape, 205 294 Induced subgraphs, Inherently sequential, 216 INITIALM , 171 Input nodes, 181 Instantaneous description, 26 Integers, additive group of, 15 Integral domain, 13 Interactive proof systems, 261–282 Invertible function, 144 IP, 262 IP [m], 263 K K, 51, 137 K (ω ) , 73 KA , 62 K-adic representation, 2–3 K(1) (A), 194 K(n+1) (A), 194 k constant, 140 k tracks, 31, 90 Kan82, 191 Karp, 189 Karp reducibility, 129 Karp–Lipton, 190, 198 KL80, 189 Kleene closure, Kleene-Mostowski arithmetical hierarchy, 63 Kth LARGEST SUBSET, 148 KW01, 191 L L, 77 L+, L∗ , L2 , 242, 244 LDC , 216 LEC , 216 Ln , 193 L#SAT , 248 Lagrange’s theorem, 16–17, 20 Lambda calculus, 35 Language(s), powers of, problem versus, 137n Las Vegas, 226 LBA, 78, 84 Leaf, 33 Least fixed point, 68 Length of a protocol, 262 Length of the game, 265 Length of word, Subject Index LH, 193 “Limit” function, 68 Line names, 37 Linear compression and speedup, 82–89 Linear order, 10 Linear speedup, 84–87 Linearly ordered set, 10 Lipton, 189, 191 Literals, “Little-oh” notation, 82 Logarithmic space, 174–177 Logic, propositional, 5–7 Logspace-computable function, 174 Logspace reducibility, 175 Logspace transducer, 175 Logspace uniform, 209 Logspace uniformity, 223 Lown , 191 Lup58, 183 M M () , 165 MA, 266 MA [m], 265 Machine-dependent property, 59 Majorize, 123 Many-one complete language, 52 Many-one reducibility, 51 Many-one reducible in polynomial time, 129 MAX subsets, 148 maxclique, 142, 143 Messages, 262 MIN subsets, 148 Monte Carlo, 226 Multiplicative group of filed, 15 Multitape Turning machines, 29–32 N N (set of natural numbers), N-SPACE-TIME, 107 NC, 214 NCi , 213 NE, 79 NESPACE, 122 NEXP, 78 Next move relation, 26 NL, 78 Nondeterminism, 76, 123–144 NP-completeness and, 122–144 Nondeterministic Turing machines, 32–36, 76, 83, 87, 127, 128, 138 Subject Index Nondeterministic Turing reducible in polynomial time, 161 Nonuniform, 182 Nonuniform complexity, 181–199 NP, 76, 78, 123–144 characterizing, 124–125 structure of, 153–161 NPA , 166 NP-complete problems, 136–142 natural, 148–142 NP-complete set, 130 NP-completeness, 129–131, 142 of CLIQUE, 141 of CNF-SAT, 132 of diagonal set, 137–138 nondeterminism and, 123–144 of 3SAT, 140, 141 of universal set, 130 of VERTEX COVER, 139 NP-hard set, 147–150 NP-hardness, 147–150 of Kth LARGEST SUBSET, 148 NSPACE, 77, 83 NTIME, 77, 83 Number theory, 17–21 O o(G), 15 Oblivious, 185 Oblivious Turing machines, 94 Off-line Turning machines, 77 On-line Turning machines, 76, 77 Operators, 239–241 Opt-VC(G), 178 Oracle, 60–67 Oracle calls, 60 Oracle Turing machines, 60–67, 129, 145, 154, 155, 161, 162, 164, 165, 172, 190, 197, 198, 245, 247, 254, 255 Order of group, 16 Ordered set, 10 Ordered tree, P P, 78, 125–126, 187 P(A), 10 P-bi-immune set, 179 P-immune set, 179 P/poly, 188, 236 PC , 47 PA , 172 Padding argument, 117 295 Pairing functions, 45 Palindromes, 205 Parallel computation, 201 Parallel computation thesis, 202 Parent, Parity counter, 25 Parity P See ⊕P Parsimonious, 247 Partial computable functions, 67 Partial computable partial function, 32 Partial configuration, 211 Partial functions, Partial order, 10 Partially ordered set, 10 PARTITION, 142 Path, PATH SYSTEM ACCESSIBILITY, 176 Perfect completeness, 264 Permanent, 248 Phi function, 17 Poly, 188 POLYLOGSPACE, 78 Polynomial-depth, 184 Polynomial hierarchy, 161–169, 233 Polynomial probabilistic time, 226 Polynomial ring, 19 Polynomial size, 184 Polynomial time, 174–177 many-one reducible in, 129 nondeterministic Turning reducibility in, 127, 128 Turing reducible in, 151 Polynomial-time verifier, 125 Polynomials, 19–21 Post’s problem, 51 Powers of language, PP, 226, 247 PRAMS, 201 Prefix of word, Presberger arithmetic, 178 PRIMALITY, 158, 159, 231 algorithm for, 159 Probabilistic algorithms, 225 Probabilistic method, 237 Probabilistic polynomial-time Turning machines, 143 Probabilistic Turing machine, 225 PROGRAM TERMINATION, 43–45 Programming system, 54 acceptable, 54 universal, 54 Promise problem, 179, 250 Proof, 124 296 Subject Index Q Q, 11 Quasi-real time, 87 Query configuration, 65 Riemann hypothesis, extended, 158 Rings, 10–15 Root of polynomial, 19 of tree, 33 Rounds, 262 RP, 229–231 RPn , 192 RPn -hard for NP, 192 R R, C 239 r-degrees, 146 RAMs See Random access machine (RAMs) Random access, 205 Random access machines (RAMs), 36–40 equivalence with Turing machines, 40 Random hash function, 237, 251 Randomized polynomial time, 229 Randomly chosen hash functions, 237–241, 251 Randomness, 225 range(f), 47 REACH, 119 Real time, 87 Realized, 181 Realizes, 181 Reasonable encodings, 42 Recognizes, 182 Recursion theorem, 56–58, 67–70 Recursive definition, 68 Reducibility, 147 Cook, 145 Karp, 129 logspace, 175 many-one, 51 in polynomial time, 128 self-, 152 Turing in polynomial time, 60, 145 nondeterministic, 162 Reduction method, 52 Reduction procedure, 60, 151 adaptive, 60 Reflexive binary relation, 10 Rejecting configuration, 26 Relative computability, 145–179 Relatively prime, 13, 14 Relatively prime integers, 14 RELPRIME, 125 Rice’s theorem, 58–60 S S(n), 77, 89 S-m–n theorem, 53–56 Satisfaction-testing component, 140 SATISFLABILITY (SAT), 132 Satisfiable formulas, Savitch’s theorem, 104 Schăoning, U., 191 Search problems, 150152 Segments, 95 Self-reducibility, 152 Self-reducible set, 152 Separation results, 109–113 sharp P, 247 sim procedure, 95 SIMDAG, 201 Simple path, Simple set, 72 Simultaneous simulation, 90–92 Sipser’s theorem, 118 SIZE, 183 Solution, 250 Solution to decision problem, 41 Solves, 250 Space-bounded complexity classes, 77 Space-bounded Turing machines, 77 Space-constructible functions, 89 Space complexity, 77 Space compression theorem, 93 Space compression, with tape reduction, 83 Space hierarchy theorem, 110–112 Sparse set, 179 Standard complexity classes, 78 relations between, 107, 117–122 ?-States, 225 0-States, 225 1-States, 225 Strongly connected digraph, Subgraphs, Subtree, Suffix of word, Symbols, Proper inclusion symbol, 111 Propositional formulas, 5, 6–8 Protocol, 261 PSPACE, 78, 170–174, 267, 275 Subject Index T 3SAT, 138 T (n), 86 Tally string, 116 Tape reduction, 93–99 space compression with, 83–84 TARGET, 119 Tautology, TEST algorithm, 45 Time-bounded complexity classes, 77 Time-bounded Turing machines, 77 Time complexity, 76 Time-constructible functions, 91 Time hierarchy theorem, 110, 112–113 Toda’s, 249 Toda’s Theorem, 253–260 Total computable partial function, 28 TQBF See True Quantified Boolean Formulas (TQBF) Transducers, 79 Transition function, 24 Transitive binary relation, 10 Translation techniques and padding, 113–116 Tree, height of, True Quantified Boolean Formulas (TQBF), 274–275 Truth-assignment, Truth-setting component, 140 Truth-table, Turing-machine-acceptable, 27 Turing-machine concepts, 26–28 Turing-machine-decidable, 27 Turing-machine transducer, 79 Turing machines, 24–26 diagram, 24 equivalence of, 29 multitape, 29–31 nondeterministic, 32–35 oblivious, 93 off-line, 77 on-line, 77 oracle, 60, 145–146 probabilistic polynomial-time, 143 random access machines equivalence with, 36 space-bounded, 77 time-bounded, 76 universal, 44 variations of, 28–35 Turing reducibility, 60, 146 Turing reducible in polynomial time, 60, 146 nondeterministic, 160 Turnstile, 26 297 U U, 44 UBC -uniform, 217 UD -uniform, 216 UE∗ -uniform, 217 UE -uniform, 217 UEXP , 174 UNEXP , 174 U, 134 UP , 176 UDEPTH(T(n)), 209 Unary connective, Undecidability, 41–73 Undecidable decision problem, 41 Undecidable problems, 43–45 Undetermined, 225 Uniform families of circuits, 201, 209–213 Uniformity conditions, 216–219 Unique-SAT, 250 Unique satisfiability, 249 UNIT RESOLUTION, 179 Universal, 203 2-Universal, 251 Universal programming system, 54 Universal set for NP, 130 Universal Turing machine, 44 USIZE(S(n)), 209 V Valid formula, VAR(F), Verifier, 124, 261 VERTEX COVER, 139–142 approximation algorithm for, 178 Vertices, W We , 50 Witness, 124 Word, empty, length of, X XA , 226 298 Y Yes-biased Monte Carlo algorithms, 229 Z Z, 11 Subject Index Zm , 12 Z p , 13 Zero-error probabilistic polynomial time, 230 ZPP, 230–231 ... the basic results of complexity theory and it is instructive for them to understand the relationships between P, NP, and other deterministic and nondeterministic, low-level complexity classes Students... should know from the chapters on computability theory before proceeding to study complexity theory We advise instructors who wish to minimize coverage of computability theory to refer to this list... number theory and algebra that includes all that is necessary for students to understand that primality belongs to NP The text starts properly with classical computability theory We build complexity