CS271 RANDOMNESS & COMPUTATION: Fall 2024
INSTRUCTOR: Alistair Sinclair
(sinclair@cs; 677 Soda)
LECTURES: Tuesday, Thursday 9:30-11:00 in 310 Soda
OFFICE HOURS: Tuesday, Thursday 11:00-12:00 in 677 Soda
READER: Vilas Winstein
(vilas@berkeley.edu)
OFFICE HOUR: Wednesday 1:00-2:00 in 1044 Evans
Recent Announcements
- (12/17)
HW4 has been graded, and the sample solutions are posted below. Please review your graded
solutions on Gradescope. Course grades will be posted by the end of this week.
- (12/6)
Lecture Note 24 (the last of the class) is posted below. Please remember that HW4 is
due next Friday, 12/13. Vilas and I will hold office hours as usual on
Tuesday & Wednesday next week (but not on Thursday).
- (12/4)
Lecture Note 23 is posted below.
- (12/1)
Welcome back! I hope everyone had a good Thanksgiving.
A reminder that Vilas will be giving Tuesday's (12/3) lecture as I have an unavoidable
campus meeting that day; this will be a regular course lecture.
I will also have to cancel my office hour that day. Schedule returns to normal on
the last day of the class (Thursday 12/5). There are no more quizzes, and the last
homework (HW4) is due on the Friday of RRR week (12/13). Office hours (but not lectures)
will run as usual during RRR week.
- (11/27)
Quiz 10 has been graded; solutions below. Have a good Thanksgiving!
- (11/21)
Quiz 10 and HW4 are both posted below. The Quiz is due as usual by 5pm on Sunday,
Nov 24, and covers this week's lectures (21 and 22); the Homework is not due until
Friday Dec 13 (end of RRR Week). However, if
you want to get started early, you already have all the material needed for all but
the last problem. Finally, Lecture Note 22 is also posted below.
- (11/20)
HW3 has been graded; please take some time to review your graded solutions on Gradescope
and also the sample solutions posted below.
- (11/19)
Scheduling update: There will be no lectures next week (Tue 11/26 and Thu 11/28)
due to the Thanksgiving holiday. After Thanksgiving, Vilas will be giving the lecture on
Tue 12/3 and I will give the last lecture on Thu 12/5. There will be one more HW, HW4,
which will be posted by the end of this week and due on Friday Dec 13 (end of RRR week).
HW4 will be shorter than the last two homeworks.
- (11/19)
Quiz 9 has been graded; the solutions are below. Also, Lecture Note 21 is posted below.
- (11/15)
Quiz 9 is posted below, covering Lecture Notes 18-20. It is due at 5pm on Sunday,
Nov 17, and as usual shouldn't take much time if you've followed those lectures.
- (11/12)
Lecture Note 20 is posted below.
- (11/7)
Lecture Note 19 is posted below.
- (11/5)
Lecture Note 18 is posted below. Also, Quiz 8 has been graded and the solutions are
posted below.
- (10/31)
Important guidance and clarification on HW3: (i) Q1 and Q3 on HW3 are quite lengthy and tricky.
I recommend tackling the other three problems (which are more straightforward) first.
Also, you should not stress out too much about completing every problem: e.g., if you run out
of time, omitting part or all of Q1 or Q3 is fine. (ii) In Q3, a point u is
connected to a point v if u is one of the k closest
neighbors of v or vice versa. (Note that this relation is not necessarily
symmetric!) In other words, we include the edge (u,v) in the undirected
graph G if at least one of the conditions is satisfied. This means that the
degree of some points may be larger than k.
- (10/31)
Lecture Note 17 and Quiz 8 are posted below. Quiz 8 is due at 5pm on Sunday, Nov 3 and
is based on Lectures 16 & 17.
- (10/29)
Lecture Note 16 is posted below. Also, Quiz 7 has been graded and the solutions are
posted below.
- (10/25)
Quiz 7 is posted below; it is due at 5pm on Sunday, Oct 27. It's based on Lectures 14 & 15
and shouldn't take much time if you're on top of those.
- (10/24)
Lecture Note 15 and HW3 are posted below. HW3 is due on Friday November 8th (~ 2 weeks).
As usual, you are strongly encouraged to start work on this now; you already have all the
necessary material. If you are not already doing so, I also strongly recommend working
in small groups (2-3 people) to discuss the problems.
- (10/22)
Lecture Note 14 is posted below.
- (10/21)
Quiz 6 has been graded; solutions are below. Since people had a bit more trouble than usual
with this Quiz, the solutions include brief explanations.
- (10/17)
A reminder that students are expected to attend class regularly. Most of you are doing this already, but some are not. The intention in this class is that you follow the material in real time, and participate in active learning in class. Students are asking insightful questions that often lead to important clarifications of the explanations in the notes. I'm not taking formal attendance, and occasional absences are fine, but please plan to attend by default.
- (10/17)
Lecture Note 13 and Quiz 6 are posted below. Quiz 6 is based on lectures 11, 12 and 13
and should only take a few minutes if you've followed that material. It's due as usual
this Sunday, 10/20, at 5pm.
- (10/15)
Lecture Note 12 is posted below. Also, HW2 has been graded. Please carefully review
your graded solutions on Gradescope and check the sample solutions below.
- (9/17)
A student in the class, Bhaskar Mishra, has set up a class discord server to make it easier
for students to disucss lecture topics and homework questions outside class. Here is the
link to the server: https://discord.gg/pY5P59v7.
Thanks to Bhaskar for setting this up.
Lecture Notes
Homeworks
Quizzes
Course Description
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 than 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 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
heuristics,...
Prerequisites
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.
As this is a graduate class, students are responsible for filling
in any gaps in their knowledge as needed.
Registration
The class is currently full (based on room capacity and GSI resources).
Students will be admitted from the waitlist, or given access codes,
if and when space becomes available.
Following department policy, all students - including auditors -
are required to register for the class. Auditors should register
S/U; an S grade will be awarded for regular class participation.
Since the class is already full, there may not be space for
auditors in lectures: if you are auditing the class, or are still awaiting
enrollment,
please do not attend lectures until a space becomes available; you may follow
the class using the lecture notes posted here.
Suggested References
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 background references.
- Noga Alon and Joel Spencer, The Probabilistic Method (4th ed.),
Wiley, 2016.
- Svante Janson, Tomasz Łuczak and Andrzej Ruciński, Random Graphs,
Wiley, 2000.
- Geoffrey Grimmett and David Stirzaker, Probability and Random
Processes (4th ed.), Oxford Univ Press, 2020.
- 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.
Lecture Notes
Notes for most or all lectures will be posted on this web page shortly
after each lecture. The notes will cover most, but not necessarily all
of the material presented in class.
Assessment etc.
The main (and possibly the only) component will be a small number of sets
of homework problems distributed through the semester. These homeworks will
be fairly substantial. You are encouraged to read the lecture notes and do the exercises
sprinkled through them as we go along, as these will ensure that you absorb
the material in real time and should make the homeworks more manageable.
You are strongly encouraged to solve the homework problems on your own,
or in consultation with classmates. If you find it necessary to consult
other sources, these must be acknowledged. In all cases, it is essential
that you write up your homework solutions entirely on your own.
In addition, there may also be a short weekly or bi-weekly quiz consisting
of a few multiple-choice questions designed to test your understanding of that week's lectures.
This should take minimal additional time if you are following the class.
Finally, for full credit students are expected to attend class regularly.
Occasional absences are fine, but systematic non-attendance is not.