CS 422 - Automata Theory

K. Subramani LDCSEE, West Virginia University, Morgantown, WV ksmani@csee.wvu.edu

1 General Information

(a) Instructor: K. Subramani

(b) Meeting Times: Tu-Th, 11:00 am - 12:15 pm Location: 109 MRB.

(c) Contact Information: 749 ESB, ksmani@csee.wvu.edu

(d) Office Hours: Tu-Th, 09:00 am - 10:00 am

(e) Textbook - [Lin06] is the primary text, although [HMU01] and [Sip06] are excellent supplementary texts.

(f) URL - http://www.csee.wvu.edu/˜ ksmani/courses/fa06/at/at.html

(g) Assessment:

(a) Homework Assignments (2) - You will be handed a homework on September 7, due on September 14 and a second homework on October 19, due on October 31. Each homework is worth 15% (for a total of 30%), of your grade.

(b) Quizzes (2) - The first quiz will be held on September 21, ans is closed-book. The second quiz is open-book; it will be posted on November 14 and should be turned in by November 16. Each quiz is worth 15% (for a total of 30%), of your grade.

(c) Midterm - The midterm will be held on October 10 (in-class, closed book) and is worth 20% of your grade.

(d) Final - The final is an open book examination and is worth 20% of your grade. The examination will be posted on

the class URL at 8 pm. December 13 and must be turned in by 5 pm. on December 14.

(h) Grade Boundaries (a) A: 75 and up

(b) B: 65 − 74

(c) C: 50 − 64

(d) D: 45 − 49

(e) F: 0 − 44

(i) Grading policy - If you have any questions about the grading, you must contact the instructor within two days of your paper being returned.

(j) Makeup Policy - If for some reason, you are unable to attend a test or an exam, please meet me at the earliest and I will set an alternate date.

(k) Course Objectives - The objectives of this course are as follows:

(a) Present the theory of finite automata, as the first step towards learning advanced topics, such as compiler design.

(b) Apply the concepts learned in fundamental courses such as Discrete Mathematics, in a theoretical setting; in particular, the application of proof techniques.

(c) Discussing the applications of finite automata towards text processing.

(d) Develop an understanding of computation through Turing Machines.

(l) Expected Learning Outcomes - Upon successful completion of this course, students will be able to:

(i) Apply a number of proof techniques to theorems in language design.

(ii) Develop a clear understanding of undecidability.

(iii) Understand the equivalence between Nondeterministic Finite State Automata and Deterministic Finite State Automata.

(iv) Understand the equivalence between Context-Free Grammars and Nondeterministic Pushdown Automata.

(v) Appreciate the power of the Turing Machine, as an abstract automaton, that describes computation, effectively and efficiently.

2 Syllabus Sketch and Weekly Schedule

2.1 Introduction to the Theory of Computation

Sets, Functions, Relations, Graphs and Trees, Proof Techniques, Languages, Grammars, Automata. These topics will be covered from Chapter 1 of [Lin06] (2 Lectures).

2.2 Finite Automata

Deterministic Accepters and Transition Graphs, Languages and DFAs, Regular Languages, Nondeterministic Finite Accepters, Equivalence of Deterministic and Nondeterministic Finite State Automata, State Minimization. These topics will be covered from Chapter 2 of [Lin06] (4 Lectures).

2.3 Regular Languages and Regular Grammars

Regular Expressions, Connection between Regular Expressions and Regular Languages, Regular Grammars. These topics will be covered from Chapter 3 of [Lin06] (3 Lectures).

2.4 Properties of Regular Languages

Closure Properties of Regular Languages, Elementary Questions about Regular Languages, Identifying Non-regular Languages. These topics will be covered from Chapter 4 of [Lin06] (3 Lectures).

2.5 Context-Free Languages

Context-Free Grammars (CFGs), Parsers, Parsing and Ambiguity in Grammars and Languages, CFGs and Programming Languages. These topics will be covered from Chapter 5 of [Lin06] (2 Lectures).

2.6 Simplification of CFGs and Normal Forms

Methods for Transforming Grammars, Chomsky Normal Form, Greibach Normal Form, A Membership Algorithm for CFGs. These topics will be covered from Chapter 6 of [Lin06] (2 Lectures).

2.7 Pushdown Automata

Nondeterministic Pushdown Automata, Pushdown Automata and Context-Free Languages, Deterministic Pushdown Automata and Deterministic Context-Free Languages, Grammars for Deterministic Context-Free Languages. These topics will be covered from Chapter 7 of [Lin06] (2 Lectures).

2.8 Review

Review of all topics (1 Lecture).

2.9 Turing Machines

Definition of a Turing Machine, Turing Machines as Language Accepters, Turing Machines as Transducers, Combining Turing Machines for Complicated Tasks. These topics will be covered from Chapter 9 of [Lin06] (2 Lectures).

2.10 A Hierarchy of Formal Languages and Automata

Universal Turing Machines, Linear-Bounded Automata, Countablility, Recursive and Recursively Enumerable Languages, The Chomsky Hierarchy. These topics will be covered from Chapter 10 and Chapter 11 of [Lin06] (2 Lectures).

2.11 Limits of Algorithmic Computation

Computability and Decidability, The Turing Machine Halting Problem, Reducing one undecidable problem to another, undecidable problems for recursively enumerable languages. These topics will be covered from Chapter 12 of [Lin06] (2 Lectures).

I would like to reiterate that this is a sketch of the topics that we will be covering. For various reasons, I may choose to drop a mentioned topic or cover a new topic. In such cases, advance notice will be given. I have also reserved some lectures for discussions on Homework Assignments, Quizzes and Exams.

3 Social Justice Statement

West Virginia University is committed to social justice. I concur with that commitment and expect to foster a nurturing learning environment, based upon open communication, mutual respect and non-discrimination. Our University does not discriminate on the basis of race, sex, age, disability, veteran status, religion, sexual orientation, color or national origin. Any suggestions to further such a positive and open environment in this class will be appreciated and given serious consideration. If you are a person with a disability and anticipate needing any type accommodation, in order to participate in this class, please advise me of the same and make appropriate arrangements with Disability Services (293 − 6700).

If you feel that you are being treated inappropriately or unfairly in any way, please feel free to bring your concerns to my attention; rest assured that doing so will not prejudice the grading process. In return, I expect you to behave professionally and ethically.

References

[HMU01] J. E. Hopcroft, R. Motwani, and J. D. Ullman. “Introduction to Automata Theory, Language, and Computation”. Addison–Wesley, 2nd edition edition, 2001.

[Lin06] Peter Linz. An Introductionto Formal Languages and Automata. Jones and Bartlett, 4^{th} edition, 2006.

[Sip06] Michael Sipser. Introduction to the Theory of Computation. Thompson Course Technology, second edition, 2006.