Spectral Sparsification of Graphs

Daniel A. Spielman, Shang-Hua Teng

Introduction

Graph sparsification is the task of approximating a graph by a sparse graph, and is often useful in the design of efficient approximation algorithms. Several notions of graph sparsification have been proposed. For example, Chew [Che89] was motivated by proximity problems in computational geometry to introduce graph spanners. Spanners are defined in terms of the distance similarity of two graphs: A spanner is a sparse graph in which the shortest-path distance between every pair of vertices is approximately the same in the original graph as in the spanner. Motivated by cut problems, Benczur and Karger [BK96] introduced a notion of sparsification that requires that for every set of vertices, the weight of the edges leaving that set should be approximately the same in the original graph as in the sparsifier.

Motivated by problems in numerical linear algebra and spectral graph theory, we introduce a new notion of sparsification that we call spectral sparsification. A spectral sparsifier is a subgraph of the original whose Laplacian quadratic form is approximately the same as that of the original graph on all real vector inputs. The Laplacian matrix For more information on the Laplacian matrix of a graph, we refer the reader to one of [Bol98, Moh91, GR01, Chu97]. of a weighted graph G=(V,E,w)G=(V,E,w), where w(u,v)w_{(u,v)} is the weight of edge (u,v)(u,v), is defined by

It is better understood by its quadratic form, which on x∈IRVx\in{\rm I\kern-2.0ptR}^{V} takes the value

We say that G~\widetilde{G} is a σ\sigma-spectral approximation of GG if for all x∈IRVx\in{\rm I\kern-2.0ptR}^{V}

Our notion of sparsification captures the spectral similarity between a graph and its sparsifiers. It is a stronger notion than the cut sparsification of Benczur and Karger: the cut-sparsifiers constructed by Benczur and Karger [BK96] are only required to satisfy these inequalities for all x∈{0,1}Vx\in\left\{0,1\right\}^{V}. In Section 5 we present an example demonstrating that these notions of approximation are in fact different.

Our main result is that every weighted graph has a spectral sparsifier with O~(n)\widetilde{\mathcal{O}}\left(n\right) edges that can be computed in O~(m)\widetilde{\mathcal{O}}\left(m\right) time, where we recall that O~(f(n))\widetilde{\mathcal{O}}\left(f(n)\right) means O(f(n)log⁡cf(n))O(f(n)\log^{c}f(n)), for some constant cc. In particular, we prove that for every weighted graph G=(V,E,w)G=(V,E,w) and every ϵ>0\epsilon>0, there is a re-weighted subgraph of GG with O~(n/ϵ2)\widetilde{\mathcal{O}}\left(n/\epsilon^{2}\right) edges that is a (1+ϵ)(1+\epsilon) approximation of GG. Moreover, we show how to find such a subgraph in O~(m)\widetilde{\mathcal{O}}\left(m\right) time, where n=∣V∣n=\left|V\right| and m=∣E∣m=\left|E\right|. The constants and powers of logarithms hidden in the O~\widetilde{\mathcal{O}}-notation in the statement of our results are quite large. Our goal in this paper is not to produce sparsifiers with optimal parameters, but rather just to prove that spectral sparsifiers with a nearly-linear number of edges exist and that they can be found in nearly-linear time.

Our sparsification algorithm makes use of a nearly-linear time graph partitioning algorithm, ApproxCut\mathtt{ApproxCut}, that we develop in Section 8 and which may be of independent interest. On input a target conductance ϕ\phi, ApproxCut\mathtt{ApproxCut} always outputs a set of vertices of conductance less than ϕ\phi. With high probability, if the set it outputs is small then its complement is contained in a subgraph of conductance at least Ω(ϕ2/log⁡4m)\Omega(\phi^{2}/\log^{4}m).

The Bigger Picture

This paper arose in our efforts to design nearly-linear time algorithms for solving diagonally-dominant linear systems, and is the second in a sequence of three papers on the topic. In the first paper [ST08a], we develop fast routines for partitioning graphs, which we then use in our algorithms for building sparsifiers. In the last paper [ST08b], we show how to use sparsifiers to build preconditioners for diagonally-dominant matrices and thereby solve linear equations in such matrices in nearly-linear time. Koutis, Miller and Peng [KMP10] have recently developed an algorithm for solving such systems of linear equations in time O(mlog⁡2n)O(m\log^{2}n) that does not rely upon the sparsifiers of the present paper.

The quality of a preconditioner is measured by the relative condition number, which for the Laplacian matrices of a graph GG and its sparsifier G~\widetilde{G} is

So, if G~\widetilde{G} is a σ\sigma-spectral approximation of GG then κ(G,G~)≤σ2\kappa(G,\widetilde{G})\leq\sigma^{2}. This means that an iterative solver such as the Preconditioned Conjugate Gradient [Axe85] can solve a linear system in the Laplacian of GG to accuracy ϵ\epsilon by solving O(σlog⁡(1/ϵ))O(\sigma\log(1/\epsilon)) linear systems in G~\widetilde{G} and performing as many multiplications by GG. As a linear system in a matrix with mm non-zero entries may be solved in time O(nm)O(nm) by using the Conjugate Gradient as a direct method [TB97, Theorem 28.3], the use of the sparsifiers in this paper alone provides an algorithm for solving linear systems in LGL_{G} to ϵ\epsilon-accuracy in time O~(n2log⁡(1/ϵ))\widetilde{\mathcal{O}}\left(n^{2}\log(1/\epsilon)\right), which is nearly optimal when the Laplacian matrix has Ω(n2)\Omega(n^{2}) non-zero entries. In our paper on solving linear equations [ST08b], we show how to get the time bound down to O~(mlog⁡(1/ϵ))\widetilde{\mathcal{O}}\left(m\log(1/\epsilon)\right), where mm is the number of non-zero entries in LGL_{G}.

Outline

In Section 4, we present technical background required for this paper, and maybe even for the rest of this outline. In Section 5, we present three examples of graphs and their sparsifiers. These examples help motivate key elements of our construction.

There are three components to our algorithm for sparsifying graphs. The first is a random sampling procedure. In Section 6, we prove that this procedure produces good spectral sparsifiers for graphs of high conductance. So that we may reduce the problem of sparsifying arbitrary graphs to that of sparsifying graphs of high conductance, we require a fast algorithm for partitioning a graph into parts of high conductance without removing too many edges. In Section 7, we first prove that such partitions exist, and use them to prove the existence of spectral sparsifiers for all unweighted graphs. In Section 8, we then build on tools from [ST08a] to develop a graph partitioning procedure that suffices. We use this procedure in Section 9 to construct a nearly-linear time algorithm for sparsifying unweighted graphs. We show how to use this algorithm to sparsify weighted graphs in Section 10.

We conclude in Section 11 by surveying recent improvements that have been made in both sparsification and in the partitioning routines on which the present paper depends.

Background and Notation

By log⁡\log we always mean the logarithm base 22, and we denote the natural logarithm by ln⁡\ln.

As we spend this paper studying spectral approximations, we will say “σ\sigma-approximation” instead of “σ\sigma-spectral approximation” wherever it won’t create confusion.

We may express (2) more compactly by employing the notation A≼BA\preccurlyeq B to mean

We will overload notation by writing G≼G~G\preccurlyeq\widetilde{G} for graphs GG and G~\widetilde{G} to mean LG≼LG~L_{G}\preccurlyeq L_{\widetilde{G}}.

to indicate the graph whose Laplacian is LG+LHL_{G}+L_{H}. That is, the weight of every edge in G+HG+H is the sum of the weights of the corresponding edges in GG and HH. We will use this notation even if GG and HH have different vertex sets. For example, if their vertex sets are disjoint, then their sum is simply the disjoint union of the graphs. It is immediate that G≼G~G\preccurlyeq\widetilde{G} and H≼H~H\preccurlyeq\widetilde{H} imply

In many portions of this paper, we will consider vertex-induced subgraphs of graphs. When we take subgraphs, we always preserve the identity of vertices. This enables us to sum inequalities on the different subgraphs to say something about the original.

For an unweighted graph G=(V,E)G=(V,E), we will let dvd_{v} denote the degree of vertex vv. For SS and TT disjoint subsets of VV, we let E(S,T)E(S,T) denote the set of edges in EE connecting one vertex of SS with one vertex of TT. We let G(S)G(S) denote the subgraph of GG induced on the vertices in SS: the graph with vertex set SS containing the edges of EE between vertices in SS.

The conductance of a graph is related to the smallest non-zero eigenvalue of its Laplacian matrix, but is even more strongly related to the smallest non-zero eigenvalue of its Normalized Laplacian matrix (see [Chu97]), whose definition we now recall. Let DD be the diagonal matrix whose vv-th diagonal is dvd_{v}. The Normalized Laplacian of the graph GG, written LG\mathcal{L}_{G}, is defined by

It is well-known that both LGL_{G} and LG\mathcal{L}_{G} are positive semi-definite matrices, with smallest eigenvalue zero. The eigenvalue zero has multiplicity one if an only if the graph GG is connected, in which case the eigenvector of LGL_{G} with eigenvalue zero is the constant vector (see [Bol98, page 269], or derive from (1)).

Our analysis exploits a discreet version of Cheeger’s inequality[Che70] (see [Chu97, SJ89, DS91]), which relates the smallest non-zero eigenvalue of LG\mathcal{L}_{G}, written λ2(LG)\lambda_{2}(\mathcal{L}_{G}), to the conductance of GG.

A few examples

We first consider what a sparsifier of the complete graph should look like. Let GG be the complete graph on nn vertices. All non-zero eigenvalues of LGL_{G} equal nn. So, for every unit vector xx orthogonal to the all-1s vector,

From Cheeger’s inequality, one may prove that graphs with constant conductance, called expanders, have a similar property. Spectrally speaking, the best of them are the Ramanujan graphs [LPS88, Mar88], which are dd-regular graphs all of whose non-zero Laplacian eigenvalues lie between d−2d−1d-2\sqrt{d-1} and d+2d+1d+2\sqrt{d+1}. So, if we let G~\widetilde{G} be a Ramanujan graph in which every edge has been given weight n/dn/d, then for every unit vector xx orthogonal to the all-1s vector,

Thus, G~\widetilde{G} is a (1−2d−1/d)−1\left(1-2\sqrt{d-1}/d\right)^{-1}-approximation of GG.

2 Example 2: Joined Complete Graphs

