© 2001

Computability and Complexity Theory


Part of the Texts in Computer Science book series (TCS)

Table of contents

  1. Front Matter
    Pages i-xiii
  2. Steven Homer, Alan L. Selman
    Pages 1-21
  3. Steven Homer, Alan L. Selman
    Pages 22-40
  4. Steven Homer, Alan L. Selman
    Pages 41-71
  5. Steven Homer, Alan L. Selman
    Pages 72-77
  6. Steven Homer, Alan L. Selman
    Pages 78-121
  7. Steven Homer, Alan L. Selman
    Pages 122-144
  8. Steven Homer, Alan L. Selman
    Pages 145-180
  9. Back Matter
    Pages 181-195

About this book


The theory of computing provides computer science with concepts, models, and formalisms for reasoning about both the resources needed to carry out computa­ tions and the efficiency of the computations that use these resources. lt provides tools to measure the difficulty of combinatorial problems both absolutely and in comparison with other problems. Courses in this subject help students gain an­ alytic 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 barder 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 ofNP-completeness and NP-hardness have pervaded much of science and transformed computer science. One option is to survey a large nurober of theoretical subjects, typically focusing on automata and formal languages. However, these subjects are less important to theoretical computer sci­ ence, 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. lt is better to treat important topics thoroughly than to survey the field.


Automat automata automata theory complexity complexity theory computability theory computer computer science formal language formal languages logic number theory

Authors and affiliations

  1. 1.Department of Computer ScienceBoston UniversityBostonUSA
  2. 2.Department of Computer Science and EngineeringUniversity at BuffaloBuffaloUSA

Bibliographic information


From the reviews:

"The difference between this new introductory graduate textbook in theoretical computer science and other texts is that the authors have chosen to concentrate on computability theory and computational complexity theory. They motivate this focus by pointing out that most students have been introduced to the theory of automata and formal languages as undergraduates. The topics are treated in depth and in full formal detail. Explicit homework assignments are tightly integrated into the exposition of the material." --Computing Reviews

"This book is intended for use in a modern graduate course in the theory of computing. … Mainly all old classical complexity results as well as a relatively recent result that space-bounded classes are closed under complements are included into the book. The textbook is self-contained. A list of useful homework problems is appended to each chapter. The book is well written and is recommended to students as well as specialists in theoretical computer science." (Anatoly V. Anisimov, Zentralblatt MATH, Vol. 1033 (8), 2004)

"This book is a solid textbook suited for one- or two-semester graduate courses on the theory of computing. …The authors are two leading researchers in the field of theoretical computer sciences, most notably complexity theory. … This textbook is an excellent resource and guide for those looking to develop a solid grounding in the theory of computing. Beginning graduates, advanced undergraduates and professionals involved in theoretical computer science, complexity theory and computability will find this book an essential and practical learning tool." (André Grosse, The Computer Journal, Vol. 45 (4), 2002)