NYU Randomized Algorithms
Randomization in Computation: Tools, Techniques, and Algorithms

Instructor:
Anupam Gupta
Lectures: Thursdays at 2:45-4:45pm ET, 312 Warren Weaver
Professors office hours: By appointment.
Overview: This is a graduate course in
randomized algorithms, where we cover how randomness can often
lead to simple, improved algorithms (using less time and
space). We will cover topics that go beyond the Honors
Algorithms course. Specifically, we will see how basic facts
about means and standard deviations (i.e., the first and
second moments) can already give new algorithms. We will then
show how to use concentration (aka Chernoff-Hoeffding) bounds,
the Lovasz Local Lemma, Random walks on Graphs, and other
probabilistic tools useful for algorithm design. Time permitting, we
will discuss derandomization.
The goal will be to discuss both general techniques and
specific algorithms: we will see algorithms for finding
min-cuts and to sparsify graphs, finding satisfying
assignments to Boolean formulas, counting the number of
distinct elements in a data stream with very little space,
assigning jobs to machines or routing paths in graphs to
minimize load, sampling random matchings, approximating
metric spaces by trees, reducing the dimension of data,
learning hypothesis from samples of data, and other
topics. A detailed syllabus will be posted as the course
progresses.
Prerequisites: We expect students to have a good background in algorithm design. For example, Honors Analysis of Algorithms (CSCI-GA.3520-001), Algorithms 2 (CS-GY 6043), Algorithmic Machine Learning and Data Science (CS-GY 6763), or similar graduate-level Algorithms courses. SOlid understanding of probability; we will use some linear algebra and calculus, and mathematical maturity is a must.
Grading breakdown: The course evaluation will be based on 4-5 homework sets, and a research project/presentation at the end of the course. Depending on the class size, some of the homeworks may be oral homeworks(!).
Course Infrastructure: We will use Ed for course discussions, Gradescope for homework submissions, and Brightspace for all course material.
Collaboration: For some of the problems, we will ask you to work solo, whereas for others we will allow collaboration in small groups. Each person must write their own solutions to submit.
Resources:
There is no official textbook for the
course. We like these books:
Randomized Algorithms by Rajeev Motwani and Prabhakar
Raghavan
Probability and Computing by Michael Mitzenmacher and
Eli Upfal
The Probabilistic Method by Noga Alon and Joel
Spencer.
We will post readings from
books and research papers, which will be
available free online or via the NYU
library.
Homeworks:
Lecture # | Topic | Reading | Homework |
---|---|---|---|
1. 9/4 | Introduction, Some Algorithms using Randomization, Basic Probability Tools | ||
2. 9/11 | |||
3. 9/18 | |||
4. 9/25 | |||
5. 10/2 | |||
6. 10/9 | |||
7. 10/16 | |||
8. 10/23 | |||
9. 10/30 | |||
10. 11/6 | |||
11. 11/13 | |||
12. 11/20 | |||
11/27 | Thanksgiving! | ||
13. 12/4 | |||
14. 12/11 |