Next, consider a graph on 2n2n vertices obtained by joining two complete graphs on nn vertices by a single edge, ee. Let V1V_{1} and V2V_{2} be the vertex sets of the two complete graphs. We claim that a good sparsifier for GG may be obtained by setting G~\widetilde{G} to be the edge ee with weight 1, plus (n/d)(n/d) times a Ramanujan graph on each vertex set. To prove this, let G1G_{1} and G2G_{2} denote the complete graphs on V1V_{1} and V2V_{2}, and let G3G_{3} denote the graph just consisting of the edge ee. Similarly, let G~1\widetilde{G}_{1} and G~2\widetilde{G}_{2} denote (n/d)(n/d) times a Ramanujan graph on each vertex set, and let G~3=G3\widetilde{G}_{3}=G_{3}. Recalling the addition we defined on graphs, we have

We already know that for σ=(1−2d−1/d)−1\sigma=\left(1-2\sqrt{d-1}/d\right)^{-1}, and i∈{1,2}i\in\left\{1,2\right\}

The other inequality follows by similar reasoning. This example demonstrates both the utility of using edges with different weights, even when sparsifying unweighted graphs, and how we can combine sparsifiers of subgraphs to sparsify an entire graph. Also observe that every sparsifier of GG must contain the edge ee, while no other edge is particularly important.

3 Example 3: Distinguishing cut sparsifiers from spectral sparsifiers

Our last example will demonstrate the difference between our notion of sparsification and that of Benczur and Karger. We will describe graphs GG and G~\widetilde{G} for which G~\widetilde{G} is not a σ\sigma-approximation of GG for any small σ\sigma, but it is a very good sparsifier of GG under the definition considered by Benczur and Karger. The vertex set VV will be {0,…,n−1}×{1,…,k}\left\{0,\dotsc,n-1\right\}\times\left\{1,\dotsc,k\right\}, where nn is even. The graph G~\widetilde{G} will consist of nn complete bipartite graphs, connecting all pairs of vertices (u,i)(u,i) and (v,j)(v,j) where v=u±1mod  nv=u\pm 1\mod n. The graph GG will be identical to the graph G~\widetilde{G}, except that it will have one additional edge ee from vertex (0,1)(0,1) to vertex (n/2,1)(n/2,1). As the minimum cut of GG has size 2k2k, and G~\widetilde{G} only differs by one edge, G~\widetilde{G} is a (1+1/2k)(1+1/2k)-approximation of GG in the notion considered by Benczur and Karger. To show that G~\widetilde{G} is a poor spectral approximation of GG, consider the vector xx given by

So, inequality (2) is not satisfied for any σ\sigma less than 1+n/4k21+n/4k^{2}.

Sampling Graphs

In this section, we show that if a graph has high conductance, then it may be sparsified by a simple random sampling procedure. The sampling procedure involves assigning a probability pi,jp_{i,j} to each edge (i,j)(i,j), and then selecting edge (i,j)(i,j) to be in the graph G~\widetilde{G} with probability pi,jp_{i,j}. When edge (i,j)(i,j) is chosen to be in the graph, we multiply its weight by 1/pi,j1/p_{i,j}. As the graph is undirected, we implicitly assume that pi,j=pj,ip_{i,j}=p_{j,i}. Let AA denote the adjacency matrix of the original graph GG, and A~\widetilde{A} the adjacency matrix of the sampled graph G~\widetilde{G}. This procedure guarantees that

Sampling procedures of this form were examined by Benczur and Karger [BK96] and Achlioptas and McSherry [AM01]. Achlioptas and McSherry analyze the approximation obtained by such a procedure through a bound on the norm of a random matrix of Füredi and Komlós [FK81]. As their bound does not suffice for our purposes, we tighten it by refining the analysis of Füredi and Komlós.

If G~\widetilde{G} is going to be a sparsifier for GG, then we must be sure that every vertex in G~\widetilde{G} has edges attached to it. We guarantee this by requiring that, for some parameter Υ>1\Upsilon>1,

The parameter Υ\Upsilon controls the number of edges we expect to find in the graph, and will be set to at least Ω(log⁡n)\Omega\left(\log n\right) to ensure that every vertex has an attached edge.

We will show that if GG has high conductance and (4) is satisfied for a sufficiently large Υ\Upsilon, then G~\widetilde{G} will be a good sparsifier of GG with high probability. The actual theorem that we prove is slightly more complicated, as it considers the case where we only apply the sampling on a subgraph of GG.

Let ϵ,p∈(0,1/2)\epsilon,p\in(0,1/2) and let G=(V,E)G=(V,E) be an unweighted graph whose smallest non-zero normalized Laplacian eigenvalue is at least λ\lambda. Let SS be a subset of the vertices of GG, let FF be the edges in G(S)G(S), and let H=E−FH=E-F be the rest of the edges. Let

and let G~=(V,F~∪H)\widetilde{G}=(V,\widetilde{F}\cup H). Then, with probability at least 1−p1-p,

G~\widetilde{G} is a (1+ϵ)(1+\epsilon)-approximation of GG, and

The number of edges in F~\widetilde{F} is at most

G~=Sample(G,ϵ,p,λ)\widetilde{G}=\mathtt{Sample}(G,\epsilon,p,\lambda) 1. Set k=max⁡(log⁡2(3/p),log⁡2n)k=\max\left(\log_{2}(3/p),\log_{2}n\right). 2. Set Υ=(12kϵλ)2\Upsilon=\left(\frac{12k}{\epsilon\lambda}\right)^{2}. 3. For every edge (i,j)(i,j) in GG, set pi,j=min⁡(1,Υmin⁡(di,dj))p_{i,j}=\min\left(1,\frac{\Upsilon}{\min(d_{i},d_{j})}\right). 4. For every edge (i,j)(i,j) in GG, with probability pi,jp_{i,j} put an edge of weight 1/pi,j1/p_{i,j} between vertices (i,j)(i,j) into G~\widetilde{G}.

Let DD be the diagonal matrix of degrees of vertices of GG. To prove Theorem 6.1, we establish that the 2-norm of D−1/2(LG−LG~)D−1/2D^{-1/2}(L_{G}-L_{\widetilde{G}})D^{-1/2} is probably small Recall that the 2-norm of a symmetric matrix is the largest absolute value of its eigenvalues., and then apply the following lemma.

Let LL be the Laplacian matrix of a connected graph GG, L~\widetilde{L} be the Laplacian of G~\widetilde{G}, and let DD be the diagonal matrix of degrees of GG. If

λ2(D−1/2LD−1/2)≥λ\lambda_{2}\left(D^{-1/2}LD^{-1/2}\right)\geq\lambda, and

∥D−1/2(L−L~)D−1/2∥≤ϵ\left\|D^{-1/2}(L-\widetilde{L})D^{-1/2}\right\|\leq\epsilon,

then G~\widetilde{G} is a σ\sigma-approximation of GG for

Let xx be any vector and let y=D1/2xy=D^{1/2}x. By assumption, GG is connected and so the nullspace of the normalized Laplacian D−1/2LD−1/2D^{-1/2}LD^{-1/2} is spanned by D^{1/2}{\mbox{\boldmath1}}. Let zz be the projection of yy orthogonal to D^{1/2}{\mbox{\boldmath1}}, so

The lemma follows from these inequalities. ∎

Let AA be the adjacency matrix of GG and let A~\widetilde{A} be the adjacency matrix of G~\widetilde{G}. For each edge (i,j)(i,j),

To prove Theorem 6.1, we will observe that

where D~\widetilde{D} is the diagonal matrix of the diagonal entries of L~\widetilde{L}. It will be easy to bound the second of these terms, so we defer that part of the proof to the end of the section. A bound on the first term comes from the following lemma.

Our proof of this lemma applies a modification of techniques introduced by Füredi and Komlós [FK81] (See also the paper by Vu [Vu07] that corrects some bugs in their work). However, they consider the eigenvalues of random graphs in which every edge can appear. Some interesting modifications are required to make an argument such as ours work when downsampling a graph that may already be sparse. We remark that without too much work one can generalize Theorem 6.1 so that it applies to weighted graphs.

Recalling that the eigenvalues of Δk\Delta^{k} are the kk-th powers of the eigenvalues of Δ\Delta, and taking kk-th roots, we conclude

Recall that the (v0,vk)(v_{0},v_{k}) entry of Δk\Delta^{k} satisfies

We will now describe a way of coding every sequence v1,…,vk−1v_{1},\dotsc,v_{k-1} that could possibly contribute to the sum. Of course, any sequence containing a consecutive pair (vi−1,vi)(v_{i-1},v_{i}) for which Δvi−1,vi\Delta_{v_{i-1},v_{i}} is always zero will contribute zero to the sum. So, for a sequence to have a non-zero contribution, each consecutive pair (vi−1,vi)(v_{i-1},v_{i}) must be an edge in the graph AA. Thus, we can identify every sequence with non-zero contribution with a walk on the graph AA from vertex v0v_{0} to vertex vkv_{k}.

The first idea in our analysis is to observe that most of the terms in this sum are zero. The reason is that, for all viv_{i} and vjv_{j}

As Δvi,vj\Delta_{v_{i},v_{j}} is independent of every term in Δ\Delta other than Δvj,vi\Delta_{v_{j},v_{i}}, we see that the term

corresponding to v1,…,vk−1v_{1},\dotsc,v_{k-1}, will be zero unless each edge (vi−1,vi)(v_{i-1},v_{i}) appears at least twice (in either direction).

We now describe a method for coding all walks in which each edges appears at least twice. We set TT to be the set of time steps ii at which the edge between vi−1v_{i-1} and viv_{i} does not appear earlier in the walk (in either direction). Note that 11 is always an element of TT. We then let τ\tau denote the map from [k]−T→T[k]-T\rightarrow T, indicating for each time step not in TT the time step in which the edge traversed first appeared (regardless of in which direction it is traversed). Note that we need only consider the cases in which ∣T∣≤k/2\left|T\right|\leq k/2, as otherwise some edge appears only once in the walk. To finish our description of a walk, we need a map

indicating the vertex encountered at each time i∈Ti\in T.

Using TT, τ\tau and σ\sigma, we can inductively reconstruct the sequence v1,…,vk−1v_{1},\dotsc,v_{k-1} by the rules

if i∉Ti\not\in T, and vi−1=vτ(i)−1v_{i-1}=v_{\tau(i)-1}, then vi=vτ(i)v_{i}=v_{\tau(i)}, and

if i∉Ti\not\in T, and vi−1=vτ(i)v_{i-1}=v_{\tau(i)}, then vi=vτ(i)−1v_{i}=v_{\tau(i)-1}.

If vi−1∉{vτ(i),vτ(i)−1}v_{i-1}\not\in\left\{v_{\tau(i)},v_{\tau(i)-1}\right\}, then the tuple (T,τ,σ)(T,\tau,\sigma) does not properly code a walk on the graph of AA. We will call σ\sigma a valid assignment for TT and τ\tau if the above rules do produce a walk on the graph of AA from v0v_{0} to vkv_{k}.

