Pseudorandomness and Combinatorial Constructions (Fall 2017)

Time and Location: TTh 1:30pm-2:45pm, Bloomberg 176.

Instructor: Xin Li. Office hours: W 2:00-3:00pm, or by appointment.


Course description: Randomness is very useful in almost all areas of computer science, such as algorithms, distributed computing and cryptography. However, computers generally do not have access to truly uniform random bits. To deal with this, we rely on various pseudorandom objects to reduce either the quantity or the quality of the random bits needed.

In this course, we will develop provably good pseudorandom objects for a variety of tasks. We will frequently require explicit combinatorial constructions. That is, we will want to efficiently and deterministically construct such objects. Along the way, we will also explore the close connections of such objects to many other areas in computer science and mathematics, such as graph theory, coding theory, complexity theory and arithmetic combinatorics.

List of tentative topics: Applications of randomness in computation; The probabilistic method; K-wise independence; Almost k-wise independence, coding theory and epsilon-biased space; Expander graphs and random walk on expanders; Pseudorandom generators from hard functions; Average case hardness, hardcore predicates and list-decoding; Left over hash lemma and extractors; Pseudorandom generators for space bounded computation; Trevisan's extractor; Kakeya sets and mergers; Seedless extractors.

Prereq: Discrete math, probability theory, some familiarity with algebra.

Note: This is a graduate-level introductory course to the area of pseudorandomness. Students are expected to have some basic knowledge of combinatorics, graph theory and probability theory. Students who are interested in mathematics/theory of computation/complexity theory will probably find this course interesting.

Useful links:

Salil Vadhan's Course (with lecture notes)
Luca Trevisan's Course (with lecture notes)

Original Papers:

Joseph Naor and Moni Naor. Small-bias Probability Spaces: efficient constructions and Applications.

Noga Alon, Oded Goldreich Johan Hastad and Rene Peralta. Simple Constructions of Almost k-wise Independent Random Variables.

Avraham Ben-Aroya and Amnon Ta-Shma. Constructing Small-Bias Sets from Algebraic-Geometric Codes.

Amnon Ta-Shma. Explicit, almost optimal, epsilon-balanced codes.

Noam Nisan and Avi Wigderson. Hardness vs. Randomness

Russell Impagliazzo and Avi Wigderson. P=BPP Unless E Has Sub-Exponential Circuits: Derandomizing the XOR Lemma.

J. Hastad, R. Impagliazzo, L. A. Levin and M. Luby. A Pseudorandom Generator from any One-way Function.

Luca Trevisan. Extractors and Pseudorandom Generators.

Ran Raz, Omer Reingold and Salil Vadhan. Extracting all the Randomness and Reducing the Error in Trevisan's Extractors.


Shlomo Hoory, Nathan Linial and Avi Wigderson. Expander Graphs and their Applications.

Papers for potential projects:

Klim Efremenko. 3-Query Locally Decodable Codes of Subexponential Length.

Michael B. Cohen. Ramanujan Graphs in Polynomial Time.

Russell Impagliazzo, Raghu Meka, David Zuckerman. Pseudorandomness from Shrinkage.

Magnus Gausdal Find, Alexander Golovnev, Edward Hirsch, and Alexander Kulikov. A better-than-3n lower bound for the circuit complexity of an explicit function.