Lectures
Following is an outline of the lectures given along with references and links to additional reading materials.
\( \def\SAT{\mathsf{SAT}} \def\CNFSAT{\mathsf{CNFSAT}} \def\USAT{\mathsf{USAT}} \def\DTIME{\mathsf{DTIME}} \def\DTIME{\mathsf{DTIME}} \def\NTIME{\mathsf{NTIME}} \def\coNTIME{\mathsf{NTIME}} \def\DSPACE{\mathsf{DSPACE}} \def\NSPACE{\mathsf{NSPACE}} \def\coNSPACE{\mathsf{NSPACE}} \def\poly{\mathsf{poly}} \def\P{\mathsf{P}} \def\NP{\mathsf{NP}} \def\co{\mathsf{co}} \def\coNP{\mathsf{coNP}} \def\LOG{\mathsf{L}} \def\NLOG{\mathsf{NL}} \def\NL{\mathsf{NL}} \def\coNLOG{\mathsf{NL}} \def\PSPACE{\mathsf{PSPACE}} \def\NPSPACE{\mathsf{NPSPACE}} \def\EXP{\mathsf{EXP}} \def\E{\mathsf{E}} \def\NEXP{\mathsf{NEXP}} \def\RP{\mathsf{RP}} \def\coRP{\mathsf{coRP}} \def\ZPP{\mathsf{ZPP}} \def\PP{\mathsf{PP}} \def\FP{\mathsf{FP}} \def\sharpP{\#\mathsf{P}} \def\BPP{\mathsf{BPP}} \def\BP{\mathsf{BP}} \def\AC{\mathsf{AC}} \def\NC{\mathsf{NC}} \def\SC{\mathsf{SC}} \def\RL{\mathsf{RL}} \def\BPL{\mathsf{BPL}} \def\ZPL{\mathsf{ZPL}} \def\PAL{\rm PAL} \def\HP{\rm HP} \def\FIN{\rm FIN} \def\REG{\rm REG} \def\CFG{\rm CFG} \def\TOTAL{\rm TOTAL} \def\COF{\rm COF} \def\D{\mathcal{D}} \def\SD{\mathcal{SD}} \def\MP{\rm MP} \def\REACH{\rm REACH} \def\TREEREACH{\rm TREEREACH} \def\UREACH{\rm UREACH} \def\CVP{\rm CVP} \def\UPRIMES{\rm UPRIMES} \def\PRIMES{\rm PRIMES} \def\QBF{\rm QBF} \)
Lec 1 (17 Jan, Wed) : Course administration and overview. Brief history of computation. Overview and connections to other areas in Theoretical CS.
Reading : Chapter 1 and 20 of Mathematics and Computation.
Lec () (19 Jan, Fri) : Class cancelled due to Institute day (Compensated on 03 Feb)
Lec () (22 Jan, Mon) : Non-instructional day till noon (Compensated on 03 Feb)
Lec 2 (24 Jan, Wed) : Recap of Turing machine model -- formal definition, variants of the model, configurations, halting computation definitions. Turing machines are strings, Universal Turing machines. Proof of undecidability of Halting problem via diagonalization.
Reading : Kozen A&C Lec 29, 30, 31. Link to David Hilbert’s lecture at the ICM 1900.
Lec () (26 Jan, Fri) : Holiday due to Republic Day
Lec () (29 Jan, Mon) : Non instructional day.
Lec 3 (31 Jan, Wed) : Completed the diagonalization argument. Membership problem and its undecidability. More techniques to show undecidability. The undecidability of $\MP_\epsilon$.
Reading : Kozen A&C, Lec 32
Lec 4 (02 Feb, Fri) : Showing that if $\MP_\epsilon$ is decidable, then $\HP$ is decidable. Similar arguments for showing undecidability of languages $\FIN$ consisting of Turing machine whose langauage is finite.
Reading : Kozen A&C, Lec 32, 33
Lec 5 (03 Feb, Sat) : (10-11 AM) Proof of undecidability of $\FIN$, $\REG$ and $\CFG$. Introduction to reduction, formal definition.
Reading : Kozen A&C, Lec 32, 33
Lec 6 (03 Feb, Sat) : (11-12 PM) Using reduction to show undecidability and non-recursive enumerability of languages. $\overline{\FIN}$ is not in RE by showing $\HP$ reduces to $\FIN$. Enumeration Turing machines.
Reading : Kozen A&C, Lec 30, 33
Lec 7 (05 Feb, Mon) : Enumeration Turing machines and recursive enumerability. Properties of recursively enumerable languages, trivial and non-trivial properties.
Reading : Kozen A&C, Lec 30, 34
Lec 8 (07 Feb, Wed) : Rice's theorem 1 statement (for undecidability) and its proof. Rice's theorem 2 statement (for non-RE) and its proof.
Reading : Kozen A&C, Lec 34
Lec 9 (09 Feb, Fri) : Notions of hardness and completeness. $\HP$ and $\MP$ are SD-complete. Turing reductions.
Reading : Kozen A&C, Supplementary lecture J.
Lec 10 (12 Feb, Mon) : Oracle Turing machines, Relative computation, Turing reductions, Decidable set is precisely semi-decidable set intersection co semi-decidable set.
Reading : Kozen A&C, Supplementary lecture J.
Lec 11 (14 Feb, Wed) : Semideciding FIN with an MP oracle. Languages that are undecidable for oracle Turing machines - existence via diagonalization. Arithmetic hierarchy.
Reading : Kozen A&C, Supplementary lecture J.
Lec 12 (16 Feb, Fri) : Arithmetic Hierarchy, definitions of $\Sigma_k, \Pi_k$ and $\Delta_k$. Basic containments. Expressing languages via quantifiers. Quantifier characterization of Arithmetic Hierarchy.
Reading : Kozen A&C, Supplementary lecture J and class notes
Lec 13 (19 Feb, Mon) : Proof of Quantifier characterization by induction.
Reading : Kozen A&C, Supplementary lecture J and class notes
Lec 14 (21 Feb, Wed) : Base case - quantifier characterization for semi-decidable languages.
Reading : Kozen A&C, Supplementary lecture J and class notes
Lec 15 (23 Feb, Fri) : Proof of quantifier characterisation of $\Sigma_2$.
Reading : Kozen A&C, Supplementary lecture J and class notes
Lec 16 (26 Feb, Mon) : Proof of EMPTY is $\Pi_1$ complete, FIN is $\Sigma_2$ complete.
Reading : Kozen A&C, Supplementary lecture J and class notes
Lec 17 (28 Feb, Wed) : Broad goals of Computational Complexity. Notion of a resource. Blum's axioms. Resources - time and space. Class $\DTIME$ and $\DSPACE$.
Reading : Kozen ToC Lec 1, Arora-Barak Chap 1.
Lec 18 (01 Mar, Fri) : Existance of decidable languages $L$ outside $\DTIME(t)$ and $\DSPACE(s)$ by diagonalization. How efficiently can $L$ be solved ? Time and space constructibility, overview of Tape reduction and Alphabet reduction and their importance.
Reading : Arora-Barak Chap 1 and class notes.
Lec 19 (04 Mar, Mon) : Tape reduction and Alphabet reduction - statement and proof.
Reading : Arora-Barak Chap 1 and class notes.
Lec 20 (06 Mar, Wed) : Linear speedup theorem and Tape compression theorem - statement and proof.
Reading : Arora-Barak Chap 1 and class notes.
Lec 21 (08 Mar, Fri) : Time and Space hierarchy theorem - statement and implications. Proof of space hierarchy theorem.
Reading : Kozen ToC, Lec 3 and class notes.
Lec 22 (11 Mar, Mon) : Proof of time hierarchy theorem. Need for constructibility - Blum's Speedup theorem and Borodin-Trakhtenbrot's Gap theorem.
Reading : Class notes
Lec 23 (13 Mar, Wed) : Proof of the Gap theorem. Proof of Blum's speedup theorem -- description of the language $A$ achieving speedup.
Reading : Class notes. References provided in course moodle page.
Lec 24 (15 Mar, Fri) : Completed the proof of Blum's speedup theorem. Crossing sequence argument. The palindrome language requires $\Omega(n^2)$ time on a one-tape Turing machine.
Reading : See class notes for speedup theorem. Crossing sequence argument done from Kozen ToC, Lec 1.
Lec 25 (18 Mar, Mon) : Any Turing machine using $o(\log\log n)$ space can only accept regular languages - proof via crossing sequences. Introduction to non-deterministic time and space.
Reading : Kozen ToC, Lec 1
Lec 26 (20 Mar, Wed) : Non-deterministic time and space. Classes -- $\DTIME,\DSPACE,\NTIME,\NSPACE$ and containments.
Reading : Kozen ToC, Lec 2
Lec 27 (22 Mar, Fri) : Complexity classes $\P,\PSPACE, \LOG$ and $\NP, \NPSPACE, \NLOG$ - basic containments and known separations. Composibility. Problems $\UREACH, \REACH, \CVP, \SAT,\UPRIMES,\PRIMES,\QBF$.
Reading : Arora-Barak, Section 2.1, 2.6.
Lec () (25 Mar, Mon) : Holiday due to Holi festival
Lec 28 (27 Mar, Wed) : Definition of $\coNSPACE$ and $\coNTIME$ and their containments. Classes - $\coNLOG, \coNP$ and $\coNSPACE$. Introduction to padding arguments - $\E \ne \PSPACE$ using padding.
Reading : Arora-Barak, Section 2.6.2
Lec () (29 Mar, Fri) : Holiday due to Good Friday
Lec 29 (01 Apr, Mon) : Padding argument - $\EXP \ne \NEXP \implies \P \ne \NP$. Zooming into the $\NP$ class. Problems - $\overline{\PRIMES}, {\rm CLIQUE}, {\rm VC},{\rm INDSET}, {\rm GI}, {\rm MAXCLIQUE}$.
Reading : Arora-Barak, Section 2.6
Lec 30 (03 Apr, Wed) : Non-deterministic algorithms for ${\rm CLIQUE}$ and an attempted algorithm for ${\rm MAXCLIQUE}$. Guess + efficient verify characterisation of $\NP$.
Reading : Arora-Barak, Section 2.1, 2.2
Lec 31 (05 Apr, Fri) : Completed the proof of characterisation of $\NP$. Reduction between problems. Many-one polynomial time reductions - reductions between ${\rm CLIQUE}$, ${\rm INDSET}$ and ${\rm VC}$. $\NP$-completeness, Bounded Halting Problem is $\NP$-complete. Towards showing $\CNFSAT$ is $\NP$-complete - Cook-Levin Theorem.
Reading : Arora-Barak, Section 2.1-2.3
Lec 32 (08 Apr, Mon) : Proof overview of Cook-Levin theorem - $\CNFSAT$ is $\NP$-complete. Setting up of tableau of configurations.
Reading : Arora-Barak, Chapter 2.
Lec () (10 Apr, Wed) : Holiday due to Id al-Fitr. Compensatory class on April 11.
Lec 33 (11 Apr, Thu) : Completed construction of $\CNFSAT$ instance for the reduction. Argued correctness and showed that overall reduction runs in polynomial time. Completed proof of Cook-Levin reduction.
Reading : Arora-Barak Chap. 2, Section 2.3, 2.6, Chap 4, Section 4.1
Lec 34 (12 Apr, Fri) : Reduction from $\CNFSAT$ to $3\SAT$ and $3\SAT$ to Vertex Cover. Sparse sets - what and why study them. Berman-Hatmanis conjecture.
Reading : Arora-Barak Chap 4, Section 4.1
Lec 35 (15 Apr, Mon) : Spare sets and $\NP$-hardness. Mahaney's theorem - statement and proof overview.
Reading : An excellent exposition by Grochow
Lec 36 (17 Apr, Wed) : Completed the proof of Mahaney's theorem. Classes $\P$ and below. Reductions in logspace - definition and issues.
Reading : Arora-Barak, Chap 4; Kozen, Lec 5.
Lec 37 (19 Apr, Fri) : Composibility of logspace. Completeness notion for $\P$ and $\NLOG$. $\CVP$ is $\P$-complete. Space efficient algorithms for $\TREEREACH$ and $\REACH$.
Reading : Arora-Barak, Chap 4, Sec 4.3; Kozen, Lec 5, 6.
Lec 38 (22 Apr, Mon) : $\NL$-completeness. Proof of $\REACH$ is $\NL$ complete. Statement of Savitch's theorem and proof idea.
Reading : Kozen, Lec 2, 5.
Lec 39 (24 Apr, Wed) : Space complexity - Savitch's theorem. Immerman-Scelepscenyi's theorem - statement and implications. Idea behind $\NL$ algorithm for $\overline{\REACH}$.
Reading : Kozen Lect. 4, Goldreich Chap 5, Sec 3
Lec () (26 Apr, Fri) : Holiday due to election.
Lec 40 (27 Apr, Sat) : Paper presentations in A01-212 from 9.30 AM onwards.
Reading :
Lec 41 (29 Apr, Mon) : Completed correctness of the $\NL$ algorithm for $\overline{\REACH}$. Polynomial hierarchy - oracle machine based characterization and quantifier based characterization. Randomized complexity classes - $\RP,\co\RP$ and $\BPP$. Error reduction by repetition for $\RP$.
Reading : Arora-Barak - Chap. 3, Section 3.4, Chap 5, Section 5.2, [Kozen] Lect. 9, 10. Arora-Barak Section 7.1, 7.2, 7.3, 7,4