An Inroduction to Formal Languages and Automata

Linz Peter

An Inroduction to Formal Languages and Automata English6th Peter Linz - 6th ed 2018 - New Delhi Jones & Bartlett 2018 - 449p. ; Soft Bound 16.8*23 cm

1. Introduction to the Theory of Computation
1.1. Mathematical Preliminaries and Notation
Sets
Functions and Relations
Graphs and Trees
Proof Techniques
1.2. Three Basic Concepts
Languages
Grammars
Automata
1.3. Some Applications
2. Finite Automata
2.1. Deterministic Finite Accepters
Deterministic Accepters and Transition Graphs
Languages and Dfa's
Regular Languages
2.2. Nondeterministic Finite Accepters
Definition of a Nondeterministic Accepter
Why Nondeterminism?
2.3. Equivalence of Deterministic and Nondeterministic Finite Accepters
2.4. Reduction of the Number of States in Finite Automata
3. Regular Languages and Regular Grammars
3.1. Regular Expressions
Formal Definition of a Regular Expression
Languages Associated with Regular Expressions
3.2. Connection Between Regular Expressions and Regular Languages
Regular Expressions Denote Regular Languages
Regular Expressions for Regular Languages
Regular Expressions for Describing Simple Patterns
3.3. Regular Grammars
Right- and Left-Linear Grammars
Right-Linear Grammars Generate Regular Languages
Right-Linear Grammars for Regular Languages
Equivalence of Regular Languages and Regular Grammars
4. Properties of Regular Languages
4.1. Closure Properties of Regular Languages
Closure under Simple Set Operations
Closure under Other Operations
4.2. Elementary Questions about Regular Languages
4.3. Identifying Nonregular Languages
Using the Pigeonhole Principle
A Pumping Lemma
5. Context-Free Languages
5.1. Context-Free Grammars
Examples of Context-Free Languages
Leftmost and Rightmost Derivations
Derivation Trees
Relation between Sentential Forms and Derivation Trees
5.2. Parsing and Ambiguity
Parsing and Membership
Ambiguity in Grammars and Languages
5.3. Context-Free Grammars and Programming Languages
6. Simplification of Context-Free Grammars and Normal Forms
6.1. Methods for Transforming Grammars
A Useful Substitution Rule
Removing Useless Productions
Removing [lambda]-Productions
Removing Unit-Productions
6.2. Two Important Normal Forms
Chomsky Normal Form
Greibach Normal Form
6.3. A Membership Algorithm for Context-Free Grammars
7. Pushdown Automata
7.1. Nondeterministic Pushdown Automata
Definition of a Pushdown Automaton
The Language Accepted by a Pushdown Automaton
7.2. Pushdown Automata and Context-Free Languages
Pushdown Automata for Context-Free Languages
Context-Free Grammars for Pushdown Automata
7.3. Deterministic Pushdown Automata and Deterministic Context-Free Languages
7.4. Grammars for Deterministic Context-Free Languages
8. Properties of Context-Free Languages
8.1. Two Pumping Lemmas
A Pumping Lemma for Context-Free Languages
A Pumping Lemma for Linear Languages
8.2. Closure Properties and Decision Algorithms for Context-Free Languages
Closure of Context-Free Languages
Some Decidable Properties of Context-Free Languages
9. Turing Machines
9.1. The Standard Turing Machine
Definition of a Turing Machine
Turing Machines as Language Accepters
Turing Machines as Transducers
9.2. Combining Turing Machines for Complicated Tasks
9.3. Turing's Thesis
10. Other Models of Turing Machines
10.1. Minor Variations on the Turing Machine Theme
Equivalence of Classes of Automata
Turing Machines with a Stay-Option
Turing Machines with Semi-Infinite Tape
The Off-Line Turing Machine
10.2. Turing Machines with More Complex Storage
Multitape Turing Machines
Multidimensional Turing Machines
10.3. Nondeterministic Turing Machines
10.4. A Universal Turing Machine
10.5. Linear Bounded Automata
11. A Hierarchy of Formal Languages and Automata
11.1. Recursive and Recursively Enumerable Languages
Languages That Are Not Recursively Enumerable
A Language That Is Not Recursively Enumerable
A Language That Is Recursively Enumerable but Not Recursive
11.2. Unrestricted Grammars
11.3. Context-Sensitive Grammars and Languages
Context-Sensitive Languages and Linear Bounded Automata
Relation Between Recursive and Context-Sensitive Languages
11.4. The Chomsky Hierarchy
12. Limits of Algorithmic Computation
12.1. Some Problems That Cannot Be Solved by Turing Machines
Computability and Decidability
The Turing Machine Halting Problem
Reducing One Undecidable Problem to Another
12.2. Undecidable Problems for Recursively Enumerable Languages
12.3. The Post Correspondence Problem
12.4. Undecidable Problems for Context-Free Languages
12.5. A Question of Efficiency
13. Other Models of Computation
13.1. Recursive Functions
Primitive Recursive Functions
Ackermann's Function
[micro] Recursive Functions
13.2. Post Systems
13.3. Rewriting Systems
Matrix Grammars
Markov Algorithms
L-Systems
14. An Overview of Computational Complexity
14.1. Efficiency of Computation
14.2. Turing Machine Models and Complexity
14.3. Language Families and Complexity Classes
14.4. The Complexity Classes P and NP
14.5. Some NP Problems
14.6. Polynomial-Time Reduction
14.7. NP-Completeness and an Open Question
Answers
References
Index

978-93-84323-21-9

005.131 / LIN

Copyright(C) 2015, All rights reserved by Tetso College