Graduate Computational Complexity Theory
Prof. Ryan O'DonnellIntensive PhD-level complexity theory sequence examining circuit complexity, randomized computation, interactive proofs, PCP theorem foundations, pseudorandomness, and hardness amplification.
Syllabus
18Lecture 1: Course Introduction and Overview (15-855)
This introductory lecture surveys the fundamental scope and methodologies of graduate computational complexity theory, referencing core concepts from Arora-Barak Chapters 1, 2, and 4.
Lecture 2: Hierarchy Theorems (Time, Space, and Nondeterministic) (15-855)
This session delves into the Hierarchy Theorems, establishing distinct complexity classes based on time, space, and nondeterministic resource bounds as detailed in Arora-Barak.
Lecture 3: Hopcroft--Paul--Valiant Theorem (15-855)
Focuses on the Hopcroft Paul Valiant Theorem, examining its implications for efficient simulation of multi-tape Turing machines by single-tape machines.
Lecture 4: Circuits (15-855)
Explores the theory of Boolean circuits as a model of computation, including definitions, size, depth, and connections to complexity classes, drawing from Arora-Barak.
Lecture 5: Probabilistic Complexity Classes (15-855)
This lecture introduces fundamental probabilistic complexity classes such as RP, coRP, ZPP, and BPP, analyzing their definitions and interrelationships using randomized algorithms.
Lecture 6: Quasilinear Cook--Levin Theorem (15-855)
Examines the Quasilinear Cook-Levin Theorem, focusing on its construction and the reduction of any problem in NP to SAT in quasilinear time.
Lecture 7: The Polynomial Time Hierarchy (15-855)
Investigates the Polynomial Time Hierarchy (PH), defining its levels _kP and _kP through oracle Turing machines and alternating quantifiers.
Lecture 8: Oracles, and the Polynomial Time Hierarchy vs. circuits (15-855)
Explores the role of oracles in complexity theory and contrasts the Polynomial Time Hierarchy with the capabilities of bounded-depth circuits.
Lecture 9: Time/Space Tradeoffs for SAT (15-855)
Analyzes fundamental time-space tradeoffs for solving the Satisfiability problem, exploring different computational models and their resource requirements.
Lecture 10: Introduction to Arthur-Merlin classes, MA and AM (15-855)
Introduces the Arthur-Merlin (AM) and Merlin-Arthur (MA) complexity classes, formalizing interactive proof systems with probabilistic verifiers.
Lecture 11: More on constant-round interactive proof systems (15-855)
Expands on constant-round interactive proof systems, demonstrating their power and limitations in recognizing languages efficiently with probabilistic interaction.
Lecture 12: Approximate counting (15-855)
Addresses the problem of approximate counting for computationally hard problems, discussing techniques for estimating the size of solution sets within polynomial time.
Lecture 13: Valiant--Vazirani Theorem, and Exact Counting (#P) (15-855)
Presents the Valiant-Vazirani Theorem, establishing a connection between NP and randomized exact counting (#P), providing insights into counting complexity.
Lecture 14: Toda's 1st Theorem and the Permanent (15-855)
This lecture introduces Toda's First Theorem, demonstrating that the Polynomial Time Hierarchy is contained within P^#P, and discusses the complexity of computing the Permanent.
Lecture 20: Permanent is #P-complete (15-855)
A detailed proof establishes that computing the Permanent of a matrix is a #P-complete problem, underscoring its significant computational hardness.
Lecture 15: Algebraic Circuit Complexity (15-855)
Explores algebraic circuit complexity, analyzing the computation of polynomials over various fields using algebraic circuits and related lower bound techniques.
Lecture 16: Instance Checking and the Permanent (15-855)
Examines instance checking techniques in the context of the Permanent problem, exploring methods to verify specific computations efficiently.
Lecture 17: IP = PSPACE (15-855)
Demonstrates the seminal result that the class of languages with Interactive Proof systems (IP) is precisely equivalent to Polynomial Space (PSPACE).

















