Introduction to Automata Theory, Languages, and Computations

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This classic book on formal languages, automata theory, and computational complexity has been updated to present theoretical concepts in a concise and straightforward manner with the increase of hands-on, practical applications. This new edition comes with Gradiance, an online assessment tool developed for computer science. Gradiance is the most advanced online assessment tool developed for the computer science discipline. With its innovative underlying technology, Gradiance turns basic homework assignments and programming labs into an interactive learning experience for students. By using a series of “root questions” and hints, it not only tests a student’s capability, but actually simulates a one-on-one teacher-student tutorial that allows for the student to more easily learn the material. Through the programming labs, instructors are capable of testing, tracking, and honing their students’ skills, both in terms of syntax and semantics, with an unprecedented level of assessment never before offered.

Author(s): John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman
Edition: 3rd
Publisher: Prentice Hall
Year: 2006

Language: English
Pages: 550

Table of Contents
Chapter 1 - Automata: The Methods and the Madness
1.1 Why Study Automata Theory
1.2 Introduction to Formal Proof
1.3 Additional Forms of Proof
1.4 Inductive Proofs
1.5 The Central Concepts of Automata Theory
1.6 Summary of Chapter 1
1.7 Gradiance Problems for Chapter 1
1.8 References for Chapter 1

Chapter 2 - Finite Automata
2.1 An Informal Picture of Finite Automata
2.2 Deterministic Finite Automata
2.3 Nondeterministic Finite Automata
2.4 An Application_ Text Search
2.5 Finite Automata With EpsilonTransitions
2.6 Summary of Chapter 2
2.7 Gradiance Problems for Chapter 2
2.8 References for Chapter 2

Chapter 3 - Regular Expressions and Languages
3.1 Regular Expressions
3.2 Finite Automata and Regular Expressions
3.3 Applications of Regular Expressions
3.4 Algebraic Laws for Regular Expressions
3.5 Summary of Chapter 3
3.6 Gradiance Problems for Chapter 3
3.7 References for Chapter 3

Chapter 4 - Properties of Regular Languages
4.1 Proving Languages Not to Be Regular
4.2 Closure Properties of Regular Languages
4.3 Decision Properties of Regular Languages
4.4 Equivalence and Minimization of Automata
4.5 Summary of Chapter 4
4.6 Gradiance Problems for Chapter 4
4.7 References for Chapter 4

Chapter 5 — Context-Free Grammars and Languages
5.1 Context-Free Grammars
5.2 Parse Trees
5.3 Applications of Context-Free Grammars
5.4 Ambiguity in Grammars and Languages
5.5 Summary of Chapter 5
5.6 Gradiance Problems for Chapter 5
5.7 References for Chapter 5

Chapter 6 - Pushdown Automata
6.1 Definition of the Pushdown Automaton
6.2 The Languages of a PDA
6.3 Equivalence of PDA’s and CFG’s
6.4 Deterministic Pushdown Automata
6.5 Summary of Chapter 6
6.6 Gradiance Problems for Chapter 6
6.7 References for Chapter 6

Chapter 7 - Properties of Context-Free Languages
7.1 Normal Forms for Context-Free Grammars
7.2 The Pumping Lemma for Context-Free Languages
7.3 Closure Properties of Context-Free Languages
7.4 Decision Properties of CFL’s
7.5 Summary of Chapter 7
7.6 Gradiance Problems for Chapter 7
7.7 References for Chapter 7

Chapter 8 - Introduction to Turing Machines
8.1 Problems That Computers Cannot Solve
8.2 The Turing Machine
8.3 Programming Techniques for Turing Machines
8.4 Extensions to the Basic Turing Machine
8.5 Restricted Turing Machines
8.6 Turing Machines and Computers
8.7 Summary of Chapter 8
8.8 Gradiance Problems for Chapter 8
8.9 References for Chapter 8

Chapter 9 - Undecidability
9.1 A Language That Is Not Recursively Enumerable
9.2 An Undecidable Problem That Is RE
9.3 Undecidable Problems About Turing Machines
9.4 Post’s Correspondence Problem
9.5 Other Undecidable Problems
9.6 Summary of Chapter 9
9.7 Gradiance Problems for Chapter 9
9.8 References for Chapter 9

Chapter 10 - Intractable Problems
10.1 The Classes P and NP
10.2 An NP-Complete Problem
10.3 A Restricted Satisfiability Problem
10.4 Additional NP-Complete Problems
10.5 Summary of Chapter 10
10.6 Gradiance Problems for Chapter 10
10.7 References for Chapter 10

Chapter 11 - Additional Classes of Problems
11.1 Complements of Languages in NP
11.2 Problems Solvable in Polynomial Space
11.3 A Problem That Is Complete for PS
11.4 Language Classes Based on Randomization
11.5 The Complexity of Primality Testing
11.6 Summary of Chapter 11
11.7 Gradiance Problems for Chapter 11
11.8 References for Chapter 11