CS810: Introduction to Complexity Theory (Models and Formalisms of Computation)

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 

Homeworks (in postscript and pdf format)

Hw1 (ps) (pdf)

Hw2 (ps) (pdf)

Hw3 (ps) (pdf)

Hw4 (ps) (pdf)

Course Description

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.

Recommended Background

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.

Related Texts

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.

Lecture 5 (ps) (pdf)

Lecture 6 (ps) (pdf)

Week 4 : Equivalent definitions of PH. delayed queries.

Lecture 7 (ps) (pdf)

Lecture 8 (ps) (pdf)

Week 5: Constant depth exponential polylog size circuits. Karp-Lipton Theorem.

Lecture 9 (ps) (pdf)

Lecture 10 (ps) (pdf)

Week 6: P/poly, Sparse sets, Mahaney's Theorem. NC and AC hierarchy. Equivalent forms of NC1.

Lecture 11 (ps) (pdf)

Lecture 12 (ps) (pdf)

Week 7: Csanky's algorithm. The power of randomization. MAXCUT. Goeman-Williamson.

Lecture 13 (ps) (pdf)

Lecture 14 (ps) (pdf)

Week 8: Recap Goeman-Williamson. Basic ideas of Prob Theory. Some basic Inequalities.

Lecture 15 (ps) (pdf)

Lecture 16 (ps) (pdf)

Week 9: RP, BPP, amplification. BPP in P/poly. Adleman argument.

Lecture 17 (ps) (pdf)

Lecture 18 (ps) (pdf)

Week 10. Sipser-Lautemann Theorem. Fat-thin sets, isolation lemma.

Lecture 19 (ps) (pdf)

Lecture 20 (ps) (pdf)

Week 11. Approximate counting. UniqueSAT. Toda's Theorem outline.

Lecture 21 (ps) (pdf)

Lecture 22 (ps) (pdf)

Week 12. Witness sampling. S_2 in ZPP^{NP}. Implication to Karp-Lipton. Interactive Proof for Graph non-isomorphism.

Lecture 23 (ps) (pdf)

Lecture 24 (ps) (pdf)

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.

Lecture 26 (ps) (pdf)

Week 15. (Dec 9, 11)

Homework and Grades

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