CSE 200, Computability and Complexity, Winter 2018
This class is an introduction to computational complexity theory. This area aims to understand the various resources
needed to solve computational problems. Such resources include the obvious ones, such as time and memory,
but also possibly less obvious ones, such as randomization, interaction and non-uniformity. In addition, we will
attempt to classify problems as "easy" or "hard", study relations between easy and hard problems, as understand
why the "P vs NP" problem
possibly the most important open problem in computer science, mathematics and science at large.
Class Times: M,W 10:30-11:50, EBU3B (CSE building), room 4140
Instructor: Shachar Lovett, firstname.lastname@example.org, Office hours: TBD
TA: Marco Carmosino, email@example.com, Office hours: TBD
Computational Complexity: A Modern Approach, Sanjeev Arora and Boaz Barak, 1st edition, 2009.
Online version (draft)
- Models of computation: Turing Machines and variants, RAM model, Boolean circuits. Simulating one machine model with another. The Church-Turing thesis and versions for efficient computation (Chapters 1, 3, and 6)
- Universal machines and diagonalization: Undecidability. Recursive enumerability. The Halting Problem. Time and Space Hierarchy Theorems. Reductions. (Chapter 3).
- NP-completeness and the P vs NP question. Consequences of P = NP. The polynomial-time hierarchy. (Chapters 2 and 5)
- Space Complexity (Chapter 4)
- Randomized computing (Chapter 7)
- Time permitting: Interactive proofs (Chapter 8), Quantum computation (Chapter 10)
4 homework sets and a final project, each worth 20%.
- Introduction. Turing machines. Computable functions and robustness under different models.
- Universal Turing machines. Uncomputable functions. Definition of time complexity. (Arora-Barak 1.4-1.6).
- Time and space complexity and hierarchy theorems. (Arora-Barak 3.1 and 4.1).
- NP and NP-completeness. (Arora-Barak 2.1-2.2, 2.5).
- NP-completeness: Cook-Levin theorem. (Arora-Barak 2.3).
- Beyond NP: the Polynomial Hierarchy. (Arora-Barak 2.6, 5.1-5.2).
- Space complexity: Logspace computation. NL completeness. (Arora-Barak 4.1).
- Space complexity: PSPACE completeness. Savitch theorem. (Arora-Barak 4.2-4.3).
- Space complexity: NL=coNL. Boolean circuits. (Arora-Barak 4.3, 6.1-6.2).
- Boolean circuits: Karp-Lipton, Meyer theorems. (Arora-Barak 6.3-6.5).
- Boolean circuits lower bounds: PARITY is not in AC0 (see Arora-Barak 14.1 for a different proof).
- Boolean circuits lower bounds: PARITY is not in AC0 (contd), Natural proofs (Arora-Barak 23).
- Randomness in computation (Arora-Barak 7.1).
- Randomness in computation (Arora-Barak 7.2-7.4).
- Randomness in computation (Arora-Barak 7.5).
- Interactive proofs (Arora-Barak 8.1-8.2).