Taking a practical approach, this modern introduction to the theory of computation focuses on the study of problem solving through computation in the presence of realistic resource constraints. The Theory of Computation explores questions and methods that characterize theoretical computer science while relating all developments to practical issues in computing. The book establishes clear limits to computation, relates these limits to resource usage, and explores possible avenues of compromise through approximation and randomization. The book also provides an overview of current areas of research in theoretical computer science that are likely to have a significant impact on the practice of computing within the next few years.
Sprache
Verlagsort
Verlagsgruppe
Zielgruppe
Für höhere Schule und Studium
Maße
Höhe: 165 mm
Breite: 240 mm
Dicke: 24 mm
Gewicht
ISBN-13
978-0-201-25828-8 (9780201258288)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Klassifikation
Bernard Moret is a Professor of Computer Science at the University of New Mexico. He received his Ph.D. in Electrical Engineering from the University of Tennessee. Dr. Moret received the University's Graduate Teacher of the Year award, the College of Engineering's Teaching Excellence award, and the Students' Faculty Recognition award. He is the Editor-in-Chief of the ACM Journal of Experimental Algorithmics. In this capacity and through his research, he has worked to bridge the gap between theory and applications, emphasizing the need for grounding theoretical developments upon problems of practical importance. Dr. Moret also co-authored Algorithms from P to NP, Volume I: Design and Efficiency, published by Addison-Wesley in 1991.
0201258285AB04062001
(Each chapter concludes with Exercises and a Bibliography.)
1. Introduction.
Motivation and Overview.
History.
2. Preliminaries.
Numbers and their Representation.
Problems, Instances, and Solutions.
Asymptotic Notation.
Graphs.
Alphabets, Strings, and Languages.
Functions and Infinite Sets.
Pairing Functions.
Cantor's Proof: the Technique of Diagonalization.
Implications for Computability.
3. Finite Automata and Regular Languages.
Introduction.
States and Automata.
Finite Automata as Language Acceptors.
Determinism and Nondeterminism.
Checking vs. Computing.
Properties of Finite Automata.
Equivalence of Finite Automata.
Epsilon Transitions.
Regular Expressions.
Definitions and Examples.
Regular Expressions and Finite Automata.
Regular Expressions from Deterministic Finite Automata.
The Base Case.
The Inductive Step.
Completing the Proof.
Reviewing the Construction of Regular Expressions from Finite Automata.
The Pumping Lemma and Closure Properties.
The Pumping Lemma.
Closure Properties of Regular Languages.
Ad Hoc Closure Properties.
Conclusion.
4. Universal Models of Computation.
Encoding Instances.
Choosing a Model of Computation.
Issues of Computability.
The Turing Machine.
Multitape Turing Machines.
The Register Machine.
Translation Between Models.
Model Independence.
Turing Machines as Enumerators and Acceptors.
5. Computability Theory.
Primitive Recursive Functions.
Defining Primitive Recursive Functions.
Ackermann's Function and the Grzegorczyk Hierarchy.
Partial Recursive Functions.
Arithmetization: Encoding a Turing Machine.
Programming Systems.
Recursive and R.E. Sets.
Rice's Theorem and the Recursion Theorem.
Degrees of Unsolvability.
6. Complexity Theory: Foundations.
Reductions.
Reducibility Between Problems.
Reductions and Complexity Classes.
Classes of Complexity.
Hierarchy Theorems.
Model-Independent Complexity Classes.
Deterministic Complexity Classes.
Certificates and Nondeterminism.
Complete Problems.
NP-Completeness: Cook's Theorem.
Space Completeness.
Polynomial Space.
Polylogarithmic Space.
Provably Intractable Problems.
7. Proving Problems Hard.
Some Important NP-Complete Problems.
Some P-Completeness Proofs.
From Decision to Optimization and Enumeration.
Turing Reductions and Search Problems.
The Polynomial Hierarchy.
Enumeration Problems.
8. Complexity Theory in Practice.
Circumscribing Hard Problems.
Restrictions of Hard Problems.
Promise Problems.
Strong NP-Completeness.
The Complexity of Approximation.
Definitions.
Constant-Distance Approximations.
Approximation Schemes.
Fixed-Ratio Approximations and the Class OptNP.
No Guarantee Unless P equals NP.
The Power of Randomization.
9. Complexity Theory: The Frontier.
Introduction.
The Complexity of Specific Instances.
Average-Case Complexity.
Parallelism and Communication.
Parallelism.
Models of Parallel Computation.
When Does Parallelism Pay?
Communication and Complexity.
Interactive Proofs and Probabilistic Proof Checking.
Interactive Proofs.
Zero-Knowledge Proofs.
Probabilistically Checkable Proofs.
Complexity and Constructive Mathematics.
References.
A. Proofs.
Quod Erat Demonstrandum, or What is a Proof?
Proof Elements.
Proof Techniques.
Construction: Linear Thinking.
Contradiction: Reductio ad Absurdum.
Induction: the Domino Principle.
Diagonalization: Putting it all Together.
How to Write a Proof.
Practice. 0201258285T04062001