Today we will make a brief excursion into the fascinating world of expander graphs. It is hard to overstate the importance of these objects to theoretical computer science. They play an important role in some astonishing algorithms, the PCP theorem, derandomization, circuit complexity, etc. Today we will show how expanders are used in designing special routing networks called superconcentrators.
The easiest one-sentence description of an expander graph is: a graph that looks in many important ways like a random graph. So, although expander graphs are often viewed as a difficult field of study, in many ways they are very simple. In particular, here’s an easy one-sentence construction of an expander graph: a random graph is very likely to be a good expander graph. Proving that sentence is not difficult, and we will do so today.
Beyond the basics, the study of expanders becomes quite non-trivial. For example, in many scenarios we need a deterministic algorithm to construct an expander; such constructions often involve very sophisticated mathematics. Alternatively, we might like to give very precise guarantees on the quality of randomly generated expanders. That also gets very difficult.
But today we will be content with a simple, crude, randomized construction. This suffices for many amazing applications.
The Definition. Let be a bipartite graph, where is the set of left-vertices, is the set of right-vertices, and is the set of edges (each of which have one endpoint in and one in ). For any subset , let
Remark. The theorem is trivial when but it is interesting even in the case .
Proof: We generate the graph as follows. First we generate vertices to form the set , and vertices to form the set . Next, for every vertex , we randomly choose exactly vertices from (with repetition), and we add edges from to all of those vertices. (So technically the resulting graph will be a multigraph, but this is not a problem.)
Let be an arbitrary subset with . We need to show that . We do this in a very naive way. We simply consider every set with and show that it is unlikely that . That probability is easy to analyze:
Observe that we don’t need to consider all sets with , it suffices to consider those with . (In fact, we will simplify our notation by considering the negligibly harder case of .) As long as is not contained in any such , then we have as required.
The remainder of the proof simply does a union bound over all such and .
For , the base of the exponent is less than , and so the infinite series adds up to less than .
So the probability that the random graph fails to satisfy the second inequality in (1) is less than .
Let be a graph. There are two disjoint subsets and with . The vertices in are called the inputs and the vertices in are called the outputs. The graph is called a superconcentrator if, for every and every and with , there are vertex-disjoint paths from to .
It is important to note that we do not insist that the path starting at some has to arrive at a particular ; it is acceptable for it to arrive at an arbitrary . In other words, the paths from to induce some bijective mapping but we do not care what that mapping is.
Why might we be interested in such graphs? Suppose we want to design a telephone network with input lines and output lines such that any set of input lines can be connected to any set of output lines. To minimize the cost of this network, we would like the number of wires and routing points inside the network to be as small as possible. It is easy to design a superconcentrator with edges: simply add an edge between every vertex in and every vertex in . Can one do better than that? It was conjectured by Valiant that edges are necessary. His conjecture came from an attempt to prove a lower bound in circuit complexity. But a short while later he realized that his own conjecture was false:
Theorem 2 For any , there are superconcentrators with inputs, outputs, and edges.
The proof uses expanders, recursion and Hall’s theorem in a very clever way. First we observe the following interesting property of expanders: they have matchings covering any small set of vertices.
The Main Idea. The construction proceeds as follows.
- First we create the input vertices and output vertices , where .
- Next we create some internal vertices and with .
- We directly connect to using edges that form a matching. (Say, the th vertex in is connected to the th vertex in , for every .)
- Let be a -expander. We make one copy of with left-vertices and right-vertices , and an additional copy with left-vertices and right-vertices .
- Finally, we create a smaller superconcentrator with inputs and outputs .
The Size. First let us analyze the total number of edges in this construction. We use a simple recurrence relation: let be the number of edges used in a superconcentrator on inputs and outputs. The total number of edges used in the construction is:
- edges for the matching from to .
- edges for each of the two expanders.
- edges for the smaller superconcentrator.
Thus . For the base case, we can take whenever is a sufficiently small constant. This recurrence has the solution .
The Superconcentrator Property. Consider any and with . We must find vertex-disjoint paths from to .
Case 1: . By Claim 3, the first expander contains a matching covering . Let be the other endpoints of that matching. Similarly, the second expander contains a matching covering . Let be the other endpoints of that matching. Note that . By induction, the smaller superconcentrator contains vertex-disjoint paths between and . Combining those paths with the edges of the matchings gives the desired paths between and .
Case 2: . Claim 3 only provides a matching covering sets of size at most , so the previous argument cannot handle the case . The solution is to use the edges that directly connect and .
By the pigeonhole principle, there are at least vertices in that are directly connected by the matching to vertices in . The remaining vertices (of which there are at most ) are handled by the argument of Case 1.