# Theory of Computation (Fall 2020)

**Time and Location:** TTh 12-1:15pm, by Zoom (https://wse.zoom.us/j/149159926 Meeting ID: 149 159 926).

**Instructor:** Xin Li. **Office hours:** Wednesday 11:00am-12:00pm, or by appointment

**TA:** Zhengzhong Jin. **Email:** zjin12@jhu.edu ** Office hours:** Fridays 11amâ€“12 pm, by Zoom (https://wse.zoom.us/j/93058584262 Meeting ID: 930 5858 4262)

**Syllabus**

**Course description:** This is a graduate-level course studying the theoretical foundations of computer science. Topics covered will be models of com-putation from automata to Turing machines, computability, complexity theory, randomized algorithms, inapproximability, interactive proof systems and probabilistically checkable proofs. Students may not take both 600.271 and 600.471, unless one is for an undergrad degree and the other for grad degree.

**Pre Requisite:** Discrete math or permission. Probability theory strongly recommended.

**Required Textbook:** Computational Complexity: A Modern Approach, by Sanjeev Arora and Boaz Barak.

**Recommended Textbook:** Introduction to the Theory of Computation, by Michael Sipser.

### Topics Covered

- Sep. 1 & Sep. 3: Inroduction and beginning Turing Machines. Slides

- Sep. 8: Variants of Turing Machines. Slides

- Sep 10 & Sep. 15: Decidable/Recognizable/Undecidable/Unrecognizalbe languages. Slides

- Sep. 17: Time complexity, Time Hierarchy theorem, starting P and NP. Slides

- Sep. 22: Equivalence of two NP definitions, Polynomial time reduction and NP-completness, start Cook-Levin Theorem. Slides

- Sep. 24: Proof of the Cook-Levin Theorem.

- Sep. 29 & Oct. 1: More NP-complete languages, the class coNP. Slides

- Oct. 6: CoNP, NEXP, Search to Decision reduction, NP-Intermediate languages, dealing with NP-completeness. Slides

- Oct. 8: starting space complexity. Slides

- Oct. 13: Space hierarchy theorem and PSPACE-completeness. Slides

- Oct. 20: Savitch's theorem and NL-completeness. Slides

- Oct. 27: Certificate definition of NL, and NL=coNL. Slides

- Oct. 29: The Polynomial Hierarchy. Slides

- Nov. 3: Boolean Circuits, P/poly vs. P. Slides

- Nov. 5: P/poly vs NP and Karp-Lipton Theorem, NC and AC circuits. Slides

- Nov. 10: Interactive proofs, DIP=NP, starting IP. Slides

- Nov. 12: The class IP and some properties. Slides

- Nov. 17 & Nov. 19: Public coin proof and AM, GNI and GI. Slides

- Dec. 1 & Dec. 3: Sumcheck protocol, IP=PSPACE. Slides

- Dec. 8: Variants of IP, PCP, BPP and BQP. Slides

### Further readings

**Interactive proof with Perfect Completeness or Soundness**

**Introduction to mathematical arguments**

**Some Help on Reading Mathematics and Creating Proofs**

**A picture of some complexity classes**

**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