Limits of Computation: An Introduction to the Undecidable and the Intractable (Hardback) book cover

Limits of Computation

An Introduction to the Undecidable and the Intractable

By Edna E. Reiter, Clayton Matthew Johnson

© 2012 – Chapman and Hall/CRC

279 pages | 79 B/W Illus.

Purchasing Options:$ = USD
Hardback: 9781439882061
pub: 2012-10-29
eBook (VitalSource) : 9781439882078
pub: 2012-10-29
from $44.08

FREE Standard Shipping!
e–Inspection Copy


Limits of Computation: An Introduction to the Undecidable and the Intractable offers a gentle introduction to the theory of computational complexity. It explains the difficulties of computation, addressing problems that have no algorithm at all and problems that cannot be solved efficiently.

The book enables readers to understand:

  • What does it mean for a problem to be unsolvable or to be NP-complete?
  • What is meant by a computation and what is a general model of a computer?
  • What does it mean for an algorithm to exist and what kinds of problems have no algorithm?
  • What problems have algorithms but the algorithm may take centuries to finish?

Developed from the authors’ course on computational complexity theory, the text is suitable for advanced undergraduate and beginning graduate students without a strong background in theoretical computer science. Each chapter presents the fundamentals, examples, complete proofs of theorems, and a wide range of exercises.


"… a very basic, reader friendly introduction to computational complexity theory. What sets their book apart from others on the topic is its leisurely pace. … Because the book is so readable, it is likely that its primary audience will include students who experienced difficulties with other books on the topic. However, those students would probably benefit from more exercises than this volume provides, especially full solutions, at least for some exercises. Highly recommended. Lower-division undergraduates.

—M Bona, University of Florida in CHOICE Magazine, June 2013

"This excellent book on DSNs has a wealth of information for researchers, engineers, and scientists. It could be used as a textbook for graduate-level and doctoral courses on DSNs, and would also serve as a reference for engineers, scientists, and researchers working in this field."

Computing Reviews, April 2013

Table of Contents

Set Theory

Sets—Basic Terms



Counting Arguments and Diagonalization

Languages: Alphabets, Strings, and Languages

Alphabets and Strings

Operations on Strings

Operations on Languages


Computational Problems

Decision Problems

Traveling Salesman Problem

Algorithms: A First Look


Efficiency in Algorithms

Counting Steps in an Algorithm


Useful Theorems

Properties of O Notation

Finding O: Analyzing an Algorithm

Best and Average Case Analysis

Tractable and Intractable

Turing Machines


The Turing Machine Model

Formal Definition of Turing Machine

Configurations of Turing Machines


Some Sample Turing Machines

Turing Machines: What Should I Be Able to Do?


Other Versions of Turing Machines

Turing Machines to Evaluate a Function

E numerating Turing Machines

The Church–Turing Thesis

A Simple Computer

Encodings of Turing Machines

Universal Turing Machine


Introduction and Overview

Self-Reference and Self-Contradiction in Computer Programs

Cardinality of the Set of All Languages over an Alphabet

Cardinality of the Set of All Turing Machines

Construction of the Undecidable Language ACCEPTTM

Undecidability and Reducibility

Undecidable Problems: Other Examples


Reducibility and Language Properties

Reducibility to Show Undecidability

Rice’s Theorem (a Super-Theorem)

Undecidability: What Does It Mean?

Post Correspondence Problem

Context-Free Grammars

Classes NP and NP-Complete

The Class NP (Nondeterministic Polynomial)

Definition of P and NP

Polynomial Reducibility



Intractable and Tractable—Once Again

A First NP-Complete Problem: Boolean Satisfiability

Cook–Levin Theorem: Proof


More NP-Complete Problems

Adding Other Problems to the List of Known NP-Complete Problems

Reductions to Prove NP-Completeness

Graph Problems

Vertex Cover: The First Graph Problem

Other Graph Problems

Hamiltonian Circuit (HC)

Eulerian Circuits (an Interesting Problem in P)

Three-Dimensional Matching (3DM)

Subset Sum

Summary and Reprise

Other Interesting Questions and Classes


Number Problems

Complement Classes

Open Quest ions

Are There Any Problems in NP-P But Not NP-Complete?


Reachable Configurations


A PSPACE Complete Problem

Other PSPACE-Complete Problems

The Class EXP

Space Restrictions

Approaches to Hard Problems in Practice




Exercises appear at the end of each chapter.

About the Authors

Edna E. Reiter, Ph.D., is the current Chair of the Department of Mathematics and Computer Science at California State University, East Bay (CSUEB). Her research interests include noncommutative ring theory and theoretical aspects of computer science.

Clayton Matthew Johnson, Ph.D., is the graduate coordinator for all M.S. students and the incoming Chair of the Department of Mathematics and Computer Science at CSUEB. His research interests include genetic algorithms and machine learning.

Drs. Reiter and Johnson developed the subject matter for the CSUEB Computation and Complexity course, which is required for all students in the computer science M.S. program. The course covers the hard problems of computer science—those that are intractable or undecidable. The material in this book has been tested on multiple sections of CSUEB students.

Subject Categories

BISAC Subject Codes/Headings:
COMPUTERS / Information Theory