CSE 291, Communication Complexity, Winter 2026

Communication complexity is a computational model which captures communication bottlenecks in algorithm design. The model consists of two or more players, each having their own input. The goal is to accomplish some distributed task based on the inputs, while minimizing communication. This model captures many real-life scenarios, such as time-space tradeoffs for data structures, streaming algorithms, sketching algorithms, sub-linear time algorithms, and many more. This class will cover both the theory of communication complexity, as well as some of the applications of it.

Information:

Homework:

Lecture notes:

The lecture notes are on Overleaf and will be updated throughout the quarter.

Topics:

  1. Deterministic protocols: model, examples, clique vs independent set, lower bound techniques, applications to time-space tradeoffs and formula depth lower bounds
  2. Non-deterministic protocols: model, examples, lower bound techniques, application to linear programming lower bounds
  3. Randomized protocols: private, public and distributional models, examples, lower bound techniques, application to streaming algorithms lower bounds
  4. Unbounded error protocols: model, connection to sign rank, Forster's lower bound techniques
  5. Multi-party protocols: number-in-hand and number-on-forehead models, connections of deterministic protocols to additive combinatorics and Ramsey theory, lower bounds for randomized protocols

Evaluation:

4 homework sets and a final project, each worth 20%. The homework sets are standard problem solving. The final project is to read a relevant paper and write a short survey (6-10 pages) about it. Both the homework and the final project can be done individually or in pairs.

Textbooks:

There are several good textbooks on the topic: There are also a few good surveys on some more specialized topics: The following lecture notes from similar classes might also be useful: