Limits of Computation

Limits of Computation: An Introduction to the Undecidable and the Intractable

Free Standard Shipping

Purchasing Options

ISBN 9781439882061
Cat# K13878
Add to cart
eBook (VitalSource)
$93.95 $65.77
ISBN 9781439882078
Cat# KE14034
Add to cart
SAVE 30%
eBook Rentals
Other eBook Options:


  • Helps readers understand the nature of computation
  • Focuses on the two main questions of theoretical computer science
  • Presents complete proofs of many NP-complete problems
  • Provides in-depth discussions of difficult topics, such as different sizes of infinity, reducibility, and self-reference
  • Describes Turing machines from state diagrams to encodings
  • Assumes no prior knowledge of automata, advanced algorithmic analysis, and formal languages
  • Includes numerous exercises at the end of each chapter
  • Offers PowerPoint slides for download at


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.

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.

Author Bio(s)

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.

Downloads Updates

Resource OS Platform Updated Description Instructions Cross Platform November 29, 2012 PowerPoint Slides

Recommended For You

Other CRC Press Sites
Featured Authors
Facebook Page for CRC Press Twitter Page for CRC Press You Tube Channel for CRC Press LinkedIn Page for CRC Press Google Plus Page for CRC Press
Sign Up for Email Alerts
© 2014 Taylor & Francis Group, LLC. All Rights Reserved. Privacy Policy | Cookie Use | Shipping Policy | Contact Us