Connectivity and spectral expansion #
Two facts connect the spectral expansion λ(G) of a regular multigraph with its connectivity,
and they are the two ends of Reingold's algorithm for undirected connectivity
Reingold Arora and Barak, Section 21.4.
A connected graph has a spectral gap. If G is connected, a set S of at most half of the
vertices has an edge leaving it, so the edge expansion of G is at least 1 / |V|, and Cheeger's
inequality bounds the second eigenvalue of the walk operator by 1 - 1 / (2 |V|² |D|²). When at
least half of the edges at every vertex are self-loops, the walk operator is positive semidefinite
(expect_mul_walk_nonneg), so this also bounds λ(G)
(spectralExpansion_le_of_preconnected). Reingold uses the sharper bound 1 - 1 / (D N²) for
connected nonbipartite graphs, due to Alon and Sudakov Reingold, Lemma 2.5; any
inverse polynomial gap suffices for his algorithm. Self-loops are often added for this purpose by
passing to the lazy graph (Cslib.RotationMap.lazy), whose spectral expansion edge expansion
bounds in the same way
(Cslib.RotationMap.spectralExpansion_lazy_le_of_mul_card_le_card_interedges_compl); the bound
here applies to any graph that already has enough self-loops, without relabelling.
In a good expander, short walks reach every vertex. If λ(G) ^ t (|V| - 1) < 1, then for any
two vertices u and v some walk of length exactly t leads from u to v
(exists_neighbor_pow_eq): by the mixing lemma, a random walk of length t from u ends at v
with probability at least (1 - λ(G) ^ t (|V| - 1)) / |V| > 0. So an expander with λ(G) ≤ c < 1
has diameter O(log |V|); Reingold derives this from vertex expansion instead
Reingold, Proposition 2.2.
Main results #
Cslib.RotationMap.interedges_compl_nonempty: in a connected graph, an edge leaves every nonempty proper set of vertices.Cslib.RotationMap.expect_mul_walk_nonneg: if at least half of the edges at every vertex are self-loops, the walk operator is positive semidefinite.Cslib.RotationMap.spectralExpansion_le_of_preconnected: a connected graph with at least half self-loops at every vertex hasλ(G) ≤ 1 - 1 / (2 |V|² |D|²).Cslib.RotationMap.exists_neighbor_pow_eq: ifλ(G) ^ t (|V| - 1) < 1, every vertex is reachable from every other by a walk of length exactlyt.
References #
In a connected graph, some edge leaves every nonempty proper set of vertices.
If at least half of the edges at every vertex are self-loops, the walk operator is positive
semidefinite: 0 ≤ 𝔼 v, f v * G.walk f v for every f.
A connected graph has a spectral gap. If G is connected and at least half of the edges at
every vertex are self-loops, then λ(G) ≤ 1 - 1 / (2 |V|² |D|²): an edge leaves every set of at
most half of the vertices, which bounds the second eigenvalue by Cheeger's inequality
Hoory, Linial and Wigderson, Theorem 2.4, and the self-loops make the
walk operator positive semidefinite, so that the second eigenvalue is λ(G). Compare the lazy
graph, whose walk is positive semidefinite by construction
(spectralExpansion_lazy_le_of_mul_card_le_card_interedges_compl).
Short walks in an expander reach every vertex. If λ(G) ^ t (|V| - 1) < 1, then from every
vertex u some walk of length exactly t leads to any given vertex v: by the mixing lemma, a
uniformly random walk of length t from u ends at v with probability at least
(1 - λ(G) ^ t (|V| - 1)) / |V|.