Expander graph
From Wikipedia, the free encyclopedia
In combinatorics, an expander graph is a sparse graph which has high connectivity properties, quantified using vertex or edge expansion as described below. Expander constructions have spawned research in pure and applied mathematics, with several applications to computer science, and in particular to theoretical computer science, design of robust computer networks and the theory of error-correcting codes.
Contents |
[edit] Definitions
There are several different ways to measure the expansion properties of a finite, undirected multigraph G.
[edit] Edge expansion
The edge expansion h(G) of a graph G is defined as
where the minimum is over all nonempty sets S of at most n / 2 vertices, and stands for the set of edges with exactly one endpoint in S.
[edit] Vertex expansion
The α-vertex expansion gα(G) of a graph G is defined as
where Γ(S) stands for the set of vertices with at least one neighbor in S. In a variant of this definition (called unique neighbor expansion) Γ(S) stands for the set of vertices in V with exactly one neighbor in S.
[edit] Spectral expansion
When G is regular, a linear algebraic definition of expansion is possible based on the eigenvalues of the adjacency matrix A = A(G) of G (where Aii is the number of loops at the ith vertex). Because A is symmetric, the Spectral theorem implies that A has n real-valued eigenvalues . Because G is regular, λ0 = d where d is the degree of regularity of G. In some contexts, the spectral gap of G is defined to be d − λ1. In other contexts, the spectral gap refers to d − λ, where .
The normalized version of this definition, where we consider the matrix A / d and get eigenvalues between -1 and 1, is also widely used and more convenient in the statement of some results.
Frequently one will refer to the second-largest eigenvalue of a graph G, which refers to the max of and . Depending on the context it may be either the normalized version (taking value between 0 and 1) or the un-normalized version (taking value between 0 and d).
[edit] Expander families
A family of d-regular graphs is an edge expander family if there is a constant c > 0 such that for each . Typically we want d to be constant, though it is sometimes also interesting to consider d = log | G | or even d = | G | O(1). Similarly, is a vertex expander family if there is a constant c > 1 such that for each , and is a spectral expander family if some positive constant is a lower bound for the spectral gap of each .
These definitions can be extended to the case of directed graphs. A directed graph can also be interpreted as a balanced bipartite graph (with all edges going from one copy of V to another copy). The definition of bipartite expanders can further be generalized to the case of unbalanced bipartite graphs.
[edit] Relationship between the different definitions
The expansion parameters defined above are related to each other. In particular, for any graph G, . Consequently, every vertex expander family is also an edge expander family.
Similarly, when G is d-regular, there is a relationship between h(G) and the spectral gap d − λ1 of G. An inequality due to "Cheeger and Buser in the continuous case and Tanner, Alon, and Milman in the discrete case" [1] states that
As a result, a family of graphs is an edge expander family if and only if is a spectral expander family.
[edit] Examples of expanders
A random d-regular graph has good expansion, with high probability. Ramanujan graphs are a family of d-regular expander graphs with d being constant and with explicit constructions, that have essentially the largest possible spectral gap. Algebraic constructions based on Cayley graphs are known for various variants of expander graphs. Most recently, combinatorial constructions of expanders have also been discovered.
[edit] Applications and useful properties
The original motivation for expanders is to build economical robust networks (phone or computer): an expander with bounded valence is precisely an asymptotic robust graph with number of edges growing linearly with size (number of vertices), for all subsets.
Expander graphs have found extensive applications in computer science, in designing algorithms, error correcting codes, extractors, pseudorandom generators, sorting networks and robust computer networks. They have also been used in proving many important results in computational complexity theory, such as SL=L and the PCP theorem. In cryptography too, expander graphs are used to construct hash functions.
The following are some properties of expander graphs that have proven useful in many areas.
[edit] Expander mixing lemma
The expander mixing lemma states that, for any two subsets of the vertices , the number of edges between S and T is approximately what you would expect in a random d-regular graph, i.e. .
[edit] Expander walk sampling
The Chernoff bound states that, when sampling many independent samples from a random variables in the range [ − 1,1], with high probability the average of our samples is close to the expectation of the random variable. The expander walk sampling lemma, due to Gillman and Ajtai-Komlós-Szemerédi, states that this also holds true when sampling from a walk on an expander graph. This is particularly useful in the theory of derandomization, since sampling according to an expander walk uses much fewer random bits than sampling independently.