is independent of the others, and involves a product of the terms Δvs−1,vs\Delta_{v_{s-1},v_{s}} and Δvs,vs−1\Delta_{v_{s},v_{s-1}}. In Lemma 6.6, we will prove that

To bound the sum of products on the right hand-side of (10), fix TT and τ\tau and consider the following random process for generating a valid σ\sigma and corresponding walk: go through the elements of TT in order. For each s∈Ts\in T, pick σ(s)\sigma(s) to be a random neighbor of the s−1s-1st vertex in the walk. If possible, continue the walk according to τ\tau until it reaches the next step in TT. If the process produces a valid σ\sigma, return it. Otherwise, return nothing. The probability that any particular valid σ\sigma will be returned by this process is

As there are at most at most 2k2^{k} choices for TT, and at most ∣T∣k−∣T∣≤∣T∣k\left|T\right|^{k-\left|T\right|}\leq\left|T\right|^{k} choices for τ\tau, we may combine inequalities (10) and (11) with (8) to obtain

If pi,j=1p_{i,j}=1, then Δi,j=0\Delta_{i,j}=0. If not, then we have Υ/min⁡(di,dj)=pi,j<1\Upsilon/\min(d_{i},d_{j})=p_{i,j}<1. With probability 1−pi,j1-p_{i,j},

On the other hand, with probability pi,jp_{i,j},

As Δi,j≥0\Delta_{i,j}\geq 0 in this case, we have established ∣Δi,j∣≤1/Υ\left|\Delta_{i,j}\right|\leq 1/\Upsilon. ∎

For all edges (r,t)(r,t) and integers k≥1k\geq 1 and l≥0l\geq 0,

First, if pi,j=1p_{i,j}=1, then Δi,j=0\Delta_{i,j}=0. Second, if k+l=1k+l=1, \mboxE[Δr,tkΔt,rl]=0\mbox{\bf E}\left[\Delta_{r,t}^{k}\Delta_{t,r}^{l}\right]=0. So, we may restrict our attention to the case where k+l≥2k+l\geq 2 and pi,j<1p_{i,j}<1, which by (4) implies pi,j=Υ/min⁡(dr,dt)p_{i,j}=\Upsilon/\min(d_{r},d_{t}). Claim 6.5 tells us that for k≥1k\geq 1,

A similar statement may be made for l≥1l\geq 1. So, it suffices to prove the lemma in the case k+l=2k+l=2.

As Δr,t=(A~r,t−1)/dr\Delta_{r,t}=(\widetilde{A}_{r,t}-1)/d_{r} and Δt,r=(A~r,t−1)/dt\Delta_{t,r}=(\widetilde{A}_{r,t}-1)/d_{t}, we have

In the case k=1k=1, l=1l=1, we finish the proof by

This finishes the proofs of Lemmas 6.4 and 6.3. We now turn to the last ingredient we will need for the proof of Theorem 6.1, a bound on the norm of the difference of the degree matrices.

Let GG be a graph and let G~\widetilde{G} be obtained by sampling GG with probabilities pi,jp_{i,j} that satisfy (4). Let DD be the diagonal matrix of degrees of GG, and let D~\widetilde{D} be the diagonal matrix of weighed degrees of G~\widetilde{G}. Then,

The lemma now follows by taking a union bound over ii. ∎

We use the following variant of the Chernoff bound from [Rag88].

Let α1,…,αn\alpha_{1},\dotsc,\alpha_{n} all lie in [0,β][0,\beta] and let X1,…,XnX_{1},\dotsc,X_{n} be independent random variables such that XiX_{i} equals αi\alpha_{i} with probability pip_{i} and 00 with probability 1−pi1-p_{i}. Let X=∑iXiX=\sum_{i}X_{i} and μ=\mboxE[X]=∑αipi\mu=\mbox{\bf E}\left[X\right]=\sum\alpha_{i}p_{i}. Then,

For ϵ<1\epsilon<1, both of these probabilities are at most e−μϵ2/3βe^{-\mu\epsilon^{2}/3\beta}.

We remark that Raghavan [Rag88] proved this theorem with β=1\beta=1; the extension to general β>0\beta>0 follows by re-scaling.

Let LL be the Laplacian of GG, AA be its adjacency matrix, and DD its diagonal matrix of degrees. Let L~\widetilde{L}, A~\widetilde{A} and D~\widetilde{D} be the corresponding matrices for G~\widetilde{G}. The matrices LL and L~\widetilde{L} only differ on rows and columns indexed by SS. So, if we let L(S)L(S) denote the submatrix of LL with rows and columns in SS, we have

Applying Lemma 6.3 to the first of these terms, while observing

Applying Lemma 6.7 to the second term, we find

Thus, with probability at least 1−2p/31-2p/3,

in which case Lemma 6.2 tells us that G~\widetilde{G} is a σ\sigma-approximation of GG for

Finally, we use Theorem 6.8 to bound the number of edges in F~\widetilde{F}. For each edge (i,j)(i,j) in FF, let X(i,j)X_{(i,j)} be the indicator random variable for the event that edge (i,j)(i,j) is chosen to appear in F~\widetilde{F}. Using did_{i} to denote the degree of vertex ii in G(S)G(S), we have

One may similarly show that \mboxE[∑X(i,j)]≥Υ∣S∣/2\mbox{\bf E}\left[\sum X_{(i,j)}\right]\geq\Upsilon\left|S\right|/2. Applying Theorem 6.8 with ϵ=1\epsilon=1 (note that here ϵ\epsilon is the parameter in the statement of Theorem 6.8), we obtain

Graph Decompositions

In this section, we prove that every graph can be decomposed into components of high conductance, with a relatively small number of edges bridging the components. A similar result was obtained independently by Trevisan [Tre05]. We prove this result for three reasons: first, it enables us to quickly establish the existence of good spectral sparsifiers. Second, our algorithm for building sparsifiers requires a graph decomposition routine which is inspired by the computationally infeasible routine presented in this section The routine idealDecomp is infeasible because it requires the solution of an NP-hard problem in step 2. We could construct sparsifiers from a routine that approximately satisfies the guarantees of idealDecomp, such as the clustering algorithm of Kannan, Vempala and Vetta [KVV04]. However, their routine could take quadratic time, which is too slow for our purposes. . Finally, the analysis of our algorithm relies upon Lemma 7.2, which occupies most of this section. Throughout this section, we will consider an unweighted graph G=(V,E)G=(V,E), with V={1,…,n}V=\left\{1,\dotsc,n\right\}. In the construction of a decomposition of GG, we will be concerned with vertex-induced subgraphs of GG. However, when measuring the conductance and volumes of vertices in these vertex-induced subgraphs, we will continue to measure the volume according to the degrees of vertices in the original graph. For clarity, we define the boundary of a vertex set SS with respect to another vertex set BB to be

we define the conductance of a set SS in the subgraph induced by B⊆VB\subseteq V to be

For convenience, we define ΦBG(∅)=1\Phi^{G}_{B}\left(\emptyset\right)=1 and, for ∣B∣=1\left|B\right|=1, ΦBG=1\Phi^{G}_{B}{}=1.

We introduce the notation G{B}G\{B\} to denote the graph G(B)G(B) to which self-loops have been added so that every vertex in G{B}G\{B\} has the same degree as in GG. For S⊆BS\subseteq B

Because ΦBG\Phi^{G}_{B} measures volume by degrees in GG and those degrees are higher than in G(B)G(B),

So, when we prove lower bounds on ΦBG\Phi^{G}_{B}{}, we obtain lower bounds on ΦG(B)\Phi_{G(B)}{}.

We define a decomposition of GG to be a partition of VV into sets (A1,…,Ak)(A_{1},\dotsc,A_{k}), for some kk. We say that a decomposition is a ϕ\phi-decomposition if ΦAiG≥ϕ\Phi^{G}_{A_{i}}{}\geq\phi for all ii. We define the boundary of a decomposition, written ∂(A1,…,Ak)\partial\left(A_{1},\dotsc,A_{k}\right) to be the set of edges between different vertex sets in the partition:

We say that a decomposition (A1,…,Ak)(A_{1},\dotsc,A_{k}) is a λ\lambda-spectral decomposition if the smallest non-zero normalized Laplacian eigenvalue of G(Ai)G(A_{i}) is at least λ\lambda, for all ii. By Cheeger’s inequality (Theorem 4.1), every ϕ\phi-decomposition is a (ϕ2/2)(\phi^{2}/2)-spectral decomposition.

Let G=(V,E)G=(V,E) be a graph and let m=∣E∣m=\left|E\right|. Then, GG has a (6log⁡4/32m)−1\left(6\log_{4/3}2m\right)^{-1}-decomposition with ∣∂(A1,…,Ak)∣≤∣E∣/2\left|\partial\left(A_{1},\dotsc,A_{k}\right)\right|\leq\left|E\right|/2.

2 Existence of spectral sparsifiers

Before proving Theorem 7.1, we first quickly explain how to use Theorem 7.1 to prove that spectral sparsifiers exist. Given any graph GG, apply the theorem to find a decomposition of the graph into components of conductance Ω(1/log⁡n)\Omega(1/\log n), with at most half of the original edges bridging components. Because this decomposition is a Ω(1/log⁡2n)\Omega(1/\log^{2}n)-spectral decomposition, by Theorem 6.1 we may sparsify the graph induced on each component by random sampling. The average degree in the sparsifier for each component will be O(log⁡6n)O(\log^{6}n). It remains to sparsify the edges bridging components. If only O~(n)\widetilde{\mathcal{O}}\left(n\right) edges bridge components, then we do not need to sparsify them further. If more edges bridge components, we sparsify them recursively. That is, we treat those edges as a graph in their own right, decompose that graph, sample the edges induced in its components, and so on. As each of these recursive steps reduces the number of edges remaining by at least a factor of two, at most a logarithmic number of recursive steps will be required, and thus the average degree of the sparsifier will be at most O(log⁡7n)O(\log^{7}n). The above process also establishes the following decomposition theorem.

Recently, Batson, Spielman and Srivastava [BSS09] have shown that (1+ϵ)(1+\epsilon)-spectral sparsifiers with O(n/ϵ2)O(n/\epsilon^{2}) edges exist.

3 The Proof of Theorem 7.1

Theorem 7.1 is not algorithmic. It follows quickly from the following lemma, which says that if the largest set with conductance less than ϕ\phi is small, then the graph induced on the complement has conductance almost ϕ\phi. This lemma is the key component in our proof of Theorem 7.1, and its analog for approximate sparsest cuts (Theorem 8.1) is the key to our algorithm.

