Automata and Computation Theory (Fall 2018)
Time and Location: TTh 9:00-10:15pm, Maryland 110.
Instructor: Xin Li. Office hours: Wednesdays 10:30am-12:00pm, Malone 215, or by appointment
TA: Kuan Cheng. Office hours: Fridays 10:30am-11:30am, Malone 338.
CA: Lohita Sivaprakasam, Eric Cochran, Xiaoyan (Coco) Li. Office hours: Thursdays 3pm-4pm, Malone 222.
Xiaoyan (Coco) Li, William Bernardoni, Daniel Qian, Lohita Sivaprakasam. Office hours: Mondays 3pm-4pm, Malone 222.
Syllabus
Course description: This course is an introduction to the theory of computing. Topics include design of finite state automata, pushdown automata, linear bounded automata, Turing machines and phrase structure grammars; correspondence between automata and grammars; computable functions, decidable and undecidable problems, P and NP problems, NP-completeness, and randomization. Students may not receive credit for 601.231 and 601.631 for the same degree.
Pre Requisite: discrete math or permission.
Required Textbook: Michael Sipser, Introduction to the Theory of Computation, Third Edition.
Topics Covered and Textbook Correspondence
- Sep. 4 and Sep. 6: Review basic concepts and proofs, Textbook Chapter 0
- Sep. 11 and Sep. 13: Finite automata, starting regular operations, Textbook Chapter 1.1
- Sep. 18 and Sep. 20: Closure under union and concatenation, NFA and equivalence to DFA, Textbook Chapter 1.1 & 1.2
- Sep. 25 and Sep. 27: Closure under star, regular expressions, and the equivalence to regular languages, Textbook Chapter 1.2 & 1.3
- Oct. 2: Finish the equivalence of regular languages and regular expressions, Textbook Chapter 1.3
- Oct. 4 and Oct. 16: The pumping lemma for regular langauges, and non-regular languages, Textbook Chapter 1.4
- Oct. 18 and Oct. 22: Context-free grammars and context-free languages, Textbook Chapter 2.1
- Oct. 25 and Oct. 30: The pumping lemma for CFL and non-context free languages, Textbook Chapter 2.3
- Nov. 1 and Nov. 6: Turing Machines, Textbook Chapter 3.1
- Nov. 8: Variants of Turing Machines, Textbook Chapter 3.2
- Nov. 13: Church-Turing thesis and starting undecidable languages, Textbook Chapter 3.3 & 4.2
- Nov. 15: Mapping reductions and undecidable languages, Textbook Chapter 5.1 & 5.3
- Nov. 27 and Nov. 29, Time complexity, P, NP, and starting NP-completeness, Textbook Chapter 7.2, 7.3, 7.4 (see also 7.1 for some basic notation)
- Dec. 4: Cook-Levin Theorem and the NP-completenss of Independent Set, Textbook Chapter 7.4
- Dec. 6: Other NP-complete languages, Textbook Chapter 7.5
Assignments
Further readings
Wiki page of Hilbert's 10th problem
An article about Alan Turing
A website about Turing and the history of modern computing
Godel's letter to von Neumann
Clay Institute's official page about the P vs. NP problem
Lance Fortnow's exposition of the P vs. NP problem