Advanced Computational Complexity
Jan - May 2026

About this course

Following are a set of informally questions that this course attempts to address:

  1. Is recognizing/verifying the solution easier than finding a solution under restricted resources (time/space) ?

  2. Can efficient sequential procedures be made parallel ?

  3. Can every randomized algorithms be made deterministic with a small slowdown under restricted resources (time/space) ?

  4. A counting argument of Shannon shows that majority of the Boolean functions on $n$ bits are hard to be computable by Boolean circuits of $poly(n)$ size. Can we give an explicit description of such a hard Boolean functions ?

  5. Does there exists a short verifiable proof for unsatisfiability of a Boolean formula ?

The overall course explores the above questions split in the following themes: