The discovery and study of probabilistic proof systems, such as PCPs and IPs, have had a tremendous impact on theoretical computer science. These proof systems have numerous applications (e.g., to hardness of approximation) but one of their most compelling uses is a direct one: to construct cryptographic protocols that enable super fast verification of long computations. This course will introduce students to the foundations of probabilistic proof systems, covering both classical results as well as modern efficient constructions.
Each lecture's Zoom link and discussions will be on Piazza at this link.
This course requires knowledge of basic algorithms (CS 170) and complexity (CS 172).
Completing the course for credit requires regular attendance/participation (on Piazza or during online lecture), completing occasional homework, scribing (once or twice), and a research project.
This course has no required textbook. Each lecture will have specific references. This course is a new revision of a prior course on probabilistic proofs from [Spring 2019].
TBA
#  Date  Topic  Reading 

1  2020.08.27  Interactive Proofs 1

Formulation of interactive proofs:
Video:

2  2020.09.01  Interactive Proofs 2

The sumcheck protocol: 
3  2020.09.03  Interactive Proofs 3

Shamir's protocol: Additional: 
4  2020.09.08  Interactive Proofs 4

GoldwasserSipser transformation:
Additional:

5  2020.09.10  Interactive Proofs 5

The results presented in class: Additional results: 
6  2020.09.15  Interactive Proofs 6

The result presented in class: A survey: Additional on implementations of GKR's protocol:
Additional on doublyefficient interactive proofs: 
7  2020.09.17  Interactive Proofs 7

On zero knowledge:
Video:

8  2020.09.22  Probabilistically Checkable Proofs 1

Video: New York Times article about the PCP Theorem: 
9  2020.09.24  Probabilistically Checkable Proofs 2

The exponentialsize constantquery PCP is the inner PCP in this paper: 
10  2020.09.29  Probabilistically Checkable Proofs 3

Main: Additional:
Video: 
11  2020.10.01  Probabilistically Checkable Proofs 4

Main: 
12  2020.10.06  Probabilistically Checkable Proofs 5

Main: Additional: 
13  2020.10.08  PCPs with Sublinear Verification 1

Main: 
14  2020.10.13  PCPs with Sublinear Verification 2

Main: 
15  2020.10.15  Hardness of Approximation 1 

16  2020.10.20  Hardness of Approximation 2 

17  2020.10.22  Reducing Query Complexity 1 

18  2020.10.27  Reducing Query Complexity 2 

19  2020.10.29  Reducing Query Complexity 3 

20  2020.11.03  Parallel Repetition 1 

21  2020.11.05  Parallel Repetition 2 

22  2020.11.10  Interactive Oracle Proofs 1 

23  2020.11.12  Interactive Oracle Proofs 2 

24  2020.11.17  Interactive Oracle Proofs 3 

25  2020.11.19  Interactive Oracle Proofs 4 

X  2020.11.24  No class. 

X  2020.11.26  No class. 

26  2020.12.01  Class Project Presentations 1 

27  2020.12.03  Class Project Presentations 2 

X  2020.12.08  No class. 

X  2020.12.10  No class. 