General Info
The lectures allow us to explain new material, how it relates to the rest of the course (and what you've learned in other courses), and to show examples of applying the material. Lecture notes that go into more details will be made available on this page.
Students often learn a lot from working with one another. You are encouraged to meet with other students from class for this purpose.
Lectures roughly fall into four main topics: randomized algorithms; linear programming and primal-dual algorithms; approximation algorithms; streaming algorithms.
Tentative Schedule of Lectures
Week | Topic | Readings |
Week 1: Jan 8 –14 |
Monte Carlo Algorithms: Global Min-Cut |
From "Algorithm Design" by Kleinberg and Tardos: Min Cut |
Week 2: Jan 15–21 |
Finish Min Cut Las Vegas Algorithms: Closest Pair of Points |
Karger-Stein Algorithm From "Algorithm Design" by Kleinberg and Tardos: Closest Pair of Points Finding triangles |
Week 3: Jan 22–Jan 28 |
Approximate Near Neighbors Fingerprinting for String Matching |
Approximate Near Neighbor Search CLRS Section 32.2. Lecture Notes on Karp-Rabin |
Week 4: Jan 29–Feb 4 | Streaming Algorithms | Lectures notes on Streaming Algorithms |
Week 5: Feb 5–11 | Streaming and Parallel Algorithms | |
Week 6: Feb 12–18 | Random Walks and Markov Chains |
Read the intro section of Chapter 4, and Section 4.1-4.2 of this book. Linear Algebra Review Sheet |
Feb 19–25 | NO CLASS: Reading Week | |
Week 7: Feb 26–March 4 |
Finish Random Walks Linear Programming: Basics |
LP Lecture notes |
Week 8: March 5–11 | Linear Programming Duality |
LP Lecture notes Examples of LP formulations. |
Week 9: March 12–18 |
Complementary Slackness Primal-Dual: the Hungarian Algorithm |
Read M. Goemans's lecture notes. |
Week 10: March 19–25 |
Finish the Hungarian Algorithm Deterministic and Randomized Rounding Algorithms |
Sections 1.7, 5.1-5.2 of the Williamson and Shmoys book. All of Chapter 1 is recommended. |
Week 11: March 26–Apr 1 | Primal-Dual Approximation Algorithms | Section 1.7 and 7.1-7.2 of the Williamson and Shmoys book. |
Week 12: Apr 2–4 | Chernoff Bounds | Section 5.10 of the Williamson and Shmoys book. |
Suggested Exercises
- Suggested exercises from Williamson and Shmoys: 1.4, 1.5, 5.1, 5.2, 5.3, 5.6, 5.7, 7.2
- Hint for 7.2: You may need to sometimes remove edges from your set F during your algorithm in order to satisfy 2-approximate CS.
- Do the exercises from Goemans's matchings lecture notes.
- New exercises added to Sections 4 and 6 of the LP Lecture notes.
- New exercises on variance and Chebyshev's inequality added to Section 3.1. of the streaming lecture notes.
- For Markov Chains, try exercises 4.1, 4.3, 4.4, 4.7 after Chapter 4 of this book.
- For Karp Rabin fingerprints, try the exercise after Lecture 13 of Jeff Erickson's notes, and the relevant problems in CLRS section 32.2.
- Suggested exercises for Min Cut:
- From Motwani and Raghavan's Randomized Algorithms (available through the U of T library at http://go.utlib.ca/cat/8230181) try the exercises 10.13 - 10.15 after Chapter 10.
- From Jeff Erickson's lecture notes, try the exercises after Lecture 14.
- Do the exercises in my lecture notes on the Karger-Stein Algorithm.
- After doing exercise 1 from Erickson's notes, try to give an O(m) time algorithm to execute the contraction algorithm, without using the Klein-Karger-Tarjan MST algorithm.