# 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

### Recent Announcements

• (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 uploaded.
• (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.

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

### Registration

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.

### 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 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. In some cases, I may request volunteers to write scribe notes for certain classes.

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