Advanced Computational Complexity
Jan - May 2026

Lectures

Following is an outline of lectures given along with references and links to additional reading. For reference abbreviations, please check the references page.

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 :