Let SS be a set of maximum size that satisfies (C.1)(C.1) and (C.2)(C.2), let

and assume by way of contradiction that ΦB−SG<ϕβ.\Phi^{G}_{B-S}{}<\phi\beta. Then, there exists a set R⊂B−SR\subset B-S such that

To upper bound the conductance of TT, we compute

We will prove Theorem 7.1 by proving that the following procedure produces the required decomposition.

To see that the recursive procedure terminates, recall that we have defined ΦBG=1\Phi^{G}_{B}{}=1 when ∣B∣=1\left|B\right|=1.

Let (A1,…,Ak)(A_{1},\dotsc,A_{k}) be the output of idealDecomp(V)\mathtt{idealDecomp}(V). Lemma 7.2 implies that ΦAiG≥ϕ/3\Phi^{G}_{A_{i}}{}\geq\phi/3 for each ii.

Approximate Sparsest Cuts

Unfortunately, it is NP-hard to compute sparsest cuts. So, we cannot directly apply Lemma 7.2 in the design of our algorithm. Instead, we will apply a nearly-linear time algorithm, ApproxCut\mathtt{ApproxCut}, that computes approximate sparsest cuts that satisfy an analog of Lemma 7.2, stated in Theorem 8.1. Whereas in Lemma 7.2 we proved that if the largest sparse cut is small then its complement has high conductance, here we prove that if the cut output by ApproxCut\mathtt{ApproxCut} is small, then its complement is contained in a subgraph of high conductance.

The algorithm ApproxCut\mathtt{ApproxCut} works by repeatedly calling a routine for approximating sparsest cuts, Partition\mathtt{Partition}, from [ST08a]. On input a graph that contains a sparse cut, with high probability the algorithm Partition\mathtt{Partition} either finds a large cut or a cut that has high overlap with the sparse cut. We have not been able to find a way to quickly use an algorithm satisfying such a guarantee to certify that the complement of a small cut has high conductance. Kannan, Vempala and Vetta [KVV04] showed that if we applied such an algorithm until it could not find any more cuts then we could obtain such a guarantee. However, such a procedure could require quadratic time, which it too slow for our purposes.

Let ϕ,p∈(0,1)\phi,p\in(0,1) and let G=(V,E)G=(V,E) be a graph with mm edges. Let DD be the output of ApproxCut(G,ϕ,p)\mathtt{ApproxCut}(G,\phi,p). Then

If D≠∅D\not=\emptyset then ΦG(D)≤ϕ\Phi_{G}\left(D\right)\leq\phi, and

there exists a set W⊇V−DW\supseteq V-D for which ΦWG≥f2(ϕ)\Phi^{G}_{W}\geq f_{2}(\phi), where

Moreover, the expected running time of ApproxCut\mathtt{ApproxCut} is O(ϕ−4mlog⁡9mlog⁡(1/p))O\left(\phi^{-4}m\log^{9}m\log(1/p)\right).

The code for ApproxCut\mathtt{ApproxCut} follows. It relies on a routine called Partition2\mathtt{Partition2} which in turn relies on a routine called Partition\mathtt{Partition} from [ST08a]. While one could easily combine the routines ApproxCut\mathtt{ApproxCut} and Partition2\mathtt{Partition2}, their separation simplifies our analysis. The algorithm Partition2\mathtt{Partition2} is very simple: it just calls Partition\mathtt{Partition} repeatedly and collects the cuts it produces until they contain at least 1/51/5 of the volume of the graph or until it has made enough calls. The algorithm ApproxCut\mathtt{ApproxCut} is similar: it calls Partition2\mathtt{Partition2} in the same way that Partition2\mathtt{Partition2} calls Partition\mathtt{Partition}.

The algorithm Partition\mathtt{Partition} from [ST08a], satisfies the following theorem (see [ST08a, Theorem 3.2])

Let DD be the output of Partition(G,τ,p)\mathtt{Partition}(G,\tau,p), where GG is a graph and τ,p∈(0,1)\tau,p\in(0,1). Then

If D≠∅D\not=\emptyset then ΦG(D)≤τ\Phi_{G}\left(D\right)\leq\tau, and

Moreover, the expected running time of Partition\mathtt{Partition} is O(τ−4mlog⁡7mlog⁡(1/p))O\left(\tau^{-4}m\log^{7}m\log(1/p)\right).

If either (P.3.a)(P.3.a) or (P.3.b)(P.3.b) occur for a set SS satisfying (15), we say that Partition\mathtt{Partition} succeeds for SS. Otherwise, we say that it fails.

One can view condition (A.3)(A.3) in Theorem 8.1 as reversing the quantifiers in condition (P.3)(P.3) in Theorem 8.2. Theorem 8.2 says that for every set SS of low conductance there is a good probability that a substantial portion of SS is removed. On the other hand, Theorem 8.1 says that with high probability all sets of low conductance will be removed.

The algorithm Partition2\mathtt{Partition2} satisfies a guarantee similar to that of Partition\mathtt{Partition}, but it strengthens condition (P.3.b)(P.3.b).

Let DD be the output of \text{\mathtt{Partition2}}(G,\theta,p,\epsilon), where GG is a graph, θ,p∈(0,1)\theta,p\in(0,1) and ϵ∈(0,1)\epsilon\in(0,1). Then

If D≠∅D\not=\emptyset then ΦG(D)≤θ\Phi_{G}\left(D\right)\leq\theta, and

Moreover, the expected running time of Partition2\mathtt{Partition2} is O(θ−4mlog⁡7mlog⁡(1/ϵ)log⁡(log⁡(1/ϵ)/p))O\left(\theta^{-4}m\log^{7}m\log(1/\epsilon)\log(\log(1/\epsilon)/p)\right).

If either (Q.3.a)(Q.3.a) or (Q.3.b)(Q.3.b) occur for a set SS satisfying (16), we say that Partition2\mathtt{Partition2} succeeds for SS. Otherwise, we say that it fails.

The proof of this lemma is routine, given Theorem 8.2.

To prove (Q.3), let SS be a set satisfying (16), and let Sj=S∩WjS_{j}=S\cap W_{j}. From Theorem 8.2, we know that with probability at least 1−p/r1-p/r,

Finally, the bound on the expected running time of Partition2\mathtt{Partition2} is immediate from the bound on the running time of Partition\mathtt{Partition}. ∎

2 Proof of Theorem 8.1

The rest of this section is devoted to the proof of Theorem 8.1, with all but one line devoted to part (A.3). Our goal is to prove the existence of a set of vertices WW of high conductance that contains all the vertices not cut out by ApproxCut\mathtt{ApproxCut}. We will construct this set WW in stages. Recall that Vi=V−D1∪⋯∪DiV_{i}=V-D_{1}\cup\dotsb\cup D_{i} is the set of vertices that are not removed by the first ii cuts. In stage ii, we will express WiW_{i}, a superset of ViV_{i}, as a set of high conductance Ui−1U_{i-1} plus some vertices in ViV_{i}. We will show that in each stage the volume of the vertices that are not in the set of high conductance shrinks by at least a factor of 2.

We then construct sets SiS_{i}, UiU_{i} and WiW_{i} by the following inductive procedure.

If WiW_{i} contains a set SiS_{i} such that

set SiS_{i} to be such a set of maximum size.

If there is no such set, set Si=∅S_{i}=\emptyset, set Ui=WiU_{i}=W_{i}, stop the procedure and leave Wi+1W_{i+1} undefined.

Set σi+1=(1−2ϵ)θi\sigma_{i+1}=(1-2\epsilon)\theta_{i}.

Set Wi+1=Ui∪(Si∩Vi+1)W_{i+1}=U_{i}\cup(S_{i}\cap V_{i+1}).

Set W=WiW=W_{i} where ii is the last index for which WiW_{i} is defined.

Note that there may be many choices for a set SiS_{i}. Once a choice is made, it must be fixed for the rest of the procedure so that we can reason about it using Lemma 8.3.

For all ii such that Wi+1W_{i+1} is defined,

We prove this by induction on ii. For i=0i=0, we know that Vi=WiV_{i}=W_{i}. As Wi=Ui∪SiW_{i}=U_{i}\cup S_{i} and the algorithm ensures Vi+1⊆ViV_{i+1}\subseteq V_{i},

Follows immediately from Lemma 7.2 and the definitions of SiS_{i} and θi\theta_{i}. ∎

We now show that if at most an ϵ\epsilon fraction of each SiS_{i} appears in Vi+1V_{i+1}, then the sets Si∩Vi+1S_{i}\cap V_{i+1} shrink to the point of vanishing.

If all defined SiS_{i} and ViV_{i} satisfy

then for all i≥1i\geq 1 for which SiS_{i} is defined,

In particular, the set SrS_{r} is empty if it is defined.

Combining this inequality with (c)(c) yields

Similarly, we may conclude from Lemma 8.6 that

from which the second part of the lemma follows.

We conclude that the set SrS_{r} must be empty if it is defined. ∎

This geometric shrinking of the volumes of the sets SiS_{i} allows us to prove a lower bound on θi\theta_{i}.

As i≤ri\leq r and ϵ=min⁡(1/5,1/2r)\epsilon=\min(1/5,1/2r), we have

To analyze the other product, we apply Lemma 8.7 to prove

We first lower-bound the volume of the intersection of SiS_{i} with ViV_{i} by

The proofs of (A.1) and (A.2) are similar to the proofs of (Q.1) and (Q.2).

To prove (A.3), we will assume that for each set SiS_{i} that satisfies conditions (16) in G{Vi}G\{V_{i}\} the call to Partition\mathtt{Partition}2 succeeds and that the same holds for all sets Vi−SiV_{i}-S_{i} that satisfy conditions (16) in G{Vi}G\{V_{i}\}. As this assumption involves at most 2r2r sets, by Lemma 8.3 it holds with probability at least 1−2r(p/2r)=1−p1-2r(p/2r)=1-p.

Observe that the algorithm ApproxCut\mathtt{ApproxCut} calls Partition\mathtt{Partition}2 with

then SiS_{i} satisfies the conditions (16) in G{Vi}G\{V_{i}\}.

We may now apply Lemma 8.7 to show that SrS_{r} is empty if it is defined. So, there is an ii for which Wi=UiW_{i}=U_{i} and by Claim 8.5 and Lemma 8.8

as V−D=Vr⊆Vi⊆WiV-D=V_{r}\subseteq V_{i}\subseteq W_{i}, the set W=WiW=W_{i} satisfies (A.3.b). ∎

Sparsifying Unweighted Graphs

