CS271 RANDOMNESS & COMPUTATION: Spring 2018
INSTRUCTOR: Alistair Sinclair
(sinclair@cs, 677 Soda)
LECTURES: Tuesday, Thursday 9:30-11:00 in 306 Soda
OFFICE HOURS: Monday 1:00-2:00, Thursday 11:00-12:00 in 677 Soda
TA: Jonah Brown-Cohen
(jonahbc@eecs, 633 Soda)
OFFICE HOURS: Tuesday 2:00-3:00, Wednesday 2:00-3:00 in 611 Soda
(5/9) Grades have been uploaded. Enjoy your summer!
(5/4) Problem Set 4 has been graded; solutions are posted below. You may pick up
your solutions from Jonah's office at any of the following times: today (Friday 5/4) 2-3pm;
Tu/Th/Fr next week (5/8, 5/10, 5/11) 1-2pm. If you are unable to pick them up at any of
those times, and you want to get your solutions, please send email to Jonah. Also,
today (5/4) is the last date for submitting course evaluations; if you haven't already
done so, please take a moment to submit your comments. If you've mislaid the original
email, you can go to this link.
(4/26) The class is now over! Thanks to everyone for taking it; I hope you found
it useful. We will let you know here when the final Problem Set has been graded so that you
can pick up your solutions. We will also let you know here when grades have been
(4/22) Thanks to a student for pointing out an issue in Q3 of Problem Set 4:
the original formulation implicitly assumes that all of the c components
chosen at random in part (a) are non-empty. In the version posted below,
I've changed part (a) to handle this issue, at the cost of a slightly larger
upper bound on the probability of the bad events A_v. The rest of
the problem should not be affected. Apologies for any confusion.
(4/19) There are a couple of minor typos in Q4(e) of Problem Set 4. First of all,
both occurrences of m should be n. Second, the intention is that you
should bound the total number of possible components of that size, not the
actual number that occur. (The purpose of this is to use a union bound over possible
components.) These typos have been fixed in the version posted below.
(4/19) I won't be able to make my office hour next Monday, 4/23. I'll reschedule
it to Tuesday 4/24, 11-12 (right after class).
(4/18) Previously the link to the notes for Lecture 25 pointed to the notes for
Lecture 24. This has now been fixed. Apologies for the error.
(4/17) Problem Set 4 is posted below; it is due on Thursday April 26 (last lecture
of the class). Although it is quite a bit shorter than the previous one, you are
advised to start working on it soon!
(4/12) Problem Set 3 has been graded; solutions are posted below. If you have not yet collected your solutions, please pick them up from Jonah at one of his office hours.
One of the most remarkable developments in Computer Science over the
past 50 years has been the realization that allowing computers to toss
coins can lead to algorithms that are more efficient, conceptually
simpler and more elegant that their best known deterministic counterparts.
Randomization has since become such a ubiquitous tool in algorithm design
that any kind of encyclopedic treatment in one course is impossible.
Instead, I will attempt to survey several of the most widely used
techniques, illustrating them with examples taken from both algorithms
and random structures. A tentative and very rough course outline,
just to give you a flavor of the course, is the following:
- Elementary examples: e.g., checking identities, fingerprinting and
pattern matching, primality testing.
- Moments and deviations: e.g., linearity of expectation, universal hash
functions, second moment method, unbiased estimators, approximate counting.
- The probabilistic method: e.g., threshold phenomena in random graphs
and random k-SAT formulas; Lovász Local Lemma.
- Chernoff/Hoeffding tail bounds: e.g., Hamilton cycles in a random
graph, randomized routing, occupancy problems and load balancing,
the Poisson approximation.
- Martingales and bounded differences: e.g., Azuma's inequality,
chromatic number of a random graph, sharp concentration of Quicksort,
optional stopping theorem and hitting times.
- Random spatial data: e.g, subadditivity, Talagrand's inequality,
the TSP and longest increasing subsequences.
- Random walks and Markov chains: e.g., hitting and cover times,
probability amplification by random walks on expanders, Markov chain
Monte Carlo algorithms.
- Miscellaneous additional topics as time permits: e.g., statistical
physics, reconstruction problems, rigorous analysis of black-box optimization
Mathematical maturity, and a solid grasp of undergraduate material
on Algorithms and Data Structures, Discrete Probability and
Combinatorics. If you are unsure about the suitability of your
background, please talk to me before committing to the class.
Following department policy, all graduate students - including auditors -
are requested to register for the class. Auditors should register
S/U; an S grade will be awarded for regular class participation.
If there is excessive demand for the class, it may be necessary to limit enrollment
to full-time graduate students. Those who decide to drop the class
are requested to do so promptly so that others may take their place.
There is no required text for the class, and no text that covers
more than about one third of the topics. However, the following
books cover significant portions of the material, and
are useful references.
- Noga Alon and Joel Spencer, The Probabilistic Method (3rd ed.),
- Svante Janson, Tomasz Łuczak and Andrzej Ruciński, Random Graphs,
- Geoffrey Grimmett and David Stirzaker, Probability and Random
Processes (3rd ed.), Oxford Univ Press, 2001.
- Michael Mitzenmacher and Eli Upfal, Probability and Computing:
Randomized Algorithms and Probabilistic Analysis (2nd ed.), Cambridge Univ Press, 2017.
- Rajeev Motwani and Prabhakar Raghavan, Randomized Algorithms,
Cambridge Univ Press, 1995.
Notes for most or all lectures will be posted on this web page shortly
after each lecture. In some cases, I may request volunteers to write scribe
notes for certain classes.
The assessment mechanism will depend on the final composition of the class
and will be announced later. A major (and possibly the only) component will
be a small number of sets of homework problems distributed through the
semester. You are encouraged to do the Exercises sprinkled through the scribe
notes as we go along, as these will ensure that you absorb the material in real
time and should make the homeworks more manageable.
If the class is not too large, students may also be asked to present a
paper at the end of the semester.
Students are strongly encouraged to solve the homework problems on their own,
or in consultation with classmates. If they find it necessary to consult
other sources, these must be acknowledged. In all cases, it is essential
that students write up their homework solutions on their own!