Rocco's lecture notes will be posted soon after the class. You can also find course videos in the "Video Library" section of Courseworks soon after class.

**Warning:** the notes below were generated in real time and have not been edited. They may contain typos or other errors. They may also contain aesthetically displeasing color combinations.

Number | Date | Topics | Notes | References |
---|---|---|---|---|

1 | Tues Jan 18 | Introduction, computational problems, computational model | Sipser Chap. 3,7; AB Chap. 0, 1.1-1.6; Papad. Chap. 2.1-2.5 sec. 3.0, 3.1 | |

2 | Thurs Jan 20 | Time, space, nondeterminism, P, NP | Above, and Sipser 7.3, Papad. 2.7, AB Chap. 2 | |

3 | Tues Jan 25 | Reductions, NP completeness | Sipser 7.4, 7.5, AB 2.2-2.4, Papad. ch 8,9 | |

4 | Thurs Jan 27 | Ladner's theorem, polynomial hierarchy | AB 3.3, Cai 2.3-2.6, Papad. 17.2 | |

5 | Tues Feb 1 | Polynomial hierarchy, oracles, nonuniformity | Cai 2.3-2.6, Papad. 17.2; Cai 4.1, 4.2, Papad. 4.3, 11.4; AB chapter 6 | |

6 | Thurs Feb 3 | Circuit basics, P/poly, Karp-Lipton | the above and AB 6.4 (also Cai 4.2, Papad. 17.3) | |

7 | Tues Feb 8 | Karp-Lipton, Baker-Gill-Solovay, padding, start hierarchy theorems | AB 3.4, Cai 12.1, Papad. 20.1, Sipser 9.1, Papad. 7.1, 7.2 | |

8 | Thurs Feb 10 | Clocked simulation, hierarchy theorems | Sipser 9.1, Papad. 7.1, 7.2 | |

9 | Tues Feb 15 | Relations between different resources | Papad. 7.3 | |

10 | Thurs Feb 17 | Space complexity, Savitch's theorem | AB Chap. 4, Sipser Chap. 8, Cai Chap. 3, Papad. 7.3 | |

11 | Tues Feb 22 | NL-completeness, PSPACE-completeness | AB 4.2, Papad. 19.1, Sipser 8.3, Cai 3.4 | |

12 | Thurs Feb 24 | PSPACE-completeness of QBF, GG | As above | |

13 | Tues Feb 28 | Immerman-SzelepcsĂ©nyi theorem, probability basics | AB 4.3.2, Papad. 7.3, Sipser 8.6, Cai 3.3; Cai 5.1, Wikipedia | |

14 | Thurs Mar 3 | More probability basics, tail bounds, polynomial identity testing | Cai 3.3, Wikipedia, Papad. 11.1, AB 7.2.3 | |

15 | Tues Mar 8 | Polynomial identity testing, randomized algorithm for 3CNF SAT | As above | |

16 | Thurs Mar 10 | Randomized algorithm for 3CNF SAT, randomized complexity classes | Papad. 11.2, AB 7.3, Cai 5.4 | |

17 | Tues Mar 22 | Randomized complexity classes, amplification, relations among classes | Papad. 11.2, AB 7.4, 7.5, Cai 5.4, 5.5 | |

18 | Thurs Mar 24 | BPP contained in P/poly (Adleman), BPP contained in 2nd level of hierarchy (Sipser/Gacs/Lautemann) | Papad. 11.2, AB 7.4, Cai 5.4 | |

19 | Tues Mar 29 | Complexity of counting problems: basics, completeness | Papad. 18.1, AB 17.1-17.3 | |

20 | Thurs Mar 31 | Permanent, random self-reducibility | Papad. 18.1, AB 17.1-17.3, AB 8.6.2 | |

21 | Tues April 5 | Random self-reducibility of modular permanent, approximate counting | AB 8.6.2, AB 17.1.2 | |

22 | Thurs April 7 | FPRAS for \#DNF, no FPRAS for \#CYCLES | AB 17.1.2 | |

23 | Tues April 12 | Deterministic communication complexity of functions | AB 13.1, 13.2 | |

24 | Thurs April 14 | Randomized communication complexity of functions, applications to TM lower bounds | AB 13.1, 13.2 | |

25 | Tues April 19 | Circuit complexity: lower bounds for almost all functions, start constant-depth circuit lower bounds | AB 6.5, AB 14.1.0 | |

26 | Thurs April 21 | Start lower bounds for constant-depth circuits with MAJ gate on top | This paper by Aspnes, Beigel, Furst, Rudich (sec 1.2 through Lemma 2.3) | |

27 | Tues April 26 | Lower bound for constant-depth circuits with MAJ gate on top | This paper by Aspnes, Beigel, Furst, Rudich (sec 5 through Lemma 5.4) | |

28 | Thurs April 26 | Finish lower bound for constant-depth circuits with MAJ gate on top, Subbotovskaya's lower bound for formulas based on random restrictions |

Here is an anticipated list of topics. Note that the ordering of some subtopics may change, and we will often spend more (but sometimes less) than one lecture per topic.

- Introduction to complexity theory. Computational problems. (Very quick) Review of Turing machines, time complexity, P, nondeterminism, NP, NP-completeness. Ladner's theorem.
- Oracles and the polynomial-time hierarchy. Basics of Boolean circuits, P/poly. Karp-Lipton theorem. Baker-Gill-Solovay theorem.
- Hierarchy theorems, diagonalization, basic relations between different resources.
- Space complexity: Savitch's theorem, log-space reducibility, NL. PSPACE-completeness. Immerman-Szelepcsenyi theorem (NL=co-NL).
- Randomized computation: (quick review of) probability basics. Randomized identity testing. Randomized complexity classes and amplification. BPP \subseteq P/poly. Sipser-Lautemann theorem.
- Complexity of counting. Completeness and the permanent. Random self-reducibility. Approximate counting.
- Communication complexity basics. Application to time/space tradeoffs, 1-tape TM lower bounds.
- Circuit complexity: Shannon's bound. Boolean formulas: size lower bounds via shrinkage. Depth reduction, formula lower bounds via communication complexity. Constant-depth circuit lower bounds.
- Interactive proofs and PCPs: basics of interactive proofs, Graph Non-Isomorphism. IP=PSPACE. PCP theorem and connection to hardness of approximation.