We now show how to use the algorithms ApproxCut\mathtt{ApproxCut} and Sample\mathtt{Sample} to sparsify unweighted graphs. More precisely, we treat every edge in an unweighted graph as an edge of weight 11. The algorithm UnwtedSparsify\mathtt{UnwtedSparsify} follows the outline described in Section 7.2. Its main subroutine PartitionAndSample\mathtt{PartitionAndSample} calls ApproxCut\mathtt{ApproxCut} to partition the graph. Whenever ApproxCut\mathtt{ApproxCut} returns a small cut, we know that the complement is contained in a subgraph of large conductance. In this case, PartitionAndSample\mathtt{PartitionAndSample} calls Sample\mathtt{Sample} to sparsify the large part. Whenever the cut returned by ApproxCut\mathtt{ApproxCut} is large, PartitionAndSample\mathtt{PartitionAndSample} recursively acts on the cut and its complement so that it eventually partitions and samples both. The output of PartitionAndSample\mathtt{PartitionAndSample} is the result of running Sample\mathtt{Sample} on the graphs induced on the vertex sets of a decomposition of the original graph. The main routine UnwtedSparsify\mathtt{UnwtedSparsify} calls PartitionAndSample\mathtt{PartitionAndSample} and then acts recursively to sparsify the edges that go between the parts of the decomposition produced by PartitionAndSample\mathtt{PartitionAndSample}.

Let G=(V,E)G=(V,E) be a graph. Let G~1,…,G~k\widetilde{G}_{1},\dotsc,\widetilde{G}_{k} be the output of PartitionAndSample(G,ϕ,ϵ^,p^)\mathtt{PartitionAndSample}(G,\phi,\hat{\epsilon},\hat{p}). Let V1,…,VkV_{1},\dotsc,V_{k} be the vertex sets of G~1,…,G~k\widetilde{G}_{1},\dotsc,\widetilde{G}_{k}, respectively, and let G0G_{0} be the graph with vertex set VV and edge set ∂(V1,…,Vk)\partial\left(V_{1},\dotsc,V_{k}\right).

∣∂(V1,…,Vk)∣≤∣E∣/2\left|\partial\left(V_{1},\dotsc,V_{k}\right)\right|\leq\left|E\right|/2.

the total number of edges in G~1,…,G~k\widetilde{G}_{1},\dotsc,\widetilde{G}_{k} is at most c3ϵ−2∣V∣log⁡30(n/p)c_{3}\epsilon^{{-2}}\left|V\right|\log^{30}(n/p), for some absolute constant c3c_{3}.

We will assume for the rest of the analysis that

for every call to Sample\mathtt{Sample} in line 2, G~1\widetilde{G}_{1} is a (1+ϵ^)(1+\hat{\epsilon}) approximation of GG and the number of edges in G~1\widetilde{G}_{1} satisfies (S.2),

for every call to Sample\mathtt{Sample} in line 3a, G~1+G(D)+∂(D,V−D)\widetilde{G}_{1}+G(D)+\partial\left(D,V-D\right) is a (1+ϵ^)(1+\hat{\epsilon}) approximation of GG and the number of edges in G~1\widetilde{G}_{1} satisfies (S.2), and

First observe that at most nn calls are made to Sample\mathtt{Sample} and ApproxCut\mathtt{ApproxCut} during the course of the algorithm. By Theorem 8.1, the probability that assumption 33 fails is at most np^n\hat{p}. If assumption 33 never fails, we may apply Theorem 6.1 to prove that assumptions 1 and 2 probably hold, as follows. Consider a subgraph G(V−D)G(V-D) on which Sample\mathtt{Sample} is called, using D=∅D=\emptyset if Sample\mathtt{Sample} is called on line 2. Assumption 3 tells us that there is a set W⊇V−DW\supseteq V-D for which ΦWG≥f2(ϕ)\Phi^{G}_{W}\geq f_{2}(\phi). Theorem 4.1 tells us that the smallest non-zero normalized Laplacian eigenvalue of G(W)G(W) is at least λ\lambda, where λ\lambda is set in line 00. Treating G(W)G(W) as the input graph, and S=V−DS=V-D, we may apply Theorem 6.1 to show that assumptions 11 and 22 fail with probability at most p^\hat{p} each. Thus, all three assumptions hold with probability at least 1−3np^1-3n\hat{p}.

Property (PS.3)(PS.3), and the existence of the constant c3c_{3}, is a consequence of assumptions 11 and 22. Using these assumptions, we will now establish (PS.2)(PS.2) by induction on the depth of the recursion. For a graph GG on which PartitionAndSample\mathtt{PartitionAndSample} is called, let dd be the maximum depth of recursive calls of the algorithm on GG, let G~1,…,G~k\widetilde{G}_{1},\dotsc,\widetilde{G}_{k} be output of PartitionAndSample\mathtt{PartitionAndSample} on GG, and let V1,…,VkV_{1},\dotsc,V_{k} be the vertex sets of G~1,…,G~k\widetilde{G}_{1},\dotsc,\widetilde{G}_{k}, respectively. We will prove by induction on dd that

We base our induction on the case in which the algorithm does not call itself, in which case it returns the output of Sample\mathtt{Sample} in line 22, and the assertion follows from assumption 1.

is a (1+ϵ^)d(1+\hat{\epsilon})^{d}-approximation of HH. We then have

is a (1+ϵ^)d(1+\hat{\epsilon})^{d}-approximation of GG, establishing (19) in the second case.

For ϵ,p∈(0,1/2)\epsilon,p\in(0,1/2) and an unweighted graph GG with nn vertices, let G~\widetilde{G} be the output of UnwtedSparsify(G,ϵ,p)\mathtt{UnwtedSparsify}(G,\epsilon,p). Then,

The edges of G~\widetilde{G} are a subset of the edges of GG; and

G~\widetilde{G} is a (1+ϵ)(1+\epsilon)-approximation of GG, and

G~\widetilde{G} has at most c4ϵ−2nlog⁡31(n/p)c_{4}\epsilon^{-2}n\log^{31}(n/p) edges, for some constant c4c_{4}.

Moreover, the expected running time of UnwtedSparsify\mathtt{UnwtedSparsify} is O(mlog⁡(1/p)log⁡15n)O\left(m\log(1/p)\log^{15}n\right).

properties (PS.2)(PS.2) and (PS.3)(PS.3) hold for the output of PartitionAndSample\mathtt{PartitionAndSample} every time it is called by UnwtedSparsify\mathtt{UnwtedSparsify}. For the rest of the proof, we assume that this is the case.

Claim (U.3)(U.3) follows immediately from (PS.3)(PS.3) and the bound on the recursion depth of UnwtedSparsify\mathtt{UnwtedSparsify}. We prove claim (U.2)(U.2) by induction on the recursion depth. In particular, we prove that if UnwtedSparsify\mathtt{UnwtedSparsify} makes dd recursive calls to itself on graph GG, then the graph G~\widetilde{G} returned is a (1+ϵln⁡2/(2log⁡n+1))d(1+\epsilon\ln 2/(2\log n+1))^{d} approximation of GG. We base the induction in the case where UnwtedSparsify\mathtt{UnwtedSparsify} makes no recursive calls to itself, in which case it returns at line 1 with a 11-approximation.

For d>0d>0, we assume for induction that G~0\widetilde{G}_{0} is a (1+ϵln⁡2/2log⁡n)d−1(1+\epsilon\ln 2/2\log n)^{d-1}-approximation of G0G_{0}. By the assumption that (PS.2)(PS.2) holds, we know that G0+∑i=1kG~iG_{0}+\sum_{i=1}^{k}\widetilde{G}_{i} is a

approximation of GG, as ϵln⁡2/(2log⁡n)≤1\epsilon\ln 2/(2\log n)\leq 1 (here, we apply the inequality (1+xln⁡2/k)k≤1+x(1+x\ln 2/k)^{k}\leq 1+x). By following the arithmetic in the proof of Lemma 9.1, we may prove that G~0+∑i=1kG~i\widetilde{G}_{0}+\sum_{i=1}^{k}\widetilde{G}_{i} is a (1+ϵln⁡2/(2log⁡n))d(1+\epsilon\ln 2/(2\log n))^{d} approximation of GG.

Claim (U.1)(U.1) follows from the observation that the set of edges of the graph output by Sample\mathtt{Sample} is a subset of the set of edges of its input.

To bound the expected running time of UnwtedSparsify\mathtt{UnwtedSparsify}, observe that the bound on the recursion depth of PartitionAndSample\mathtt{PartitionAndSample} implies that its expected running time is at most O(log⁡n)O(\log n) times the expected running time of ApproxCut\mathtt{ApproxCut} with ϕ=Ω(1/log⁡n)\phi=\Omega(1/\log n), plus the time required to make the calls to sample, which is at most O(m)O(m).

Another multiplicative factor of O(log⁡n)O(\log n) comes from the logarithmic number of times that UnwtedSparsify\mathtt{UnwtedSparsify} can call itself during the recursion. ∎

Sparsifying Weighted Graphs

In this section, we show how to sparsify graphs whose edges have arbitrary weights. We begin by showing how to sparsify weighted graphs whose edge weights are integers in the range {1,…,U}\left\{1,\dotsc,U\right\}. One may also think of this as sparsifying a multigraph. This first result will follow simply from the algorithm for sparsifying unweighted graphs, at a cost of a O(log⁡U)O(\log U) factor in the number of edges in the sparsifier.

We then explain the obstacle to sparsifying arbitrarily weighted graphs and how we overcome it. We end the section by proving that it is possible to modify our construction of sparsifiers so that for every node the total blow-up in weight of the edges attached to it is bounded.

We recall that we treat an unweighted graph as a graph in which every edge has weight 1, and for clarity we often refer to such a graph as a weight-1 graph. Our algorithm for sparsifying graphs with weights in {1,…,U−1}\left\{1,\dotsc,U-1\right\} works by constructing log⁡2U\log_{2}U weight-1 graphs GiG_{i} and then expressing GG as a sum of 2iGi2^{i}G_{i}. Each edge of GG appears in the graphs GiG_{i} for which the iith bit of the binary expansion of the weight of the edge is 11. We sparsify the graphs GiG_{i} independently, and then sum the results.

G~=BoundedSparsify(G,ϵ,p)\widetilde{G}=\mathtt{BoundedSparsify}(G,\epsilon,p), G=(V,E,w)G=(V,E,w) has integral weights in [1,2u)[1,2^{u}). 1. Decompose GG as G=∑i=0u−12iGi,G=\sum_{i=0}^{u-1}2^{i}G_{i}, where each GiG_{i} is a weight-1 graph. 2. For each ii, set G~i=UnwtedSparsify(Gi,ϵ,p/u)\widetilde{G}_{i}=\mathtt{UnwtedSparsify}(G_{i},\epsilon,p/u). 3. Return G~=∑i2iG~i\widetilde{G}=\sum_{i}2^{i}\widetilde{G}_{i}.

