CS 254: Computational Complexity

## General Information

Instructor:

CAs: Ray Li (rayyli@stanford.edu)

William Marshall (wfm@stanford.edu)

Classroom: Gates B12

Time: Mondays and Wednesdays, 4:30-5:50pm

Ray's OH: Mondays 9-11am (B26)

William's OH: Tuesdays 12:45-2:45pm (B26)

Li-Yang's OH: Thursdays 1:30-3:30pm (Gates 466)

__Li-Yang Tan__(liyang@cs.stanford.edu)CAs: Ray Li (rayyli@stanford.edu)

William Marshall (wfm@stanford.edu)

Classroom: Gates B12

Time: Mondays and Wednesdays, 4:30-5:50pm

Ray's OH: Mondays 9-11am (B26)

William's OH: Tuesdays 12:45-2:45pm (B26)

Li-Yang's OH: Thursdays 1:30-3:30pm (Gates 466)

## Textbooks

__Computational Complexity: A Modern Approach__, by Sanjeev Arora and Boaz Barak.

__Mathematics and Computation__, by Avi Wigderson.

## List of Topics

- Space Complexity
ST-connectivity and its role in space complexity

Non-determinism in space complexity: Savitch's theorem

NL = coNL: Immerman-Szelepcsényi theorem

- Polynomial Hierarchy
P, NP, coNP, and friends

NP ∩ coNP ≈ having a good characterization

Efficient computation in a world where P = NP - Randomized Complexity
Randomness as a resource. Does P = BPP?

Randomness versus non-determinism

Unique-SAT: Valiant-Vazirani theorem - Non-Uniform Computation
Circuit complexity

Randomness versus non-uniformity: Adelman's theorem

Small circuits for NP? Karp-Lipton theorem

- Interactive Proofs
Arthur and Merlin, and generalizations of NP

Approximate counting: Goldwasser-Sipser theorem

IP = PSPACE - If time permits:
Beyond worst-case complexity

Hardness within P

Circuit lower bounds

Hardness versus randomness

Barriers to P versus NP

...

## Lecture schedule

(Will be updated as the quarter progresses. Supplementary material listed in gray.)

- Jan 6: Course overview; the grand challenges of complexity theory
- Jan 8: CS154 recap
- Jan 13: Space complexity; Savitchâ€™s theorem (AB §4.1-4.3)
- Jan 15: Nondeterministic space and NL-completeness of STCONN (AB §4.4)
__The complexity of graph connectivity__, Avi Wigderson

__Undirected connectivity in log-space__, Omer Reingold - Jan 22: Immerman-Szelepcsényi theorem (AB §4.4)
- Jan 27: NP, coNP, and NP ∩ coNP (AB §2.6-2.7)
Chapter
__3.5__of Wigderson's book: The class coNP, the NP versus coNP question, and efficient characterization

Chapter__6__of Wigderson's book: Proof complexity

__Propositional proof complexity: past, present, and future__, Paul Beame and Toniann Pitassi

__The limits of proof__, video of a talk by Paul Beame

__Proof complexity 2020__, video of a talk by Paul Beame

- Jan 29: The polynomial hierarchy (AB §5)
__Completeness in the polynomial-time hierarchy__, Marcus Schaefer and Chris Umans - Feb 3: P
^{SAT}and oracle Turing machines (AB §5) - Feb 5: The power of randomness in computation (AB §7)
__Chapter 7__of Wigderson's book: Randomness in computation

__Finding hay in haystacks: the power and limits of randomness__, video of a talk by Avi Wigderson

__Pseudorandomness__, monograph by Salil Vadhan - Feb 10: Randomized complexity. P versus BPP; NP versus BPP (AB §7)
__Pure randomness extracted from two poor sources__, Don Monroe

__How random is your randomness, and why does it matter__, Eshan Chattopadhyay and David Zuckerman

__Research Vignette: Ramsey graphs and the error of explicit 2-source extractors__, Amnon Ta-Shma

- Feb 12: Non-uniform computation and circuit complexity (AB §6)
__Chapter 5__of Wigderson's book: Lower bounds, boolean circuits, and attacks on P vs. NP

__P =? NP__, Scott Aaronson

__Some estimated likelihoods for computational complexity__, Ryan Williams

- Feb 19: Relating P/poly to BPP and NP: Adelman's theorem and the Karp-Lipton theorem (AB §6)
- Feb 24: Interactive proofs (AB §8)
__Chapter 10__of Wigderson's book: Randomness in proofs

__Proofs, Knowledge, and Computation__, video of a talk by Silvio Micali

__A history of the PCP theorem__, Ryan O'Donnell

__E-mail and the unexpected power of interaction__, László Babai

__1993 Gödel prize citation__, for Babai-Moran and Goldwasser-Micali-Rackoff - Feb 26: Interactive proof for #3SAT (AB §8)
- March 2: Arthur and Merlin
- March 4: Goldwasser-Sipser AM protocol for approximate counting
- March 9: Unique-SAT and the Valiant-Vazirani theorem
- March 11:

## Evaluation

• 4 problem sets (70%, weighted by total score per set)

• Course project (30%)

☐ Interim progress report (5%)

☐ Final written report (15%)

☐ Your peer evaluation report (10%)

• In-class participation (+5%)

In-class discussions will be an important component of this course, and hence attendance will be expected.• Course project (30%)

☐ Interim progress report (5%)

☐ Final written report (15%)

☐ Your peer evaluation report (10%)

• In-class participation (+5%)

Problem set policies:

• 4 late days, at most 2 per pset

• Late days can only be used for psets, not the project

• Regrade requests must be submitted within 1 week

• Late days can only be used for psets, not the project

• Regrade requests must be submitted within 1 week

## Coursework schedule

(Tentative; subject to change.)

• Pset 1: due Jan 22

• Pset 2: due Feb 5

• Pset 3: due Feb 19

• Pset 4: due March 4

• Course project

☐ Decide on project topic: Feb 12

☐ Interim progress report: Due Feb 26

☐ Final written report: Due March 11

☐ Your peer evaluation report: Due March 20

• Pset 2: due Feb 5

• Pset 3: due Feb 19

• Pset 4: due March 4

• Course project

☐ Decide on project topic: Feb 12

☐ Interim progress report: Due Feb 26

☐ Final written report: Due March 11

☐ Your peer evaluation report: Due March 20