Communication complexity studies the number of bits that should be exchanged in order to perform a computation whose input is distributed among two or more parties. This is studied under a spectrum of computational models: deterministic, non-deterministic, randomized etc.
Beyond the immediate implications that such questions have to understanding distributed computations, we will present various surprising applications to seemingly unrelated questions, mostly in Complexity Theory.
The course will use methods from Combinatorics, Probability Theory and Algebra.
This course gives an introduction to distributed graph algorithms.
We will see various models of computation and the basic problems in this field.
We will study both algorithms and lower bounds.
This is an algorithmic/mathematical course.
There will be no final exam. The grade will be composed by 3-4 home assignments (submissions in singles) and a final project (submissions in pairs).
This course will introduce students to advanced algorithms for dynamic graphs. This active research area focuses on questions of the following flavor: “How quickly can we solve algorithmic problems on graphs that change slowly over time? In particular, how much faster than recomputing from scratch after every change in the graph?” This question is central to problems with input that changes over time (for example, in GPS applications, closure and opening of roads changes the road network), but is also key to speeding up algorithms with static inputs (in much the same way that basic data structures can be used to speed up other classic algorithms). The course’s objective is to expose students to techniques and results for basic problems in the field (such as matching, shortest paths, minimum spanning trees, etc). As part of the course, the students will also be exposed to central tools in algorithm design and theory of computer science more broadly that are relevant to the course topic, including linear programming and duality and randomized algorithms. The course evaluation will be based on homework and a final project, which includes reading a research paper, summarizing the paper and simplifying it and/or improving on it.
The topic of the course is online algorithms for stochastic inputs, motivated by modern online resource allocation problems. Colorful characters such as secretaries, prophets and philosophers will be introduced and studied. The grade will be determined based on participation and presentation.