For ϵ,p∈(0,1/2)\epsilon,p\in(0,1/2) and a graph GG with integral weights and with nn vertices, let G~\widetilde{G} be the output of BoundedSparsify(G,ϵ,p)\mathtt{BoundedSparsify}(G,\epsilon,p). Let U−1U-1 be the maximum weight of an edge in GG. Then,

The edges of G~\widetilde{G} are a subset of the edges of GG; and,

G~\widetilde{G} is a (1+ϵ)(1+\epsilon)-approximation of GG, and

G~\widetilde{G} has at most c4ϵ−2nlog⁡Ulog⁡31(n/p)c_{4}\epsilon^{{-2}}n\log U\log^{31}(n/p) edges.

Moreover, the expected running time of BoundedSparsify\mathtt{BoundedSparsify} is O(mlog⁡Ulog⁡(1/p)log⁡15n)O\left(m\log U\log(1/p)\log^{15}n\right).

2 Coping with Arbitrary Weights: Graph Contraction

When faced with an arbitrary weighted graph, we will first approximate the weight of every edge by the sum of a few powers of two. However, if the weights are arbitrary many different powers of two could be required, and we could not construct a sparsifier by treating each power of two separately as we did in BoundedSparsify\mathtt{BoundedSparsify}. To get around this problem, we observe that when we are considering edges of a given weight, we can assume that all edges of much greater weight have been contracted. We formalize this idea in Lemma 10.2.

By exploiting this idea, we are able to sparsify arbitrary weighted graphs with at most a O(log⁡(1/ϵ))O(\log(1/\epsilon))-factor more edges than employed in BoundedSparsify\mathtt{BoundedSparsify} when U=nU=n. Our technique is inspired by how Benczur and Karger [BK96] built cut sparsifiers for weighted graphs out of cut sparsifiers for unweighted graphs.

Given a weighted graph G=(V,E,w)G=(V,E,w) and a partition V1,…,VkV_{1},\dotsc,V_{k} of V, we define the map of the partition to be the function

for which π(u)=i\pi(u)=i if u∈Viu\in V_{i}. We define the contraction of GG under π\pi to be the weighted graph H=({1,…,k},F,z)H=(\left\{1,\dotsc,k\right\},F,z), where FF consists of edges of the form (π(u),π(v))(\pi(u),\pi(v)) for (u,v)∈E(u,v)\in E, and where the weight of edge (i,j)∈F(i,j)\in F is

We do not include self-loops in the contraction, so edges (u,v)∈E(u,v)\in E for which π(u)=π(v)\pi(u)=\pi(v) do not appear in the contraction.

H~\widetilde{H} is the contraction of G~\widetilde{G} under π\pi, and

for every edge (i,j)∈F~(i,j)\in\widetilde{F}, E~\widetilde{E} contains exactly one edge (u,v)(u,v) for which π(u)=i\pi(u)=i and π(v)=j\pi(v)=j.

In the following lemma, we consider a graph in which each of the vertex sets V1,…,VkV_{1},\dotsc,V_{k} are connected by edges of high weight while all the edges that go between these sets have low weight. We show that one can sparsify the low-weight edges by taking a pullback of an approximation of the contraction of the graph.

Let G=(V,E,w)G=(V,E,w) be a weighted graph, let V1,…,VkV_{1},\dotsc,V_{k} be a partition of VV, and let π\pi be the map of the partition. Set E0=∂(V1,…,Vk)E_{0}=\partial\left(V_{1},\dotsc,V_{k}\right), G0=(V,E0,w)G_{0}=(V,E_{0},w), E1=E−E0E_{1}=E-E_{0}, and G1=(V,E1,w)G_{1}=(V,E_{1},w). For some ϵ<1/2\epsilon<1/2 let G~0\widetilde{G}_{0} be a pullback under π\pi of a (1+ϵ)(1+\epsilon)-approximation of the contraction of G0G_{0} under π\pi. Assuming that c≥3c\geq 3,

each set of vertices ViV_{i} is connected by edges in E1E_{1},

every edge in E1E_{1} has weight at least c2n3c^{2}n^{3}, and

Then, G~0+G1\widetilde{G}_{0}+G_{1} is an α\alpha-approximation of GG, for

Our proof of Lemma 10.2 uses the following lemma bounding how well a path preconditions an edge. It is an example of a Poincaré inequality [DS91], and it may be derived from the Rank-One Support Lemma of [BH03], the Congestion-Dilation Lemma of [BGH+06], or the Path Lemma of [ST08b]. We include a proof for convenience.

Let (u,v)(u,v) be an edge of weight 11, and let FF consist of a path from uu to vv in which the edges on the path have weights w1,…,wkw_{1},\dotsc,w_{k}. Then,

Name the vertices on the path 00 through kk with vertex 00 replacing uu and vertex kk replacing vv. Let wiw_{i} denote the weight of edge (i,i−1)(i,i-1). We need to prove that for every vector xx,

For 1≤i≤k1\leq i\leq k set y(i)=wi(xi−xi−1)y(i)=\sqrt{w_{i}}(x_{i}-x_{i-1}). The Cauchy-Schwarz inequality now tells us that

Let HH be the contraction of G0G_{0} under π\pi, and let H~\widetilde{H} be the (1+ϵ)(1+\epsilon)-approximation of HH for which G~0\widetilde{G}_{0} is a pullback.

We begin the proof by choosing an arbitrary vertex viv_{i} in each set ViV_{i}. Now, let FF be the weighted graph on vertex set {v1,…,vk}\left\{v_{1},\dotsc,v_{k}\right\} isomorphic to HH under the map i↦vii\mapsto v_{i}, and let F~\widetilde{F} be the analogous graph for H~\widetilde{H}. Our analysis will go through an examination of the graphs

The lemma is a consequence of the following three statements, which we will prove momentarily:

I~\widetilde{I} is a (1+ϵ)(1+\epsilon)-approximation of II.

I~\widetilde{I} is a (1+1/c)(1+1/c)-approximation of G~0+G1\widetilde{G}_{0}+G_{1}.

To prove claim (a), consider any edge (a,b)∈E0(a,b)\in E_{0}. As π(a)≠π(b)\pi(a)\not=\pi(b), the graph 1cn2G1\frac{1}{cn^{2}}G_{1} contains a path from aa to vπ(a)v_{\pi(a)} and a path from bb to vπ(b)v_{\pi(b)}. The sum of the lengths of these paths is at most nn, and each edge on each path has weight at least cncn. So, if we let ff denote an edge of weight 11 from π(a)\pi(a) to π(b)\pi(b), then Lemma 10.3 tells us that

As there are fewer than n2/2n^{2}/2 edges in E0E_{0}, we may sum (20) over all of them to establish

and thus part (a)(a), may be established by similarly summing over inequality (21).

Part (b)(b) is immediate from the facts that F~\widetilde{F} is a (1+ϵ)(1+\epsilon)-approximation of FF, that I=F+G1I=F+G_{1} and I~=F~+G1\widetilde{I}=\widetilde{F}+G_{1}.

Part (c)(c) is very similar to part (a)(a). We first note that the sum of the weights of edges in F~\widetilde{F} is at most (1+ϵ)(1+\epsilon) times the sum of the weights of edges in FF, and so is at most (1+ϵ)n2/2(1+\epsilon)n^{2}/2. Now, for each edge (a,b)(a,b) in G~0\widetilde{G}_{0} of weight ww, there is a corresponding edge (vπ(a),vπ(b))(v_{\pi(a)},v_{\pi(b)}) of weight ww in F~\widetilde{F}. Let ee denote the edge (a,b)(a,b) of weight ww and let ff denote the edge (vπ(a),vπ(b))(v_{\pi(a)},v_{\pi(b)}) of weight ww. As in the proof of part (a)(a), we have

Summing these inequalities over all edges in E~0\widetilde{E}_{0}, adding G1G_{1} to each side, and recalling ϵ≤1/2\epsilon\leq 1/2 and c≥3c\geq 3, we establish part (c)(c). ∎

We now state the algorithm Sparsify\mathtt{Sparsify}. For simplicity of exposition, we assume that the weights of edges in its input are all at most 11. However, this is not a restriction as one can scale down the weights of any graph to satisfy this requirement, apply Sparsify\mathtt{Sparsify}, and then scale back up.

The algorithm Sparsify\mathtt{Sparsify} first replaces each weight wew_{e} with its truncation to its few most significant bits, zez_{e}. The resulting modified graph is called G^\widehat{G}. As zez_{e} is very close to wew_{e}, little is lost by this substitution. As in BoundedSparsify\mathtt{BoundedSparsify}, G^\widehat{G} is represented as a sum of graphs 2−iGi2^{-i}G^{i} where each GiG^{i} is a weight-1 graph. Because the weight of every edge in G^\widehat{G} only has a few bits, each edge only appears in a few of the graphs GiG^{i}.

Our first instinct would be to sparsify each of the graphs GiG^{i} individually. However, this could result in too many edges as sparsifying produces a graph whose number of edges is proportional to its number of vertices, and the sum over ii of the number of vertices in each GiG^{i} could be large. To get around this problem, we contract all edges of much higher weight before sparsifying. In particular, the algorithm Sparsify\mathtt{Sparsify} partitions the vertices into components that are connected by edges of much higher weight. It then replaces each GiG^{i} with a pullback of a sparsifier of the contraction of GiG^{i} under this partition. In Lemma 10.4 we prove that the sum over ii of the number of vertices in the contraction of each GiG^{i} will only be a small multiple of nn.

