Fundamental theorems are arrived at as generalizations of examples. Ex.___
Explains pattern matching, parsing, and helps to identify unsolvable problems. Ex.___
Provides students ample opportunity to apply concepts. Ex.___
Enhance understanding. Ex.___
Allows readers to calibrate the mathematical depth they want to pursue. Ex.___
This book focuses on fundamental issues of computation. The readers can master the content and gain lasting perspective from which to understand computers by carefully worked out examples, illustrations, and algorithmic proofs. KEY TOPICS: Teaches the fundamental concepts behind computation. Hundreds of exercises marked according to the level of difficulty provide readers ample opportunity to apply concepts. Hundreds of illustrations which enhance understanding. Only algorithmic proofs are given in the text allowing readers to calibrate the mathematical depth they want to pursue. MARKET: Appropriate for upper division undergraduate and graduate level courses in Computer Science Theory, Theory of Computation, and Automata and Formal Language Theory.
(NOTE: Each chapter concludes with Exercises.)
Why Study the Theory of Computing? What Is Computation? The Contents of This Book. Mathematical Preliminaries.
Deterministic Finite Automata. Nondeterministic Finite Automata. Determinism versus Nondeterminism. Regular Expressions. Nonregular Languages. Algorithms for Finite Automata. The State Minimization Problem.
Context-Free Grammars. Parsing. Pushdown Automata. Languages and Automata. Closure Properties. Languages That Are Not Context-Free. Chomsky Normal Form. Determinism.
Definition of a Turing Machine. Computations by Turing Machines. Extensions of Turing Machines. Nondeterministic Turing Machines. Turing Enumerable Languages.
The Church-Turing Thesis. Universal Turing Machines. The Halting Problem. Undecidable Problems.
The Definition and the Class P. The Class N P. N P-Completeness.