eBook

- 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 www.crcpress.com

**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.

**Set Theory **Sets—Basic Terms

Functions

Cardinalities

Counting Arguments and Diagonalization

**Languages: Alphabets, Strings, and Languages **Alphabets and Strings

Operations on Strings

Operations on Languages

**Algorithms **Computational Problems

Decision Problems

Traveling Salesman Problem

Algorithms: A First Look

History

Efficiency in Algorithms

Counting Steps in an Algorithm

Definitions

Useful Theorems

Properties of

Finding

Best and Average Case Analysis

Tractable and Intractable

**Turing Machines **Overview

The Turing Machine Model

Formal Definition of Turing Machine

Configurations of Turing Machines

Terminology

Some Sample Turing Machines

Turing Machines: What Should I Be Able to Do?

**Turing-Completeness **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

**Undecidability **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 ACCEPT

**Undecidability and Reducibility **Undecidable Problems: Other Examples

Reducibility

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

Definition of

Polynomial Reducibility

Properties

Completeness

Intractable and Tractable—Once Again

A First

Cook–Levin Theorem: Proof

Conclusion

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

Reductions to Prove

Graph Problems

Vertex Cover: The First Graph Problem

Other Graph Problems

Hamiltonian Circuit (HC)

Eulerian Circuits (an Interesting Problem in

Three-Dimensional Matching (3DM)

Subset Sum

Summary and Reprise

**Other Interesting Questions and Classes **Introduction

Number Problems

Complement Classes

Open Quest ions

Are There Any Problems in

Reachable Configurations

A

Other

The Class EXP

Space Restrictions

Approaches to Hard Problems in Practice

Summary

**Bibliography**

**Index**

*Exercises appear at the end of each chapter.*

**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.

Resource | OS Platform | Updated | Description | Instructions |
---|---|---|---|---|

PPTSlides.zip | Cross Platform | November 29, 2012 | PowerPoint Slides |