G~=Sparsify(G,ϵ,p)\widetilde{G}=\mathtt{Sparsify}(G,\epsilon,p), where G=(V,E,w)G=(V,E,w) and w(e)≤1w(e)\leq 1 for all e∈Ee\in E. 0. Set Q=⌈6/ϵ⌉Q=\lceil 6/\epsilon\rceil, b=6/ϵb=6/\epsilon, c=6/ϵc=6/\epsilon, ϵ^=ϵ/6\hat{\epsilon}=\epsilon/6, and l=⌈log⁡22bc2n3⌉l=\lceil\log_{2}2bc^{2}n^{3}\rceil. 1. For each edge e∈Ee\in E, a. choose rer_{e} so that Q≤2rewe<2QQ\leq 2^{r_{e}}w_{e}<2Q, b. let qeq_{e} be the largest integer such that qe2−re≤weq_{e}2^{-r_{e}}\leq w_{e}, (and note Q≤qe<2QQ\leq q_{e}<2Q) c. set ze=qe2−rez_{e}=q_{e}2^{-r_{e}}. 2. Let G^=(V,E,z)\widehat{G}=(V,E,z), and express G^=∑i≥02−iGi,\widehat{G}=\sum_{i\geq 0}2^{-i}G^{i}, where in each graph GiG^{i} all edges have weight 11, and each edge appears in at most ⌈log⁡22Q⌉\lceil\log_{2}2Q\rceil of these graphs. 3. Let EiE^{i} be the edge set of GiG^{i}. Let E≤i=∪j≤iEjE^{\leq i}=\cup_{j\leq i}E^{j}. For each ii, let D1≤i,…,Dηi≤iD^{\leq i}_{1},\dotsc,D^{\leq i}_{\eta_{i}} be the connected components of VV under E≤iE^{\leq i}. For i=0i=0, set ηi=0\eta_{i}=0. 4. For each ii for which EiE^{i} is non-empty, a. Let ViV^{i} be the set of vertices attached to edges in EiE^{i}. b. Let C1i,…,CkiiC^{i}_{1},\dotsc,C^{i}_{k_{i}} be the sets of form Dj≤i−l∩ViD^{\leq i-l}_{j}\cap V^{i} that are non-empty and have an edge of EiE^{i} on their boundary, (that is, the interesting components of ViV^{i} after contracting edges in E≤i−lE^{\leq i-l}). Let Wi=∪jCjiW^{i}=\cup_{j}C^{i}_{j}. c. Let π\pi be the map of partition C1i,…,CkiiC^{i}_{1},\dotsc,C^{i}_{k_{i}}, and let HiH^{i} be the contraction of (Wi,Ei)(W^{i},E^{i}) under π\pi. d. H~i=BoundedSparsify(Hi,ϵ^,p/(2nl))\widetilde{H}^{i}=\mathtt{BoundedSparsify}(H^{i},\hat{\epsilon},p/(2nl)). e. Let G~i\widetilde{G}^{i} be a pullback of H~i\widetilde{H}^{i} under π\pi whose edges are a subset of EiE^{i}. 5. Return G~=∑i2−iG~i\widetilde{G}=\sum_{i}2^{-i}\widetilde{G}^{i}.

Let kik_{i} denote the number of clusters described by Sparsify\mathtt{Sparsify} at step 4b. Then,

Let ηi\eta_{i} denote the number of connected components in the graph (V,E≤i)(V,E^{\leq i}). Each cluster CjiC^{i}_{j} has at least one edge of EiE^{i} leaving it. As each pair of components under E≤i−lE^{\leq i-l} that are joined by an edge of EiE^{i} appear in the same component under E≤iE^{\leq i},

As the number of clusters never goes negative and is initially at most nn, we may conclude

For ϵ∈(1/n,1/3)\epsilon\in(1/n,1/3), p∈(0,1/2)p\in(0,1/2) and a weighted graph GG and with nn vertices in which every edge has weight at most 1. Let G~\widetilde{G} be the output of Sparsify(G,ϵ,p)\mathtt{Sparsify}(G,\epsilon,p).

The edges of G~\widetilde{G} are a subset of the edges of GG; and

G~\widetilde{G} is a (1+ϵ)(1+\epsilon)-approximation of GG, and

G~\widetilde{G} has at most c5ϵ−2nlog⁡33(n/p)c_{5}\epsilon^{-2}n\log^{33}(n/p) edges, for some constant c5c_{5}.

Moreover, the expected running time of Sparsify\mathtt{Sparsify} is O(mlog⁡(1/p)log⁡17n)O\left(m\log(1/p)\log^{17}n\right).

To establish property (X.1)(X.1), it suffices to show that step 4e can actually be implemented. That is, we need to know that all edges in H~i\widetilde{H}^{i} can be pulled back to edges of EiE^{i}. This follows from (B.1)(B.1) and the fact that HiH^{i} is a contraction of EiE^{i}.

We now establish that the graph G^\widehat{G} is a (1+1/Q)(1+1/Q)-approximation of GG. We will then spend the rest of the proof establishing that G~\widetilde{G} approximates G^\widehat{G}. As the weight of every edge in G^\widehat{G} is less than the corresponding weight in GG, we have G^≼G\widehat{G}\preccurlyeq G. On the other hand, for every edge e∈Ee\in E, we≤(1+1/Q)zew_{e}\leq(1+1/Q)z_{e}, so G≼(1+1/Q)G^G\preccurlyeq(1+1/Q)\widehat{G}, and G^\widehat{G} is a (1+1/Q)(1+1/Q)-approximation of GG.

From Lemma 10.4, we know that there are at most nlnl values of ii for which ki≥2k_{i}\geq 2, and so BoundedSparsify\mathtt{BoundedSparsify} is called at most nlnl times. Thus, with probability at least 1−p1-p, the output returned by every call to BoundedSparsify\mathtt{BoundedSparsify} satisfies properties (B.2)(B.2) and (B.3)(B.3), and accordingly we will assume that these properties are satisfied for the rest of the proof.

As each edge set EiE^{i} has at most n2n^{2} edges, the weight of every edge in graph HiH^{i} is an integer between 11 and n2n^{2}. So, by property (B.3)(B.3), the number of edges in H~i\widetilde{H}_{i} , and therefore in G~i\widetilde{G}_{i}, is at most

Applying Lemma 10.4, we may prove that the number of edges in G~\widetilde{G} is at most

for some constant c5c_{5}, thereby establishing (X.3)(X.3).

To establish (X.2)(X.2), define for every ii the weight-1 graph Fi=(V,E≤i)F^{i}=(V,E^{\leq i}), and observe that

We may apply (B.2)(B.2) and Lemma 10.2 to show that

is a (1+ϵ^)(1+1/c)2(1+\hat{\epsilon})(1+1/c)^{2}-approximation of Gi+c2n3Fi−lG^{i}+c^{2}n^{3}F^{i-l}. Summing over ii while multiplying the iith term by 2−i2^{-i}, we conclude that

is a (1+ϵ^)(1+1/c)2(1+\hat{\epsilon})(1+1/c)^{2}-approximation of

we have proved that G~+βG^\widetilde{G}+\beta\widehat{G} is a (1+ϵ^)(1+1/c)2(1+\hat{\epsilon})(1+1/c)^{2}-approximation of (1+β)G^\left(1+\beta\right)\widehat{G}, and by so Proposition 10.6 below, G~\widetilde{G} is a

approximation of G^\widehat{G}. Property (X.2)(X.2) now follows from the facts that G^\widehat{G} is a (1+1/Q)(1+1/Q)-approximation of GG, and

To bound the expected running time of Sparsify\mathtt{Sparsify}, we observe that the time of the computation is dominated by the calls to BoundedSparsify\mathtt{BoundedSparsify} and the time required to actually form the graphs HiH^{i}. The sets Dj≤iD_{j}^{\leq i} may be maintained using union-find [Tar75], and so incur a cost of at most O(nlog⁡n)O(n\log n) over the course of the algorithm. Each graph HiH^{i} may be formed by determining the component of each of its edges, at a cost of O(∣Ei∣log⁡n)O(\left|E^{i}\right|\log n). So, the time to form the graphs HiH^{i} can be bounded by

This is dominated by our upper bound on the time required in the calls to BoundedSparsify\mathtt{BoundedSparsify}, which is

If β,γ<1/2\beta,\gamma<1/2 and G~+βG^\widetilde{G}+\beta\widehat{G} is a (1+γ)(1+\gamma)-approximation of (1+β)G^(1+\beta)\widehat{G}, then G~\widetilde{G} is a (1+β)(1+γ)(1+\beta)(1+\gamma)-approximation of G^\widehat{G}.

under the conditions β,γ<1/2\beta,\gamma<1/2. ∎

3 Bounding Blow-Up

Similarly, we define the blow-up of a vertex vv to be

The algorithm in [ST08b] for solving linear equations requires sparsifiers in which every vertex has bounded blow-up. While the sparsifiers output by UnwtedSparsify\mathtt{UnwtedSparsify} and BoundedSparsify\mathtt{BoundedSparsify} satisfy this condition with high probability, the sparsifiers output by Sparsify\mathtt{Sparsify} do not. The reason is that nodes of low degree can become part of clusters CjiC^{i}_{j} with many edges of EiE^{i} on their boundary. These clusters can become vertices of high degree in the contraction by π\pi, and so can become attached to edges of high blow-up when they are sparsified.

This problem may be solved by making two modifications to Sparsify\mathtt{Sparsify}. First, we sub-divide the clusters CjiC^{i}_{j} so all the vertices in each cluster have approximately the same degree, and so that the degree of every vertex in HiH^{i} is at most four times the degree of the vertices that map to it. Then, we set G~i\widetilde{G}_{i} to be a random pullback of H~i\widetilde{H}_{i} whose edges are a subset of EE. That is, for each edge (c,d)∈H~i(c,d)\in\widetilde{H}_{i} we pull it back to a randomly chosen edge (a,b)∈E(a,b)\in E for which π(a)=c\pi(a)=c and π(b)=d\pi(b)=d. In this way we may guarantee with high probability that no vertex has high blow-up. We now describe the corresponding algorithm Sparsify2\mathtt{Sparsify2} by just listing the lines that differ from Sparsify\mathtt{Sparsify}.

