Professor: Jin-Yi Cai, 5379 CS, 262-3158, jyc@cs.wisc.edu. Time and Place: Tuesday and Thursday, 12:00 to 1:15, 1267 CS. Office Hours: Tuesday and Thursday, 2:15 to 3:15, or by appointment. Text: Theory of Computational Complexity by Ding-Zhu Du and Ker-I Ko, Wiley, John and Sons, Incorporated 2000; TA (part-time): Venkat Chakaravarthy, 5378 CS, 262-5601, venkat@cs.wisc.edu
This course is a graduate level introduction to computational complexity theory. This theory provides a framework and tools for understanding to what degree computational problems are easy or hard to solve. Some preliminary preparation of background knowledge will be covered first, including standard Turing machine model, the class P and NP, NP-completeness, general hierarchy theorems.
We then introduce fundamental complexity classes including LOGSPACE, NL, P, NP, co-NP, The Polynomial Time Hierarchy, and PSPACE. Savitch's Theorem and Immerman-Szelepcsenyi Theorem.
In the major segment of the class we will try to give a more accurate taste of the modern flavor of the subject, where the focus is on more concrete complexity problems as versus abstract complexity measures, and where randomness and interaction play a more important role. We will discuss simple probability bounds, random walks and randomized LOGSPACE, ZPP, RP, coRP, BPP. We then discuss some topics in derandomization, pair-wise independence, k-wise independence, universal hash functions, amplifications, Sipser-Lautemann theorem that BPP is contained in PH, and the recent theorem that S2 is contained in ZPP^NP, Karp-Lipton Theorem, sparse sets, Mahaney's Theorem and Hartmanis Conjectures, interactive proof systems, Arthur-Merlin classes, LFKN protocol, IP=PSPACE. When time permit, further topics include an introduction to circuit complexity theory, constant depth circuit lower bound, Mod p gates, Barrington's theorem on constant width branching program, Nisan's generator for space bounded computation and graph connectivity, the complexity of Unique SAT, and Toda's Theorem, extractors. %When time permit, we will also discuss some parallel complexity classes.
CS520 or equivalent is highly recommended, although a student with a strong undergraduate mathematics background can handle the material well and can make up any missing background from CS 520 without too much difficulty. The course material of CS810 will not depend heavily on the material of CS520, which focuses on formal language theory, Turing machines, undecidability, and NP-completeness are covered in both courses, but at a faster pace in CS810.
Notes (book chapters) (ps) (pdf)
Week 1 : Overview of Complexity Theory; Diagonalization by Cantor and Turing. Hierarchy theorems. Basic Definitions.
Week 2 : Review of NP-completeness. Theorems of Savitch, Immerman-Szelepcsenyi.
Week 3 : Reductions. Completeness. Enumerations. QBF. Alt TM. PH. Baker-Gill-Solovay.
Week 4 : Equivalent definitions of PH. delayed queries.
Week 5: Constant depth exponential polylog size circuits. Karp-Lipton Theorem.
Week 6: P/poly, Sparse sets, Mahaney's Theorem. NC and AC hierarchy. Equivalent forms of NC1.
Week 7: Csanky's algorithm. The power of randomization. MAXCUT. Goeman-Williamson.
Week 8: Recap Goeman-Williamson. Basic ideas of Prob Theory. Some basic Inequalities.
Week 9: RP, BPP, amplification. BPP in P/poly. Adleman argument.
Week 10. Sipser-Lautemann Theorem. Fat-thin sets, isolation lemma.
Week 11. Approximate counting. UniqueSAT. Toda's Theorem outline.
Week 12. Witness sampling. S_2 in ZPP^{NP}. Implication to Karp-Lipton. Interactive Proof for Graph non-isomorphism.
Week 13. (one Lecture due to Thanksgiving) Arthur-Merlin games. one-sided versus two-sided error. Public coin versus private coins.
Week 14. (Dec 2, 4) MA, AM, MAM, etc. IP with unbounded rounds. LFKN protocol.
Week 15. (Dec 9, 11)
Your grade will be based on a set of problem sets. You are encouraged to discuss ideas of the class (with any one), but your work on the problem sets should be done on your own with your own understanding.
Sample Scribe instructions and files