# CMU Randomized Algorithms

Randomized Algorithms, Carnegie Mellon: Spring 2011

## Lecture #18: Oblivious routing on a hypercube

In celebration of Les Valiant’s winning of the Turing award, today we discussed a classic result of his on the problem of oblivious routing on the hypercube. (Valiant, “A scheme for fast parallel communication”, SIAM J. Computing 1982, and Valiant and Brebner, “Universal schemes for parallel communication”, STOC 1981). The high-level idea is that rather than routing immediately to your final destination, go to a random intermediate point first. The analysis is really beautiful — you define the right quantities and it just magically works out nicely. See today’s class notes. We also discussed the Butterfly and Benes networks as well. (See the excellent notes of Satish Rao for more on them).

At the end, we also briefly discussed Martingales: their definition, Azuma’s inequality, and McDiarmid’s inequality (which doesn’t talk about Martingales directly but is very convenient and can be proven using Azuma). The discussion at the end was extremely rushed but the key point was: suppose you have a complicated random variable $\phi$ you care about like “the running time of my randomized algorithm” where the random variable is a function of a series of random choices $z_1, z_2, ....$ Then the sequence $X_0, X_1, \ldots$ where $X_i = E[\phi | z_1, \ldots, z_i]$ is a Martingale. E.g., the expected running time of quicksort given that the first $i-1$ pivots are $z_1, \ldots z_{i-1}$ is the expected value, over the possible choices of $z_i$ of the expected running time of quicksort given that the first $i$ pivots are $z_1, \ldots, z_i$.