G~=Sparsify2(G,ϵ,p)\widetilde{G}=\mathtt{Sparsify}2(G,\epsilon,p), where G=(V,E,w)G=(V,E,w) has all edge-weights at most 11. 4a. Let δ ⁣V{}^{\delta}\!{V} be the set of vertices in VV with degrees in [2δ,2δ+1)[2^{\delta},2^{\delta+1}). Let ViV^{i} be the set of vertices attached to edges in EiE^{i}. Let δ ⁣Vi{}^{\delta}\!{V}^{i} be the set of vertices in δ ⁣V∩Vi{}^{\delta}\!{V}\cap V^{i}. 4b. For each δ\delta, let δ ⁣C1i,…,δ ⁣Ckiδi{}^{\delta}\!{C}^{i}_{1},\dotsc,{}^{\delta}\!{C}^{i}_{k^{\delta}_{i}} be the sets of form Dj≤i−l∩δ ⁣ViD^{\leq i-l}_{j}\cap{}^{\delta}\!{V}^{i} that are non-empty and have an edge of EiE^{i} on their boundary. Let Wi=∪j,δδ ⁣CjiW^{i}=\cup_{j,\delta}{}^{\delta}\!{C}^{i}_{j}. For each set δ ⁣Cji{}^{\delta}\!{C}^{i}_{j} that has more than 2δ+22^{\delta+2} edges of EiE^{i} on its boundary, sub-divide the set until each part has between 2δ2^{\delta} and 2δ+22^{\delta+2} edges on its boundary. [We will give a procedure to do the subdivision in the paragraph immediately after this algorithm]. Let δ ⁣C1i,…,δ ⁣Ctiδi{}^{\delta}\!{C}^{i}_{1},\dotsc,{}^{\delta}\!{C}^{i}_{t^{\delta}_{i}} be the resulting collection of sets. 4c. Let π\pi be the map of partition of WiW^{i} by the sets {δ ⁣Cji}j,δ\left\{{}^{\delta}\!{C}^{i}_{j}\right\}_{j,\delta}, and let HiH^{i} be the contraction of (Wi,Ei)(W^{i},E^{i}) under π\pi. 4e. Let H~i=BoundedSparsify(Hi,ϵ^,p/(c8nllog⁡n))\widetilde{H}^{i}=\mathtt{BoundedSparsify}(H^{i},\hat{\epsilon},p/(c_{8}nl\log n)). Let G~i\widetilde{G}^{i} be a random pullback of H~i\widetilde{H}^{i} under π\pi whose edges are a subset of EE.

We should establish that it is possible to sub-divide the clusters as claimed in step 4b. To see this, recall that each vertex in a set δ ⁣Cji{}^{\delta}\!{C}^{i}_{j} has degree at most 2δ+12^{\delta+1}. So, if we greedily pull off vertices one by one to form a new set, each time we move a vertex the boundary of the new set will increase by at most 2δ+12^{\delta+1} and the boundary of the old set will decrease by at most 2δ+12^{\delta+1}. Thus, at the point when the size of the boundary of the new set first exceeds 2δ2^{\delta}, the size of the boundary of the old set must be at least 2δ+2−2δ−2δ+1≥2δ2^{\delta+2}-2^{\delta}-2^{\delta+1}\geq 2^{\delta}. So, one can perform the subdivision in step 4b by a naive greedy algorithm.

For ϵ∈(1/n,1/3)\epsilon\in(1/n,1/3), p∈(0,1/2)p\in(0,1/2) and a weighted graph GG with nn vertices, let G~\widetilde{G} be the output of Sparsify2(G,ϵ,p)\mathtt{Sparsify2}(G,\epsilon,p). Then,

the edges of G~\widetilde{G} are a subset of the edges of GG; and,

G~\widetilde{G} is a (1+ϵ)(1+\epsilon)-approximation of GG, and

G~\widetilde{G} has at most c6ϵ−2nlog⁡34(n/p)c_{6}\epsilon^{-2}n\log^{34}(n/p) edges, for some constant c6c_{6},

Moreover, the expected running time of Sparsify2\mathtt{Sparsify2} is O(mlog⁡(1/p)log⁡17n)O\left(m\log(1/p)\log^{17}n\right).

To prove (Y.3)(Y.3), we must bound the number of clusters, ∑i,δtiδ\sum_{i,\delta}t_{i}^{\delta}, produced in the modified step 4b. From Lemma 10.4, we know that

To bound ∑itiδ\sum_{i}t^{\delta}_{i}, let ∂Ei(W)\partial_{E_{i}}\left(W\right) denote the set of edges in EiE_{i} leaving a set of vertices WW. Let SiδS^{\delta}_{i} be the set of jj for which δ ⁣Cji{}^{\delta}\!{C}^{i}_{j} was created by subdivision, and recall that for all j∈Siδj\in S^{\delta}_{i},

As vertices in δ ⁣V{}^{\delta}\!{V} have at most 2δ+12^{\delta+1} edges and each edge of G^\widehat{G} only appears in at most ⌈log⁡2Q⌉\lceil\log 2Q\rceil sets EiE^{i},

Combining (23) with (24) and (22), we get

for some constant c8c_{8}. By now applying the analysis from the proof of Theorem 10.5, we may prove that (Y.2)(Y.2) and (Y.3)(Y.3) hold with probability at least 1−p1-p. Of course, property (Y.1)(Y.1) always holds.

To prove property (Y.4)(Y.4), we note that the blow-up of a vertex vv is the sum of 1/dv1/d_{v} times the the blow-up of each of its edges. We prove in Lemma 10.8 that the expectation of this sum is 11, and in Lemma 10.9 that each term is bounded by

If the variables were independent, we could apply Theorem 6.8 to prove it is unlikely that vv has blow-up greater than 22.

However, the variables are not independent. The blow-up of edges output by BoundedSparsify\mathtt{BoundedSparsify} are independent. But, the choice of a random pullback at line 4e introduces correlations in the blow-up of edges. Fortunately, the blow-up of edges attached to vv have a negative association (as may be proved by Proposition 8 and Lemma 9 of Dubhashi and Ranjan [DR98]). Thus, by Proposition 7 of [DR98], we may still apply Theorem 6.8, with ϵ=1\epsilon=1 and μ=1\mu=1 to show that the

Applying a union bound over the vertices vv, we see that (Y.4)(Y.4) hold with probability at least 1−p/31-p/3.

The analysis of the running time of Sparsify2\mathtt{Sparsify2} is similar to the analysis of Sparsify\mathtt{Sparsify}, except for the work required to sub-divide sets in step 4b, which we now analyze. Each time a vertex is removed from a set δ ⁣Cji{}^{\delta}\!{C}^{i}_{j} during the subdivision, the work required by a reasonable implementation is proportional to the degree of that vertex in graph GiG^{i}. So, the work required to perform all the subdivisions over the course of the algorithm is at most

whenever we subdivide δ ⁣Cji{}^{\delta}\!{C}^{i}_{j}, we have

The stated bound on the expected running time of Sparsify2\mathtt{Sparsify2} follows. ∎

holds for the graph G~\widetilde{G} output by Sample\mathtt{Sample} as it takes a weight-1 graph as input, selects a probability pep_{e} for each edge, and includes it at weight 1/pe1/p_{e} with probability pep_{e}. As UnwtedSparsify\mathtt{UnwtedSparsify} merely partitions its input into edge-disjoint subgraphs and then applies Sample\mathtt{Sample} to some of them, (26) holds for the output of UnwtedSparsify\mathtt{UnwtedSparsify} as well.

To show that (26) holds for the graph output by BoundedSparsify\mathtt{BoundedSparsify} for each edge e∈Ee\in E and for each ii set

establishing (26) for the output of BoundedSparsify\mathtt{BoundedSparsify}.

Now, let ff be the edge (π(u),π(v))(\pi(u),\pi(v)) in HH. We know that \mboxE[blow-upH~(f)]=1\mbox{\bf E}\left[\textrm{blow-up}_{\widetilde{H}}\left(f\right)\right]=1. If ff appears in H~\widetilde{H}, then the probability that edge ee is chosen in the random pullback is 1/we1/w_{e}. As ff has weight wew_{e}, we find

As in the proof of the previous lemma, we work our way though the algorithms one-by-one. The graph produced by the algorithm Sample\mathtt{Sample} has blow-up at most min⁡(du,dv)/(16log⁡(3/p))2\min(d_{u},d_{v})/(16\log(3/p))^{2} for every edge (u,v)(u,v). As UnwtedSparsify\mathtt{UnwtedSparsify} only calls Sample\mathtt{Sample} on subgraphs of its input graph, a similar guaranteed holds for the output of UnwtedSparsify\mathtt{UnwtedSparsify}. In fact, as UnwtedSparsify\mathtt{UnwtedSparsify} calls Sample\mathtt{Sample} with p^<p/n\hat{p}<p/n, every edge output by UnwtedSparsify\mathtt{UnwtedSparsify} actually has blow-up less than

As BoundedSparsify\mathtt{BoundedSparsify} merely calls UnwtedSparsify\mathtt{UnwtedSparsify} on a collection of graphs that sum to GG, the same bound holds on the blow-up of the graph output by BoundedSparsify\mathtt{BoundedSparsify}.

To bound the blow-up of edges in the graph output by Sparsify2\mathtt{Sparsify2}, note that for every ii and every vertex aa in a graph HiH^{i}, the vertices vv of the original graph that map to HiH^{i} under π\pi satisfy

where dvd_{v} refers to the degree of vertex vv in the original graph and dad_{a} is the degree of vertex aa in graph HiH^{i}. So, the blow-up of every edge (u,v)∈Ei(u,v)\in E^{i} satisfies

We now measure the blow-up of edges relative to G^\widehat{G} instead of GG, which can only over-estimate their blow-up. The lemma then follows from

Final Remarks

Since the initial announcement [ST04] of our results, significant improvements have been made in spectral sparsification. Spielman and Srivastava [SS08] have proved that spectral sparsifiers with O(nlog⁡n/ϵ2)O(n\log n/\epsilon^{2}) edges exist, and may be found in time O~(mlog⁡(nW/ϵ))\widetilde{\mathcal{O}}\left(m\log(nW/\epsilon)\right) where WW is the ratio of the largest weight to the smallest weight of an edge in the input graph. Their nearly-linear time algorithm relies upon the solution of a logarithmic number of linear systems in diagonally-dominant matrices. Until recently, the only nearly-linear time algorithm for solving such systems was the algorithm in [ST08b], which relied upon the constructions in this paper. Recently, Koutis, Miller and Peng [KMP10] have developed a faster algorithm that does not rely on the sparsifier construction of the present paper. Their algorithm finds α\alpha-approximate solutions to Laplacian linear systems in time O(mlog⁡2nlog⁡α−1)O(m\log^{2}n\log\alpha^{-1}). One may remove the dependence on WW in the running time of the algorithm of [SS08] through the procedure described in Section 10 of this paper. Batson, Spielman and Srivastava [BSS09] have shown that sparsifiers with O(n/ϵ2)O(n/\epsilon^{2}) edges exist, and present a polynomial-time algorithm that finds these sparsifiers. It is our hope that sparsifiers with so few edges may also be found in nearly-linear time.

Andersen, Chung and Lang [ACL06] and Andersen and Peres [AP09] have improved upon some of the core algorithms we presented in [ST08a] and in particular have improved upon the algorithm Partition\mathtt{Partition} upon which we based ApproxCut\mathtt{ApproxCut}. The algorithm of Andersen and Peres [AP09] is both significantly faster and saves a factor of log⁡2m\log^{2}m in the conductance of the set it outputs. In particular, it satisfies guarantee (P.3)(P.3) with the term O(τ2/log⁡n)O(\tau^{2}/\log n) in place of our function f1(τ)f_{1}(\tau).

References