Automata and Computation Theory (Spring 2022)
Time and Location: TTh 1:30-2:45pm, https://wse.zoom.us/j/149159926.
Instructor: Xin Li. Office hours: Tuesdays 4:00pm-5:00pm, https://wse.zoom.us/j/149159926, or by appointment
Course Assistants:
Yu Zheng (TA), Jiahua Guo, Yi Hong, Mung Yao Jia, Ege Seyithanoglu
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
- Jan. 25 and Jan. 27: Introduction, review basic concepts and proofs, Textbook Chapter 0. Slides
- Feb. 1 and Feb. 3: DFA and regular language, designing DFAs, starting closure under union, Textbook Chapter 1.1.
- Feb. 8 and Feb. 10: NFA and equivalence to DFA, closure under concatenation, Textbook Chapter 1.2.
- Feb. 15 and Feb. 17: Closure under star, regular expressions and their equivalence to DFA, Textbook Chapter 1.2 and 1.3.
- Feb. 22 and Feb. 24: Finishig regular expressions and their equivalence to DFA, pumping lemma and non-regular languages, Textbook Chapter 1.3 and 1.4.
- Mar. 1: Decision problems of regular languages, Textbook Chapter 4.1. DFA minimization.
- Mar. 8 and Mar. 10: Basics of context free languages, designing context free grammar, Textbook Chapter 2.1.
- Mar. 15 and Mar. 17: Designing context free grammar, Pushdown automata, Pumping Lemma for CFL, Textbook Chapter 2.1 and 2.3.
- Mar. 29 and Mar. 31: Turing Machines and variants. Textbook Chapter 3.1, 3.2.
- Apr. 7: Starting decidability. Textbook 4.2
- Apr. 12 and Apr. 14: Undecidable and unrecognizable languages, mapping reduction, starting time complexity, P and NP. Textbook Chapter 4.2, 5.1, 5.3, 7.2, 7.3.
- Apr. 19 and Apr. 21: Polynomial time reduction, NP-completeness, Cook-Levin Theorem. Textbook Chapter 7.2, 7.3, 7.4.
- Apr. 26 and Apr. 28: More NP-complete problems, decision vs search, conclusion of class. Textbook Chapter 7.5.
Assignments
Further readings
Introduction to mathematical arguments
Some Help on Reading Mathematics and Creating Proofs
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