Introduction to the Theory of Computation

  • ISBN13:


  • ISBN10:


  • Format: Hardcover
  • Copyright: 1996-12-13
  • Publisher: Cengage Learning
  • View Upgraded Edition

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $192.95 Save up to $162.64
  • Rent Book $36.37
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The Used and Rental copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


This highly anticipated revision of Michael Sipser's popular text builds upon the strengths of the previous edition. It tells the fascinating story of the theory of computation-a subject with beautiful results and exciting unsolved questions at the crossroads of mathematics and computer science. Sipser's candid, crystal-clear style allows students at every level to understand and enjoy this field. His innovative "proof idea" sections reveal the intuition underpinning the formal proofs of theorems by explaining profound concepts in plain English. The new edition incorporates many improvements students and professors have suggested over the years and offers completely updated, classroom-tested problem sets with sample solutions at the end of each chapter. Book jacket.

Author Biography

Michael Sipser is the head of the Mathematics Department. He enjoys teaching and pondering the many mysteries of complexity theory

Table of Contents

Preface to the First Editionp. xi
To the studentp. xi
To the educatorp. xii
The first editionp. xiii
Feedback to the authorp. xiii
Acknowledgmentsp. xiv
Preface to the Second Editionp. xvii
Introductionp. 1
Automata, Computability, and Complexityp. 1
Complexity theoryp. 2
Computability theoryp. 2
Automata theoryp. 3
Mathematical Notions and Terminologyp. 3
Setsp. 3
Sequences and tuplesp. 6
Functions and relationsp. 7
Graphsp. 10
Strings and languagesp. 13
Boolean logicp. 14
Summary of mathematical termsp. 16
Definitions, Theorems, and Proofsp. 17
Finding proofsp. 17
Types of Proofp. 21
Proof by constructionp. 21
Proof by contradictionp. 21
Proof by inductionp. 22
Exercises, Problems, and Solutionsp. 25
Automata and Languagesp. 29
Regular Languagesp. 31
Finite Automatap. 31
Formal definition of a finite automatonp. 35
Examples of finite automatap. 37
Formal definition of computationp. 40
Designing finite automatap. 41
The regular operationsp. 44
Nondeterminismp. 47
Formal definition of a nondeterministic finite automatonp. 53
Equivalence of NFAs and DFAsp. 54
Closure under the regular operationsp. 58
Regular Expressionsp. 63
Formal definition of a regular expressionp. 64
Equivalence with finite automatap. 66
Nonregular Languagesp. 77
The pumping lemma for regular languagesp. 77
Exercises, Problems, and Solutionsp. 82
Context-Free Languagesp. 99
Context-free Grammarsp. 100
Formal definition of a context-free grammarp. 102
Examples of context-free grammarsp. 103
Designing context-free grammarsp. 104
Ambiguityp. 105
Chomsky normal formp. 106
Pushdown Automatap. 109
Formal definition of a pushdown automatonp. 111
Examples of pushdown automatap. 112
Equivalence with context-free grammarsp. 115
Non-context-free Languagesp. 123
The pumping lemma for context-free languagesp. 123
Exercises, Problems, and Solutionsp. 128
Computability Theoryp. 135
The Church-Turing Thesisp. 137
Turing Machinesp. 137
Formal definition of a Turing machinep. 139
Examples of Turing machinesp. 142
Variants of Turing Machinesp. 148
Multitape Turing machinesp. 148
Nondeterministic Turing machinesp. 150
Enumeratorsp. 152
Equivalence with other modelsp. 153
The Definition of Algorithmp. 154
Hilbert's problemsp. 154
Terminology for describing Turing machinesp. 156
Exercises, Problems, and Solutionsp. 159
Decidabilityp. 165
Decidable Languagesp. 166
Decidable problems concerning regular languagesp. 166
Decidable problems concerning context-free languagesp. 170
The Halting Problemp. 173
The diagonalization methodp. 174
The halting problem is undecidablep. 179
A Turing-unrecognizable languagep. 181
Exercises, Problems, and Solutionsp. 182
Reducibilityp. 187
Undecidable Problems from Language Theoryp. 188
Reductions via computation historiesp. 192
A Simple Undecidable Problemp. 199
Mapping Reducibilityp. 206
Computable functionsp. 206
Formal definition of mapping reducibilityp. 207
Exercises, Problems, and Solutionsp. 211
Advanced Topics in Computability Theoryp. 217
The Recursion Theoremp. 217
Self-referencep. 218
Terminology for the recursion theoremp. 221
Applicationsp. 222
Decidability of logical theoriesp. 224
A decidable theoryp. 227
An undecidable theoryp. 229
Turing Reducibilityp. 232
A Definition of Informationp. 233
Minimal length descriptionsp. 234
Optimality of the definitionp. 238
Incompressible strings and randomnessp. 239
Exercises, Problems, and Solutionsp. 242
Complexity Theoryp. 245
Time Complexityp. 247
Measuring Complexityp. 247
Big-O and small-o notationp. 248
Analyzing algorithmsp. 251
Complexity relationships among modelsp. 254
The Class Pp. 256
Polynomial timep. 256
Examples of problems in Pp. 258
The Class NPp. 264
Examples of problems in NPp. 267
The P versus NP questionp. 269
NP-completenessp. 271
Polynomial time reducibilityp. 272
Definition of NP-completenessp. 276
The Cook-Levin Theoremp. 276
Additional NP-complete Problemsp. 283
The vertex cover problemp. 284
The Hamiltonian path problemp. 286
The subset sum problemp. 291
Exercises, Problems, and Solutionsp. 294
Space Complexityp. 303
Savitch's Theoremp. 305
The Class PSPACEp. 308
PSPACE-completenessp. 309
The TQBF problemp. 310
Winning strategies for gamesp. 313
Generalized geographyp. 315
The Classes L and NLp. 320
NL-completenessp. 323
Searching in graphsp. 325
NL equals coNLp. 326
Exercises, Problems, and Solutionsp. 328
Intractabilityp. 335
Hierarchy Theoremsp. 336
Exponential space completenessp. 343
Relativizationp. 348
Limits of the diagonalization methodp. 349
Circuit Complexityp. 351
Exercises, Problems, and Solutionsp. 360
Advanced topics in complexity theoryp. 365
Approximation Algorithmsp. 365
Probabilistic Algorithmsp. 368
The class BPPp. 368
Primalityp. 371
Read-once branching programsp. 376
Alternationp. 380
Alternating time and spacep. 381
The Polynomial time hierarchyp. 386
Interactive Proof Systemsp. 387
Graph nonisomorphismp. 387
Definition of the modelp. 388
IP = PSPACEp. 390
Parallel Computationp. 399
Uniform Boolean circuitsp. 400
The class NCp. 402
P-completenessp. 404
Cryptographyp. 405
Secret keysp. 405
Public-key cryptosystemsp. 407
One-way functionsp. 407
Trapdoor functionsp. 409
Exercises, Problems, and Solutionsp. 411
Selected Bibliographyp. 415
Table of Contents provided by Ingram. All Rights Reserved.

Rewards Program

Write a Review