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
Yu Zheng (TA), Jiahua Guo, Yi Hong, Mung Yao Jia, Ege Seyithanoglu
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.
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