6.856J/18.416J Randomized Algorithms
- Please fill out this course signup form so we can build a class mailing list and grading sheet.
- Use this spreadsheet to search for PSet collaborators.
- In the current problem set 2, problem 3 depends on material I will be covering next lecture. Thus, I am extending the deadline for problem 3 only to Friday 2/24.
NB Discussion System
I'll be posting notes and handouts
in NB. NB is a discussion forum,
but you post your questions/replies in the margins of the documents
Feel free to use nb to ask clarification questions about the homework,
but don't discuss answers---that's for you to do in your small groups.
You can subscribe to the NB class site using this link.
The course text is Randomized
Algorithms (link includes errata list). Copies should be
available at the Coop. You can also order online at Amazon or
If you are thinking about taking this course, you might want to
see what past students have said about previous times I taught
Randomized Algorithms, in
2005, or 2002.
- Homework is due Wednesdays at the beginning of class. We'll have
boxes or piles for dropping them off at the back of the room. Those boxes
will be collected a few minutes in, and homework arriving after will be
- Each student has a total budget of 15 "slack" points to accommodate his/her late problem submissions. Each problem that is submitted late but in before Friday class will consume one slack point (and incur no grade penalty). If that problem is submitted in before Monday class, it will consume two slack points (and, again, incur no grade penalty). No late problem will be considered if submitted after the Monday class begins. (So, for example, if there is a problem set with a total of five problems on it, submitting three of these problems on time, one of them before Friday class, and one of them before Monday class will consume three slack points in total.)
- Write each subproblem on a separate sheet of paper and include your name and email address. Also, make sure your name appears on each page.
- Collaboration is strongly encouraged except where
explicitly forbidden. However, each person must independently write
up his/her own solution, and you must list all collaborators for each
problem on your
problem set. Collaboration groups should be small (3 or 4 students)
to ensure that everyone is actively engaged with the problems.
- You may not seek out answers from other sources without
prior permission. In particular, you may not use bibles or posted
solutions to problems from previous years.
- Each student is required to grade (at least but hopefully) one problem
in the semester. We will have a TA-supervised grading session each week. This session is used to make sure
that the graders fully understand the solution, while they can grade the
problems at home after this session.
- For questions about grading, please contact the graders (emails listed on the website) first.
Once you reach an agreement, the grader should send an email to the grading supervisor with a short explanation
and a new grade.
- All late psets should be sent electronically to the TA supervising the grading.
||Fri, Feb. 17
||Wed, Feb. 21
||Wed, Mar. 1
These notes reflect a starting plan that may change. They are my own lecture notes; they will not serve to teach
the material but should serve as a record of what was covered in each
Note that all course notes can be found in nb, where you can read and
annotate them with questions.
- Lecture 1,
Introduction to Randomized Algorithms.
Quicksort, BSP, Min-cut. (NB)
- Lecture 2,
complexity theory, Adelman's theorem, game tree evaluation. (NB)
- 2/13. Class cancelled due to snow storm.
- Lecture 3,
game theory, lower bounds, Coupon collecting, stable marriage. (NB)
- Lecture 4,
Deviations: Markov, Chebyshev. (NB)
- Lecture 5,
2/21 (Tuesday as Monday).
Median Finding. (NB)
- Lecture 6,
Chernoff bound (NB)
Randomized routing (NB).
- Lecture 7,
Balls in bins.
- Lecture 8,
Two-choice load balancing (NB).
- Lecture 9,
Hashing. universal (NB),
perfect, cuckoo (NB).
- Lecture 10,
Consistent Hashing. Fingerprinting. (NB).
- Lecture 11,
Fingerprinting II. String Matching. Bloom
- Lecture 12,
Fingerprinting by Polynomials. Perfect Matching. (NB)
- Lecture 13,
Symmetry Breaking. Isolating Lemma. Finding perfect matchings. (NB)
- Lecture 14,
Independent set. (NB)
- Lecture 15,
IS Derandomization. Shortest Paths. (NB).
- Lecture 16,
Finish Shortest Paths. Sampling. (NB).
- Lecture 17,
Transitive closure. Rare Events. DNF Counting. (NB).
- Lecture 18,
Counting Versus Generation.
- Lecture 19,
(with min-cut notes). (NB)
3/27-3/31. Spring break.
- Lecture 20, 4/3.
Graph sparsification. Minimum Cut.
- Lecture 21,
Geometry. Arrangements of Lines. (NB)
- Lecture 22,
Randomized Incremental Construction: Convex Hull.
- Lecture 23,
Sampling for LP.
Iterative reweighting. Randomized incremental
construction. Hidden Dimension. (NB)
- Lecture 24,
Finish hidden dimension. Begin approximation algorithms. Randomized
Likely no lecture
4/17. Patriots' Day Vacation.
- Lecture 25,
Randomized rounding: max-SAT (NB).
- Lecture 26,
Randomized rounding: Set Bias; wiring; derandomization (NB).
Max-cut by SDP. Begin Bisection/Separator (NB).
Embeddings. Ratio cut.
More Markov chains. Expanders.
Markov Chains for Sampling
5/15. Peer editing session (attendance required).
Last day of class