CSE 632: Analysis of Algorithms II : Randomized Algorithms (Fall 2019)
Course Information
Time: WeFr 11:00AM~12:20PM
Location: Talbert 103
Credits: 3
Please sign up the course on Piazza.
Instructor
Shi Li
Office: 328 Davis Hall
Email: [first name][last name initial][at][buffalo][dot][edu]
Homepage: http://www.cse.buffalo.edu/~shil/
Office hours for the course: Wed 2:00pm-3:00pm and by Appointment
Overview
Randomness is a basic and extremely useful concept in algorithm design. Over the last three decades, randomized algorithms has grown into a big research area and tremendous tools and techniques have been developed for a wide range of applications. This course will cover some of the basic tools in design and analysis of randomized algorithms.
Prerequisites
A prerequisite of CSE 431/531 is required. A basic knowledge of probability theory is desirable.
Recommended Textbooks
- Michael Mitzenmacher and Eli Upfal. Probability and Computing. Cambridge University Press, 2nd edition, 2017.
- Rajeev Motwani and Prabhakar Raghavan. Randomized Algorithms. Cambridge University Press, Cambridge, England, June 1995.
- Sheldon M. Ross. Introduction to Probability Models. Academic Press, Inc., 10th edition, 2009.
Links to Similar Courses
Grading
Your final grade will be computed as follows:
- Participation: 20%.
- Scribe: 20%. Each student in the course is required to provide scribe notes for 1-2 lectures. A scribe note is due a week after the lecture. Scribe notes must be typed in LaTex.
- Homework: 30%. There are 5 homeworks, each worth 6 points.
- In-Class Final Exam: 30%.
Homework Policy
No late homeworks will be accepted. You are allowed to discuss with classmates on homework problems. However, it is highly recommended that you first think about each problem for enough time before the discussion. You must write your solutions by yourself, in your own words. You need to write down the names of the students you collaborated with. Those who fail to follow these rules will be treated as cheating and violation of academic integrity. Other than getting an immediate F for the course, further actions consistent with the Department Academic Integrity Policy will be taken.
Homeworks
Schedule
- Introduction: (0-Administrivia, 1-2-Introduction, 3-4-Probability, 5-Probability)
- administrivia
- a sample of randomized algorithms: Freivalds' Algorithm to verify matrix multiplication, randomized selection algorithm
- basic probability theory: probability space, experiments, events, expectation, conditional probability
- basic probability theory: linearity of expectation, independence of variables, variance and standard deviation
- basic probability theory: common distributions
- balls and bins, coupon collector, birthday paradox
- More Randomized Algorithms (6-7-Hashing, 8-Quicksort, Shayan Gharan's Lecture Notes on Karger's algorithm)
- universal hashing
- randomized quicksort
- randomized min-cut algorithm
- Tail Bounds and Applications (about 7 lectures) (10-Concentration-Bounds, 11-Discrepancy, 12-Congestion-Minimization, 13-14-Johnson-Lindenstrauss, 15-16-Martingals-Azuma)
- Markov inequality, Chebyshev Inequality
- Chernoff bounds
- Applications of Chernoff Bounds: discrepancy and set-cover, min-congestion routing
- Johnson-Lindenstrauss Lemma for L2-Dimension Reduction
- Martingals and Azuma-Hoeffding inequality
- Markov Chains (about 4 lectures) (17-Markov-Chains, 18-2SAT, 19-3SAT, 20-Random-Walk)
- Markov chains, random walks and cover times
- randomized 2-Sat, and s-t connectivity
- random graphs and expanders
- Advanced Topics (about 6 lectures) (21-22-Multiplicative-Weight-Update, 23-0-Sum-Game, 24-Streaming-L0 (from Fall 2017), 25-26-Tree-Embedding)
- streaming algorithms: L2 norm estimation and count-min hashing
- 0-sum game, Nash equilibrium and multiplicative weight update
- Lovasz local lemma, k-sat satisfiability, Moser's constructive proof of LLL
- ....
- Final Review + Final Exam (Friday, December 6, 2019)