Communication Complexity (for Algorithm Designers)
Tim Roughgarden

TL;DR
This course provides an overview of communication complexity, focusing on canonical problems, lower bound techniques, and their applications to various computational models and algorithmic problems.
Contribution
It compiles foundational problems, reduction techniques, and models in communication complexity to aid in proving lower bounds for algorithms.
Findings
Learned key canonical problems like Disjointness and Index.
Explored techniques for proving communication complexity lower bounds.
Connected communication complexity to various computational models.
Abstract
This document collects the lecture notes from my course "Communication Complexity (for Algorithm Designers),'' taught at Stanford in the winter quarter of 2015. The two primary goals of the course are: 1. Learn several canonical problems that have proved the most useful for proving lower bounds (Disjointness, Index, Gap-Hamming, etc.). 2. Learn how to reduce lower bounds for fundamental algorithmic problems to communication complexity lower bounds. Along the way, we'll also: 3. Get exposure to lots of cool computational models and some famous results about them --- data streams and linear sketches, compressive sensing, space-query time trade-offs in data structures, sublinear-time algorithms, and the extension complexity of linear programs. 4. Scratch the surface of techniques for proving communication complexity lower bounds (fooling sets, corruption bounds, etc.).
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
