Lectures
Following is an outline of lectures given along with references and links to additional reading. For reference abbreviations, please check the references page.
\( \def\PAL{\rm PAL} \def\HP{\rm HP} \def\MP{\rm MP} \def\EQ{\rm EQ} \def\USELESS{\rm USELESS} \def\EMPTY{\rm EMPTY} \def\DTIME{\sf DTIME} \def\NTIME{\sf NTIME} \def\ALOGTIME{\sf ALOGTIME} \def\ALOGSPACE{\sf ALOGSPACE} \def\AP{\sf AP} \def\APSPACE{\sf APSPACE} \def\DSPACE{\sf DSPACE} \def\NSPACE{\sf NSPACE} \def\P{\sf P} \def\PP{\sf PP} \def\BPP{\sf BPP} \def\RP{\sf RP} \def\BPL{\sf BPL} \def\RL{\sf RL} \def\co{\sf co} \def\NP{\sf NP} \def\NC{\sf NC} \def\LOG{\sf LOG} \def\NLOG{\sf NLOG} \def\PSPACE{\sf PSPACE} \def\NPSPACE{\sf NPSPACE} \def\EXP{\sf EXP} \def\NEXP{\sf NEXP} \def\F{\mathbb{F}} \def\FP{\sf {FP}} \def\IP{\sf {IP}} \)
Lec 1 (08 Jan, Thu) : Administrative info, motivating computational questions - checking primality, modular exponentiation, permanent and determinant, DeMillo-Lipton-Schwartz-Zippel lemma, Randomized algorithms for computing bipartite perfect matching using determinants. Course objectives.
Reading : Class notes, Chapter 1 of [Arora-Barak].
Additional References : See section 7.2 of this notes. A proof of DeMillo-Lipton-Schwartz-Zippel lemma.
Theme: Diagonalization, Hierarchy theorems for time and space
Lec 2 (13 Jan, Tue) : Brief overview of the Turing machine model. Undecidability of halting problem via diagonalization. Complexity classes for time and space $\DTIME$, $\DSPACE$. Hierarchy theorem for time and space.
Reading : Class notes, [Arora-Barak] Chapter 3, [Kozen] Lecture 3.
Lec 3 (15 Jan, Thu) : Simulation of $t(n)$ time deterministic Turing machine in $O(t(n) \log t(n))$ time. Complexity classes for non-deterministic model - $\NTIME$ and $\NSPACE$. Delayed diagonalization technique and non-deterministic time hierarchy theorem.
Reading : Class notes, [Arora-Barak] Chapter 3
Theme: Basic complexity classes - containments and completeness
Lec 4 (20 Jan, Tue) : Classes $\LOG$, $\NLOG$, $\P$, $\NP$, $\PSPACE$, $\EXP$, $\NEXP$. Canonical complete problems. Natural problems (two each) in each of these classes. Notion of reductions and completeness in various complexity classes. Composability of resource measure. Non-uniform models of computation. Circuit model of computation. Cook-Levin theorem. Circuit SAT in $\NP$-complete. Fundamental questions stated previously in terms of separation of complexity classes - $\P$ vs $\NP$, $\LOG$ vs $\NLOG$, $\P$ vs $\NC$, $\NP$ vs $\co\NP$.
Reading :Lec 5 (22 Jan, Thu) : Oracle computation and introduction to relativization. Oracle complexity classes. Limitation of relativization in settling $\P$ vs $\NP$ question.
Reading :Lec 6 (27 Jan, Tue) : Proof of Baker-Gill-Solovay relativization theorem
Reading :Theme: Alternations, Polynomial hierarchy
Lec 7 (29 Jan, Thu) : Turing machines based on alternations as a resource. Associated complexity classes - $\ALOGTIME$, $\ALOGSPACE$, $\AP$ and $\APSPACE$. Definition of polynomial hierarchy, motivation, complexity classes and placing optimization problems in the classes.
Reading :Lec 8 (03 Feb, Tue) : Consequences of polynomial hierarchy being strict. Karp-Lipton theorem and its proof. Meyer’s theorem and its proof.
Reading :Lec 9 (05 Feb, Thu) : In the linear time setting, $\P$ and $\NP$ are different - a proof of $\DTIME(n)$ strictly contained in $\NTIME(n)$.
Reading :Theme: Randomized Computation
Lec 10 (10 Feb, Tue) : Randomized complexity classes. Classes $\RP$, $\BPP$, $\PP$. Containments and error reduction arguments. Adleman’s theorem - Any randomized algorithm can be derandomized to give a non-uniform algorithms.
Reading :Lec 11 (12 Feb, Thu) : Randomness in space bounded setting - classes $\RL$, $\BPL$. Undirected graph reachability is in $\RL$ via random walks. Connection to expander graphs - combinatorial and algebraic expansion.
Reading :Lec 12 (17 Feb, Tue) : Undirected graph reachability is in logspace. Details of Reingold’s algorithm. Zig-zag product construction.
Reading :Lec 13 (19 Feb, Thu) : Branching programs and Non-uniformity in space setting. Barrington’s theorem - functions computable by bounded width branching programs is same as $\NC^1$.
Reading :Theme: Counting Complexity
Lec 14 (24 Feb, Tue) : Reasoning about counting problems. Counting classes - $\sharp \P$ and $\FP$. Proof of permanent is $\sharp \P$ complete.
Reading :Lec 15 (26 Feb, Thu) : Interactive proofs and the class $\IP$. Proof of $\IP \subseteq \PSPACE$.
Reading :Lec 16 (03 Mar, Tue) : Randomized reductions. Valiant-Vazirani-Vazirani lemma. Toda’s theorem and its proof
Reading :Lec 17 (05 Mar, Thu) :
Reading :Theme: Interactive proofs
Lec 18 (10 Mar, Tue) : Proof of $\IP = \PSPACE$
Reading :Lec 19 (12 Mar, Thu) : Proofs and bounded interactions. Complexity classes – AM and MA. Goldwasser-Sipser protocol.
Reading :Lec 20 (17 Mar, Tue) : Application - Graph isomorphism is $\NP$-complete implies polynomial hierarchy collapses.
Reading :Theme: Boolean Circuits and lower bounds
Lec 21 (19 Mar, Thu) : Boolean circuits. Circuit lower bounds and $\P$ vs $\NP$ question. Shannon’s counting lower bound. Lupanov’s upper bound.
Reading :Lec 22 (24 Mar, Tue) : Constant depth reductions.
Reading :Lec 23 (26 Mar, Thu) : Lower bounds for formulas and branching programs. Subbotovskaya and Nechiporuk’s lower bound.
Reading :Lec () (31 Mar, Tue) : Holiday due to Mahavir Jayanti
Lec 24 (02 Apr, Thu) : Lower bounds for monotone circuits
Reading :Lec 25 (07 Apr, Tue) :
Reading :Lec 26 (09 Apr, Thu) : Lower bounds for constant depth circuits.
Reading :Lec 27 (14 Apr, Tue) :
Reading :Lec 28 (16 Apr, Thu) : Hardness versus Randomness. BPP vs P question.
Reading :Lec 29 (21 Apr, Tue) : Summary and course wrap-up.
Reading :