In combinatorics, an expander graph refers to 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.

Definitions edit

A family of regular undirected multigraphs (with self-loops) of increasing number of vertices and constant degree   is said to be a family of expander graphs if the expansion parameters (as defined below) of all the graphs in the family are bounded below by a strictly positive constant. There are various possible definitions for the expansion parameter, which are qualitatively similar, but quantitatively different. Below we let   be a graph with vertex set   and edge set  , and  .

Edge expansion
The edge expansion parameter of   is defined as
 

where the minimum is over all   with at most   vertices in it, and   stands for the set of edges in   with exactly one endpoint in  .

Vertex expansion
The vertex expansion parameter of   is defined as
 

where   is a parameter of the definition, and   stands for the set of vertices in   with at least one neighbor in  . In a variant of this definition (called unique neighbor expansion)   stands for the set of vertices in   with exactly one neighbor in  .

Spectral expansion
A linear algebraic definition of expansion is possible based on the eigenvalues of the adjacency matrix of   (with the  -th diagonal entry being the number of self-loops on the  -th vertex). For   as described, there are   eigenvalues   with  . The expansion parameter here is the spectral gap defined as  . An alternate definition of the spectral gap is as  , where  .

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   to another copy). The definition of bipartite expanders can further be generalized to the case of unbalanced bipartite graphs.

Relationship between the different definitions edit

Examples of Expanders edit

A random  -regular graph has good expansion, with high probability. Explicit constructions of expander graphs are needed in several applications. Ramanujan graphs are a family of  -regular expander graphs, 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. Combinatorial constructions using graph products are also known.

Applications edit

Expander graphs have found extensive applications in computer science, in designing algorithms, error correcting codes, randomness extractors, pseudorandomness generators, sorting networks and robust computer networks. They have also been used in proving many important results in computational complexity theory.