1st Edition

Limits of Computation An Introduction to the Undecidable and the Intractable

    279 Pages 79 B/W Illustrations
    by Chapman & Hall

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


    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.

    "… 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