Prerona Chatterjee

                    Contact Students Teaching Talks Research Home

Introduction to Complexity Theory (CS453 and CS631)

  • Introductory course for advanced undergraduate and new graduate students.
  • Class Timings: Mondays and Wednesdays from 17:30 to 19:00.
  • Location: Room M2 at NISER Bhubaneswar
  • Lecture Notes: Link (Please send me an email for viewing permission.)

 

References

 

Grading

  • Weekly Quiz (Tuesdays from 17:45 to 18:30) - 20%
  • Assignments (take-home) - 20%
  • Mid-sem (in-class) - 20%
  • End-sem (in-class) - 40%

 

Problem Sets

 

Lecture Summary

Week 1: Defining Computation via Circuits, Universality of Circuits, the class SIZE{n,m}(s)

  • Lecture 0 (5th Jan, 2026): Administrative details and introduction to the course.
  • Lecture 1 (6th Jan, 2026): Defining Circuits, Universality of Circuits.
  • Lecture 2 (7th Jan, 2026): Simple operations like addition, multiplication and if-then conditions as circuits, the class SIZE{n,m}(s).

Week 2: Circuits as strings & inputs to circuits, Existence of Hard Functions, Size Hierarchy Theorem

  • Lecture 3 (12th Jan, 2026): Circuits as strings, Existence of hard functions, boolean functions as polynomials.
  • Lecture 4 (14th Jan, 2026): Existence of a Universal Circuit, Size Hierarchy Theorem.

Week 3: Turing Machines, Turing Machines as Programs, RAM Model, Church-Turing Thesis

  • Lecture 5 (19th Jan, 2026): Uniform Computation, Defining Turing Machines.
  • Lecture 6 (21st Jan, 2026): Configurations of a Turing Machine, Turing Machines as Programs, RAM Model, Church Turing Thesis.

Week 4: Uncomputability, Defining Time Complexity, P and EXP

  • Lecture 7 (28th Jan, 2026): Universal TMs, Uncomputability, Halting Problem, the class TIME(t(n)), P and EXP

Week 5: Hierarchy Theorems, Non-Uniform Computation vs Uniform Computation, NP, NP-Completeness

  • Lecture 8 (2nd Feb, 2026): Time Hierarchy Theorem, Non-Uniform Computation, the class SIZE(s(n)), P/poly, P vs P/poly, Defining k-SAT, 2-SAT is in P.
  • Lecture 9 (4th Feb, 2026): Defining NP, Non-Deterministic Turing Machines, Defining NTIME(t(n)), N-Time Hierarchy Theorem, Poly-time Reductions, NP-Completeness.

Week 6: Cook-Levin Theorem, Ladner's Theorem

  • Lecture 10 (10th Feb, 2026): Cook-Levin Theorem
  • Lecture 11 (12th Feb, 2026): Ladner's Theorem.

Week 7: Oracle Turing Machines, Baker-Gill-Solovay Theorem, coNP, Polynomial Hierarchy

  • Lecture 12 (16th Feb, 2026): Oracle Turing Machines, Baker-Gill-Solovay Theorem.
  • Lecture 13 (18th Feb, 2026): coNP, Polynomial Hierarchy, TQBF, Collapse of PH if P=NP.

Week 8: Circuit Classes, Karp-Lipton Theorem

Week 9: Defining Space Complexity, Space Hierarchy Theorem, Savitch's Theorem, the class PSPACE and its relation with NP

Week 10: The classes L and NL, log space reductions, NL completeness

Week 11: Randomised Computation, Efficient Randomised Algorithms for Polynomial Identity Testing, Bipartite Matching

Week 12: Modelling Randomised Computation, the class BPP, Upperbounds for BPP

Week 13: Derandomisation and PRGs

Weeks 14: Interactive Proofs