(NOTE: Each chapter concludes with Summary and References.)
1. Automata: The Methods and the Madness.
Why Study Automata Theory?Introduction to Finite
Automata.Structural Representations.Automata and
Complexity.Introduction to Formal Proof.Deduction Proofs.Reduction
to Definitions.Other Theorem Forms.Theorems That Appear Not to Be
If-Then Statements.Additional Forms of Proof.Proving Equivalences
About SetsThe Contrapositive.Proof by
Contradiction.Counterexamples.Inductive Proofs.Inductions on
Integers.More General Forms of Integer Inductions.Structural
Inductions.Mutual Inductions.The Central Concepts of Automata
TheoryAlphabets.Strings.Languages.Problems.
2. Finite Automata.
An Informal Picture of Finite Automata.The Ground Rules.The
Protocol.Enabling the Automata to Ignore Actions.The Entire System
as an Automaton.Using the Product Automaton to Validate the
Protocol.Deterministic Finite Automata.Definition of a
Deterministic Finite Automaton.How a DFA Processes Strings.Simpler
Notations for DFA's.Extending the Transition Function to
Strings.The Language of a DFAExercises for Section
2.2.Nondeterministic Finite Automata.An Informal View of
Nondeterministic Finite Automata.Definition of Nondeterministic
Finite Automata.The Extended Transition Function.The Language of an
NFA.Equivalence of Deterministic and Nondeterministic Finite
Automata.A Bad Case for the Subset Construction.Exercises for
Section 2.3.An Application: Text Search.Finding Strings in
Text.Nondeterministic Finite Automata for Text Search.A DFA to
Recognize a Set of Keywords.Exercises for Section 2.4.Finite
Automata with Epsilon-Transitions.Uses of e-Transitions.The Formal
Notation for an e-NFA.Epsilon-Closures.Extended Transitions and
Languages for e-NFA's.Eliminating e-Transitions.
3. Regular Expressions and Languages.
Regular Expressions.The Operators of Regular Expressions.Building
Regular Expressions.Precedence of Regular-Expression
Operators.Finite Automata and Regular Expressions.From DFA's to
Regular Expressions.Converting DFA's to Regular Expressions by
Eliminating States.Converting Regular Expressions to
Automata.Exercises for Section 3.2.Applications of Regular
Expressions.Regular Expressions in UNIX.Lexical Analysis.Finding
Patterns in Text.Exercises for Section 3.3.Algebraic Laws for
Regular Expressions.Associativity and Commutativity.Identities and
Annihilators.Distributive Laws.The Idempotent Law.Laws Involving
Closures.Discovering Laws for Regular Expressions.The Test for a
Regular-Expression Algebraic Law.Exercises for Section 3.4.
4. Properties of Regular Languages.
Proving Languages not to be Regular.The Pumping Lemma for Regular
Languages.Applications of the Pumping Lemma.Exercises for Section
4.1.Closure Properties of Regular Languages.Closure of Regular
Languages Under Boolean Operations.Reversal.Homomorphisms.Inverse
Homomorphisms.Exercises for Section 4.2.Decision Properties of
Regular Languages.Converting Among Representations.Testing
Emptiness of Regular Languages.Testing Membership in a Regular
Language.Exercises for Section 4.3.Equivalence and Minimization of
Automata.Testing Equivalence of States.Testing Equivalence of
Regular Languages.Minimization of DFA's.Why the Minimized DFA Can't
Be Beaten.Exercises for Section 4.4.
5. Context-Free Grammars and Languages.
Context-Free Grammars.An Informal Example.Definition of
Context-Free Grammars.Derivations Using a Grammar.Leftmost and
Rightmost Derivations.The Language of a Grammar.Sentential
Forms.Exercises for Section 5.1.Parse Tress.Constructing Parse
Trees.The Yield of a Parse Tree.Inference, Derivations, and Parse
Trees.From Inferences to Trees.From Trees to Derivations.From
Derivations to Recursive Inferences.Exercises for Section
5.2.Applications of Context-Free Grammars.Parsers.The YACC
Parser-Generator.Markup Languages.XML and Document-Type
Definitions.Exercises for Section 5.3.Ambiguity in Grammars and
Languages.Ambiguous Grammars.Removing Ambiguity From
Grammars.Leftmost Derivations as a Way to Express
Ambiguity.Inherent Ambiguity.Exercises for Section 5.4.
6. Pushdown Automata.
Definition of the Pushdown Automaton.Informal Introduction.The
Formal Definition of Pushdown Automata.A Graphical Notation for
PDA's.Instantaneous Descriptions of a PDA.Exercises for Section
6.1.The Languages of a PDA.Acceptance by Final State.Acceptance by
Empty Stack.From Empty Stack to Final State.From Final State to
Empty Stack.Exercises for Section 6.2.Equivalence of PDA's and
CFG's.From Grammar to Pushdown Automata.From PDA's to
Grammars.Exercises for Section 6.3.Deterministic Pushdown
Automata.Definition of a Deterministic PDA.Regular Languages and
Deterministic PDA's.DPDA's and Context-Free Languages.DPDA's and
Ambiguous Grammars.Exercises for Section 6.4.
7. Properties of Context-Free Languages.
Normal Forms for Context-Free Grammars.Eliminating Useless
Symbols.Computing the Generating and Reachable Symbols.Eliminating
e-Productions.Eliminating Unit Productions.Chomsky Normal
Form.Exercises for Section 7.1.The Pumping Lemma for Context-Free
Languages.The Size of Parse Trees.Statement of the Pumping
Lemma.Applications of the Pumping Lemma for CFL's.Exercises for
Section 7.2.Closure Properties of Context-Free
Languages.Substitutions.Applications of the Substitution
Theorem.Reversal.Intersection With a Regular Language.Inverse
Homomorphism.Exercises for Section 7.3.Decision Properties of
CFL's.Complexity of Converting Among CFG's and PDA's.Running Time
of Conversion to Chomsky Normal Form.Testing Emptiness of
CFL's.Testing Membership in a CFL.Preview of Undecidable CFL
Problems.Exercises for Section 7.4.
8.Introduction to Turing Machines.
Problems That Computers Cannot Solve.Programs That Print “Hello,
World”.The Hypothetical “Hello, World” Tester.Reducing One Problem
to Another.Exercises for Section 8.1.The Turing Machine.The Quest
to Decide All Mathematical Questions.Notation for the Turing
Machine.Instantaneous Descriptions for the Turing
Machines.Transition Diagrams for Turing Machines.The Language of a
Turing Machine.Turing Machines and Halting.Exercises for Section
8.2.Programming Techniques for Turing Machines.Storage in the
State.Multiple Tracks.Shifting Over.Subroutines.Exercises for
Section 8.3.Extensions to the Basic Turing-Machines.Multiple Turing
Machines.Equivalence of One-Tape and Multitape TM's.Running Time of
the Many-Tapes-to-One Construction.Nondeterministic Turing
Machines.Exercises for Section 8.4.Restricted Turing MachineTuring
Machines With Semi-infinite Tapes.Multistack Machines.Counter
Machines.The Power of Counter Machines.Exercises for Section
8.5.Turing Machines and Computers.Simulating a Turing Machine by
Computer.Simulating a Computer by a Turing Machine.Comparing the
Running Times of Computers and Turing Machines.
9. Undecidability.
A Language That is Not Recursively Enumerable.Enumerating the
Binary Strings.Codes for Turing Machines.The Diagonalization
Language.Proof That Ld is Not Recursively Enumberable.Exercises for
Section 9.1.An Undecidable Problem That is RE.Recursive
Languages.Complements of Recursive and RE Languages.The Universal
Language.Undecidability of the Universal Language.Exercises for
Section 9.2.Undecidable Problems About Turing
Machines.Reductions.Turing Machines That Accept the Empty
Language.Rice's Theorem and Properties of the RE Languages.Problems
About Turing-Machine Specifications.Exercises for Section
9.3.Post's Correspondence Problem.Definition of Post's
Correspondence Problem.The “Modified” PCP.Completion of the Proof
of PCP Undecidability.Exercises for Section 9.4.Other Undecidable
Problems.Problems About Programs.Undecidability of Ambiguity for
CFG's.The Complement of a List Language.Exercises for Section
9.5.
10. Intractable Problems.
The Classes P and NP.Problems Solvable in Polynomial Time.An
Example: Kruskal's Algorithm.Nondeterministic Polynomial Time.An
$cal NP$ Example: The Traveling Salesman Problem.Polynomial-Time
Reductions.NP-Complete Problems.Exercises for Section 10.1An
NP-Complete Problem.The Satisfiability Problem.Representing SAT
Instances.NP-Completeness of the SAT Problem.Exercises for Section
10.2.A Restricted Satisfiability Problem.Normal Forms for Boolean
Expressions.Converting Expressions to CNF.NP-Completeness of
CSAT.NP-Completeness of 3SAT.Exercises for Section 10.3.Additional
NP-Complete Problems.Describing NP-Complete Problems.The Problem of
Independent Sets.The Node-Cover Problems.The Directed
Hamilton-Circuit Problem.Undirected Hamilton Circuits and the
TSP.Summary of NP-Complete Problems.Exercises for Section 10.4.
11. Additional Classes of Problems.
Complements of Languages in NP.The Class of Languages
CoNP.NP-Complete Problems and NP.Exercises for Section
11.1.Problems Solvable in Polynomial Space.Polynomial-Space Turing
Machines.Relationship of PS and NPS to Previously Defined
Classes.Deterministic and Nondeterministic Polynomial Space.A
Problem That Is Complete for PS.PS-Completeness.Quantified Boolean
Formulas.Evaluating Quantified Boolean Formulas.PS-Completeness of
the QBF Problem.Exercises for Section 11.3.Language Classes Based
on Randomized Algorithm.Quicksort: an Example of a Randomized
Algorithm.A Turing-Machine Model Using randomization.The Language
of a Randomized Turing Machine.The Class RP.Recognizing Languages
in RP.The Class ZPP.Relationship Between RP and ZPP.Relationships
to the Classes P and NP.The Complexity of Primality Testing.The
Importance of Testing Primality.Introduction to Modular
Arithmetic.The Complexity of Modular-Arithmetic
Computations.Random-Polynomial Primality Testing.Nondeterministic
Primality Tests.Exercises for Section 11.5.
Index.
Ask a Question About this Product More... |