# CS 761 - Randomzied Algorithms - Fall 2019

## Course Description

Randomness is a very powerful technique in algorithm design.
We will discuss tools and methods for harnessing the power of randomization in the design and analysis of algorithms and stochastic processes.
Prerequisites include basic knowledge of probability, and mathematical maturity.
## Logistics

- Lecture: Fridays, 10:00 AM - 12:50 PM, DC 2585
- Instructor: Gautam Kamath
- Teaching Assistant: Vedat Levi Alev
- Office Hours: Fridays, 12:50 PM - 2:00 PM, DC 3124

## Lecture Schedule

Schedule subject to change.
- Lecture 1 (September 6): Probability basics, Randomized Quicksort, Markov's Inequality, Coupon Collectors (scribe notes (preliminary))
- Lecture 2 (September 13): Chebyshev's Inequality, Chernoff Bound, Minimum Cut, Minimum Spanning Tree (scribe notes (preliminary))
- Lecture 3 (September 20): Balls and Bins, Hashing, Bloom Filters (scribe notes (preliminary))
- Lecture 4 (September 27): k-wise Independence, Universal Hash Functions, Perfect Hashing, Heavy Hitters, Distinct Elements (scribe notes (preliminary))
- Lecture 5 (October 4): Streaming and Sketching Frequency Moments, Dimensionality Reduction (scribe notes (preliminary))
- Lecture 6 (October 11): Probabilistic Methods, Lovasz Local Lemma (scribe notes (preliminary))
- Lecture 7 (October 25): Random Walks, Markov Chains (scribe notes (preliminary))
- Lecture 8 (November 1): Coupling, Mixing Time, Monte Carlo (scribe notes (preliminary))
- Lecture 9 (November 8): Monte Carlo, Randomized Rounding, Max Cut, Derandomization, Sparsification
- Lecture 10 (November 15): TBD
- Lecture 11 (November 22): TBD
- Lecture 12 (November 29): TBD

## Assignments

All assignments are to be submitted by email to the instructor and teaching assistant before the deadline.

Late Policy: You have a total of three 24 hour, no-questions-asked, extensions in this class. You may use any number of these for each of the three problem sets. The purpose of this policy is so that I don't introduce bias or unfairness in granting people extensions.
## Books and References

No textbook is required for this course, though we will generally cover various topics from the book below by Motwani and Raghavan.
The following books are classic references in this area.
- "Randomized Algorithms," by Rajeev Motwani and Prabhakar Raghavan.
- "Probability and Computing: Randomized Algorithms and Probabilistic Analysis," by Michael Mitzenmacher and Eli Upfal.
- "The Probabilistic Method," by Noga Alon and Joel Spencer.

## Grading

There will scribe notes (10%), 3 homework assignments (55%), and a final project (35%).

For scribe notes, please use the LaTeX template here.