# CS271 RANDOMNESS & COMPUTATION: Spring 2020

INSTRUCTOR: Alistair Sinclair
(sinclair@cs; 677 Soda)

LECTURES: Tuesday, Thursday 9:30-11:00 in 310 Soda

OFFICE HOURS: Monday 1:00-2:00, Thursday 11:00-12:00 in 677 Soda

TA: Kush Bhatia
(kush@cs; 8th Floor Berkeley Way West)

OFFICE HOURS: Tuesday 2:00-3:00, Wednesday 10:00-11:00 in Alcove 347 Soda

### Recent Announcements

(2/18) Apologies for my confusion in this morning's lecture on the application of d-wise independent random variables to the Ramsey Theory problem. Recall that our goal is to construct a red/blue coloring of K_n so that the edge colors are d-wise independent. For this, it suffices to have r = (n choose 2) d-wise independent values in {red,blue}, one for each edge. But our family of d-wise independent variables over Z_q (for q>r) gives us q such values in Z_q, each of which we can just project down uniformly to {red,blue}. In other words, we're not trying to interpret each value in Z_q as a coloring of K_n, just as a coloring of one edge. Therefore, everything works as expected. This is clarified in the notes. Apologies again for the confusion.
(2/11) A reminder that the first Problem Set is due this Thursday, 2/13, at 5pm. Please submit your solutions on Gradescope. **When submitting on Gradescope, please be sure to tag each of your solutions (which should start on a separate page) with the corresponding problem number in the list provided.**
(2/6) Due to an all-day meeting, I will be unable to hold my office hour next Monday, Feb 10. All other office hours will be held as usual next week.
(2/4) When writing up your solutions to Problem Set 1, **please be sure to start the answer to each problem (but not each problem part) on a new page!** This will make the submission to Gradescope much easier for you and for us. Thanks!
(2/2) Kush has enrolled everyone in Gradescope today; you should have received a confirmation email from Gradescope. Please take a moment to log in to Gradescope some time in the next few days and check that the information associated with your account (name, SID, email, degree goal) is correct. If you didn't get the email from Gradescope, or if you notice any discrepancies in your information, please email Kush directly.
(1/31) The first Problem Set is posted below; it is **due at 5pm on Thursday Feb 13th**.
These problems will take a bit of time, so you are strongly advised to start early!
Instructions for submitting your solutions on Gradescope will be posted here before the
deadline.
(1/21) Welcome to CS271! The first lecture note is posted below; you are
strongly encouraged to read it and do the (mostly straightforward) exercises in it
before the next lecture

### Lecture Notes

### Problem Sets

### 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 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
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

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 over-subscribed, there may not be space for
auditors in lectures: if you are auditing the class, or on the waitlist,
please be prepared to give up your seat to an enrolled student.
If you decide to drop the class, please do so as early as possible so
that another student may take your place.
### 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* (3rd ed.),
Wiley, 2008.
- Svante Janson, Tomasz Łuczak and Andrzej Ruciński,
*Random Graphs*,
Wiley, 2000.
- 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.

### 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 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 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.
If the class is not too large, students may also be asked to present a
paper at the end of the semester.
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 on your own!**