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\E{\sf E} \def\poly{\sf poly} \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\NL{\sf NL} \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 for $\NP$ and $\EXP$ classes. Verifier characterizations for $\NL$ and $\NP$.
Reading : Class notes, [Arora-Barak] Chapter 3, [Kozen] Lecture 8 for a PSPACE complete problem.
Lec 5 (22 Jan, Thu) : Read-once verifier characterization for $\NL$. Logspace reductions - definitions and completeness. Reach and DAGReach is $\NL$ complete. Fundamental questions stated previously in terms of separation of complexity classes - $\P$ vs $\NP$, $\LOG$ vs $\P$, $\P$ vs $\PSPACE$, $\NP$ vs $\co\NP$.
Reading : Class notes, [Kozen] Lecture 5, 6. [Arora-Barak] Chapter 4.
Lec 6 (27 Jan, Tue) : Completeness of $\P$, $\NP$ and $\NL$. Circuit model of computation. Circuit value problem is $\P$-complete. Cook-Levin theorem. Circuit SAT in $\NP$-complete.
Reading : Class notes, [Kozen] Lecture 5, 6. [Arora-Barak] Chapter 4.
Additional References : Read [Arora-Barak] Section 2.3.4 and ensure that the resulting circuit can be expressed as a CNF.
Lec 7 (29 Jan, Thu) : Non-uniform models of computation. Definition of $C/\poly$ for a class $C$. Branching programs and Boolean circuits - $\NL/\poly$ and $\P/\poly$. Undecidable problems in non-uniform classes.
Reading : Class notes. [Arora-Barak] Chapter 6, sections 6.1, 6.2, 6.3.
Lec 8 (03 Feb, Tue) : Introduction to Padding arguments. $\E \ne \PSPACE$, $\EXP \ne \NEXP$ implies $\P \ne \NP$. Assuming Savitch’s theorem, proving $\NPSPACE=\PSPACE$ and $\NPSPACE=\co\NPSPACE$.
Reading : Class notes. [Arora-Barak] Section 2.6.
Lec 9 (05 Feb, Thu) : Savitch’s theorem and its proof via $REACH \in \DSPACE(\log^2 n)$. Immerman-Scelepsceny theorem via $\overline{REACH} \in \NL$ - all subroutines and the details of correctness.
Reading : Class notes. [Arora-Barak] Chapter 4, [Kozen] Lecture 3 and 4.
Lec 10 (10 Feb, Tue) : Ladner’s theorem - existence of NP-intermediate problems from $\P \ne \NP$. Oracle computation and introduction to relativization. Oracle complexity classes. Limitation of relativization in settling $\P$ vs $\NP$ question. Proof of Baker-Gill-Solovay relativization theorem.
Reading : Class notes. [Arora-Barak] Section 3.3, 3.4. [Kozen] Lecture 28.
Theme: Alternations, Polynomial hierarchy
Lec 11 (12 Feb, Thu) : Definition of polynomial hierarchy, motivation, complexity classes and placing optimization problems in the classes. Turing machines based on alternations as a resource. Associated complexity classes - $\ALOGSPACE$, $\AP$ and $\APSPACE$ and their relation to other time and space complexity classes.
Reading : Class notes. [Arora-Barak] Section 5.3. [Kozen] Lecture 7, 9 and 10
Lec 12 (17 Feb, Tue) : Applications of alternation - Time-space lower bounds for Satisfiability. Advice classes and non-uniformity. Consequences of complexity class containments to Polynomial hierarchy. Collapse theorems - Karp-Lipton theorem. Meyer’s theorem and Yap’s theorem.
Reading : Class notes. [Arora-Barak] Section
Lec 13 (19 Feb, Thu) : In the linear time setting, $\P$ and $\NP$ are different - a proof of $\DTIME(n)$ strictly contained in $\NTIME(n)$.
Reading :
Lec 14 (24 Feb, Tue) : 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: Randomized Computation
Lec 15 (26 Feb, Thu) : 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. 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. Undirected graph reachability is in logspace. Details of Reingold’s algorithm. Zig-zag product construction.
Reading :Theme: Counting Complexity
Lec 16 (03 Mar, Tue) : Reasoning about counting problems. Counting classes - $\sharp \P$ and $\FP$. Proof of permanent is $\sharp \P$ complete.
Reading :Lec 17 (05 Mar, Thu) : Interactive proofs and the class $\IP$. Proof of $\IP \subseteq \PSPACE$.
Reading :Lec 18 (10 Mar, Tue) : Randomized reductions. Valiant-Vazirani-Vazirani lemma. Toda’s theorem and its proof
Reading :Lec 19 (12 Mar, Thu) :
Reading :Theme: Interactive proofs
Lec 20 (17 Mar, Tue) : Proof of $\IP = \PSPACE$
Reading :Lec 21 (19 Mar, Thu) : Proofs and bounded interactions. Complexity classes – AM and MA. Goldwasser-Sipser protocol.
Reading :Lec 22 (24 Mar, Tue) : Application - Graph isomorphism is $\NP$-complete implies polynomial hierarchy collapses.
Reading :Theme: Boolean Circuits and lower bounds
Lec 23 (26 Mar, Thu) : Boolean circuits. Circuit lower bounds and $\P$ vs $\NP$ question. Shannon’s counting lower bound. Lupanov’s upper bound.
Reading :Lec 24 (31 Mar, Tue) : Constant depth reductions.
Reading :Lec 25 (02 Apr, Thu) : Lower bounds for formulas and branching programs. Subbotovskaya and Nechiporuk’s lower bound.
Reading :Lec 26 (07 Apr, Tue) : Holiday due to Mahavir Jayanti
Reading :Lec 27 (09 Apr, Thu) : Lower bounds for monotone circuits
Reading :Lec 28 (14 Apr, Tue) : Lower bounds for constant depth circuits.
Reading :Lec 29 (16 Apr, Thu) : Hardness versus Randomness. BPP vs P question.
Reading :Lec 30 (21 Apr, Tue) : Summary and course wrap-up.
Reading :