Density Independent Algorithms for Sparsifying $k$-Step Random Walks
Gorav Jindal, Pavel Kolev, Richard Peng, Saurabh Sawlani

TL;DR
This paper introduces faster algorithms for sparsifying transition matrices of k-step random walks on graphs, improving efficiency by leveraging density-independent methods and tighter sampling bounds.
Contribution
It presents novel algorithms that produce sparse approximations of k-step random walk matrices with improved runtime and size bounds, based on better sampling analysis.
Findings
Produces a graph with about n log n edges approximating the k-step walk
Achieves runtime of m + n log^4 n for the sparsification process
Revisits and refines density independent graph sparsification techniques
Abstract
We give faster algorithms for producing sparse approximations of the transition matrices of -step random walks on undirected, weighted graphs. These transition matrices also form graphs, and arise as intermediate objects in a variety of graph algorithms. Our improvements are based on a better understanding of processes that sample such walks, as well as tighter bounds on key weights underlying these sampling processes. On a graph with vertices and edges, our algorithm produces a graph with about edges that approximates the -step random walk graph in about time. In order to obtain this runtime bound, we also revisit "density independent" algorithms for sparsifying graphs whose runtime overhead is expressed only in terms of the number of vertices.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComplexity and Algorithms in Graphs · Markov Chains and Monte Carlo Methods · Optimization and Search Problems
Density Independent Algorithms
for Sparsifying -Step Random Walks
Gorav Jindal
Max-Planck-Institut für Informatik, Saarbrücken, {gjindal,pkolev}@mpi-inf.mpg.de
Pavel Kolev This work has been funded by the Cluster of Excellence “Multimodal Computing and Interaction” within the Excellence Initiative of the German Federal Government. Max-Planck-Institut für Informatik, Saarbrücken, {gjindal,pkolev}@mpi-inf.mpg.de
Richard Peng This material is based upon work supported by the National Science Foundation under Grant No. 1637566. Georgia Institute of Technology, {rpeng,sawlani}@gatech.edu
Saurabh Sawlani††footnotemark:
Georgia Institute of Technology, {rpeng,sawlani}@gatech.edu
Abstract
We give faster algorithms for producing sparse approximations of the transition matrices of -step random walks on undirected, weighted graphs. These transition matrices also form graphs, and arise as intermediate objects in a variety of graph algorithms. Our improvements are based on a better understanding of processes that sample such walks, as well as tighter bounds on key weights underlying these sampling processes. On a graph with vertices and edges, our algorithm produces a graph with about edges that approximates the -step random walk graph in about time. In order to obtain this runtime bound, we also revisit “density independent” algorithms for sparsifying graphs whose runtime overhead is expressed only in terms of the number of vertices.
1 Introduction
Random walks in graphs are fundamental objects in both graph algorithms and graph data structures. Problems related to random walks, such as shortest paths and minimum cuts are well studied in both static [Som14] and dynamic settings [HKN14, GHT16]. While some of these problems, such as shortest path, aim to find a single walk, other problems such as flows/cuts [GT14] or triangle densities [BPWZ14, Tso08] aim to capture information related to collections of walks. Algorithms and data structures for such problems often need to store, or can be sped up by, intermediate structures that capture the global properties of multi-step walks [PT12, GP13, ADK*+*16, BHI14]. However, many intermediate structures are inherently dense and therefore expensive to compute explicitly.
Graph sparsification is a technique for efficiently approximating a dense graph by a sparser one, while preserving some key properties such as sizes of graph cuts, distances between vertices, or linear operator properties of matrices associated with the graphs. Spectral sparsifiers provide linear operator approximations that also imply approximation to all graph cuts. Their constructions have some of the simplest interactions with statistical concentration results [BSST13]. Spectral sparsifiers of (possibly dense) intermediate objects have a variety of applications in graph algorithms, such as sampling from graphical models [CCL*+*15], solving linear systems [PS14, KLP*+*16], sampling random spanning trees [DKP*+*16] and maintaining approximate minimum cuts in dynamically changing graphs [ADK*+*16]. In these applications, the optimal performance is achieved by producing a sparsifier of the denser intermediate object directly, instead of generating the larger exact object. Such implicit sparsification routines were first studied for random walk matrices [PS14, CCL*+*15]. These matrices contain the pairwise transition probabilities between vertices under -step walks. Moreover, such matrices are dense even for sparse original graphs with small : the -step walk on the -vertex star has non-zero transition probabilities between any pair of vertices. On the other hand, as the -step random walk can be viewed as a single random process, these vertex-to-vertex transition probabilities correspond to a graph, and therefore have a sparse approximate.
Cheng et al. [CCL*+*15] systematically studied random walk sparsification and its applications. They gave a routine that produces an -spectral sparsifier (which we will formally define in Subsection 2.2) with edges for a -step walk matrix in time. Our main result, which we show in Section 3 is a direct improvement of that routine:
Theorem 1.1**.**
(Sparsifying Laplacian Monomials) Given a graph and an error , there is an algorithm that outputs an -spectral sparsifier of with at most edges in time. 111 We use to denote the omission of logarithmic terms lower than the ones shown in the set. In all cases in this paper, we track terms of explicitly and such notation hides terms of . In all these cases, this notation hides a term of at most .
We term this type of running time with most of the overhead on the number of vertices, , as density independent. Such runtimes arise naturally in many other graph problems [FT87], and was first studied for graph sparsification in an earlier manuscript by a subset of the authors [JK15]. Our results can also be combined with the repeated-squaring technique in [CCL*+*15] to reduce the runtime dependence on to logarithmic [CC16]. This plus generalizations to general random walk polynomials [CC16] would then supersede all claims from [JK15]. As these steps are much closer to [CCL*+*15], we will focus on the small case in this paper. Furthermore, as our sparsification algorithm has a much more direct interaction with routines that provide upper bounds of effective resistances, they can likely be combined with tools from [ADK*+*16] to give dynamic algorithms for maintaining under insertions/deletions to . However, as there are currently only few applications of such sparsifiers, we believe it may be more fruitful to extend the applications before further developing the tools.
Our algorithms, as with the ones from [JK15, CCL*+*15] are based on implicit sampling of dense graphs by probabilities related to effective resistances. Such approach is the only known efficient approach for even the ‘simpler’ problem of producing cut sparsifiers of . Our improvements rely on an a key insight from the sparse Gaussian elimination algorithm by Kyng and Sachdeva [KS16]: using triangle inequality between effective resistances to obtain a tighter set of probability upper bounds. This allows us to select the first edge, from which we “grow” a length walk, via an adaptive sampling process, instead of using uniform sampling as in the previous result [CCL*+*15]. Furthermore, this adaptive process removes any sampling count dependencies on , the number of edges, making a density-independent runtime possible. This type of running time also has analogs in input sparsity time algorithms in randomized numerical linear algebra [W*+*14, CLM*+*15, CMM17]. Obtaining density-independent bounds is critical for graph sparsification algorithms because they are primarily invoked on relatively dense graphs. A graph sparsification routine that produces a sparsifier with edges in time, such as the combinatorial algorithm given in [KPPS17], will only be invoked when , which means the running time of the algorithm is actually . As a result, we believe that for graph sparsification to work as a primitive for processing large graphs, a running time of or better is necessary.
In Section 4, we provide some steps toward this direction by giving a better density-independent spectral sparsification algorithm. We combine ideas from previous density-independent algorithms for sparsifying graphs [KLP15] with recent developments in tree embedding and numerical algorithms to obtain numerical sparsification routines that run in time, and combinatorial ones that take time. Both of these routines are in turn applicable to the walk sparsification algorithm in Section 3, giving routines for sparsifying -step walks with similar running times: the bound stated in Theorem 1.1 is via the numerical routine. While these results are far from what we think is the best possible, we show a variety of new algorithmic tools for designing algorithms for sparsifying -step random walks.
2 Background
We start with some background information about graphs and matrices corresponding to them. These matrices allow us to define graph approximations, as well as compute key sampling probabilities needed to produce spectral sparsifiers. Due to space constraints, we will only formally define most of the concepts. More intuition on them can be found in notes on spectral graph theory and random walks such as [DS84, Lov93].
2.1 Random Walks and Matrices
Let be a weighted undirected graph. We define its adjacency matrix as , and its degree matrix as and when . This leads to the graph Laplacian .
One step of a random walk can be viewed as distributing the ‘probability mass’ at a vertex evenly among the edges leaving it, and passing them onto its neighbors. In terms of these matrices, it is equivalent to first dividing by , and then multiplying by . Thus, the transition matrix of the th step random walk is given by . The corresponding Laplacian matrix of the -step random walk is defined by
[TABLE]
The matrices can be viewed as a sum over length walks. This view is particularly useful in our algorithm, as well as the earlier walk sparsification algorithm by Cheng et al. [CCL*+*15] because these walks are a more ‘natural’ unit upon which sparsification by effective resistances is applied. Formally, we can define the weight of a length walk by
[TABLE]
Straightforward checking shows that for any , it holds that
[TABLE]
2.2 Spectral Approximations of Graphs
Our notion of matrix approximations will be through the symbol, which is in turn defined through the Löewner partial ordering of matrices. For two matrices, , and , we say that
[TABLE]
if is positive semidefinite, and
[TABLE]
if there exists bounds and such that , and . This notation is identical to generalized eigenvalues, and in particular, implies that all cuts on them are within a factor of of each other.
The adjacency matrix of a graph has several of undesirable properties when it comes to operator based approximations: it can have a large number of eigenvalues at [math], which must be exactly preserved under relative error approximations. As a result, graph approximations are defined in terms of graph Laplacians. As we will discuss below, these approximations are often in terms of reducing edges. So formally, we say that a graph is a -sparsifier of if
[TABLE]
and our goal is to compute an -sparsifier of the -step random walk matrix .
2.3 Graph Sparsification by Effective Resistances
There are two ways of viewing graph sparsification: either as tossing coins independently on the edges, or sampling a number of them from an overall probability distribution. We take the second view here because it may prove expensive to access all edges in . The pseudocode of the generic sampling scheme is given in Algorithm 1.
Algorithmically, the sampling step can be implemented by first generating a number uniformly random in , and binary searching among the prefix sums of the values until it reaches the edge corresponding to that point. Note also that if we want to generate random numbers with bounded precision, we can also round the values of all edges up to the nearest multiple of , leading to at most extra edges. The guarantees of this routine require defining effective resistances and leverage scores. Effective resistance is a metric on a graph that is defined by:
[TABLE]
where denotes the pseudoinverse of and is the indicator vector with at and at .
The effective resistances are directly related to the statistical leverage scores by the relation . Moreover, these scores are well defined for general matrices, and have a wide range of applications in randomized linear algebra [W*+*14, CLM*+*15, CMM17]. The guarantees of sampling by weight times effective resistance, or leverage scores, can then be formalized as:
Lemma 2.1**.**
(Sampling by Upper Bounds on Leverage Scores [Tro12]) Suppose is a graph and is a vector such that for every edge , then any process that simulates the ideal sampling in Algorithm 1 produces an -sparsifier of with edges in time.
The bound on sample count then follows from:
Fact 2.2** (Foster’s Theorem).**
For any undirected graph , we have:
[TABLE]
Leverage scores are the preferred objects for defining sampling distributions as they are scale invariant: doubling the weights of all edges does not change them. However, we will still make extensive uses of effective resistances because of the need to approximate them across different graphs. Such approximations are difficult to state for leverage scores because spectrally similar graphs may have very different sets of combinatorial edges.
Fact 2.3**.**
If and are graphs such that , then for any vertices and we have
[TABLE]
Note that this generalizes Rayleigh’s monotonicity law, which postulates that the effective resistances can only increase as one removes edges from a graph.
3 Random Walk Sparsification via Walk Sampling
In this section we describe our improved algorithm for sparsifying random walk polynomials. The main difficulty faced by such a routine is that the actual walk matrix cannot be constructed. Instead, we need to simulate the ideal sampling routine shown in Algorithm 1 by constructing nearly tight upper bounds of leverages scores in that can also be efficiently sampled from, without having explicit access to .
The first obstacle to obtain such estimates is to get an access to effective resistances in . To this end, the following lemma from [CCL*+*15] provides a helpful starting point.
Lemma 3.1**.**
[CCL*+*15]** For odd , we have and for even , we have
Furthermore, note that Lemma 3.1 combined with Fact 2.3 implies for odd that
[TABLE]
and for even that
[TABLE]
Since might be dense, i.e. , it is prohibitive to use (4) and (5) directly. Instead, we upper bound the values with a walk using the triangle inequality of effective resistances [Spi07, Lemma 9.6.1].
Fact 3.2** (Triangle Inequality for Effective Resistances).**
For any graph and any walk , we have
[TABLE]
Now, suppose we have a vector that upper bounds the effective resistances, i.e., for all . Then, by Lemma 2.1 and Fact 3.2, to sparsify , it suffices to sample a length random walk in with probability proportional to
[TABLE]
This distribution has the advantage that it is efficiently computable:
Lemma 3.3**.**
For any graph , and any vector , we can sample length walks with probability proportional to
[TABLE]
using the following procedure:
Pick uniformly at random an index in the range . 2. 2.
Choose an edge with probability proportional to . 3. 3.
Extend the walk in both directions from and via two random walks.
Proof.
By total law of probability, the procedure samples a fixed walk with probability equal to
[TABLE]
where the first term is step (1), the second term is step (2) and the third and the fourth are for the two random walks extending the selected edge. ∎
The total number of samples needed by Lemma 2.1 can be extracted from summing over random walks containing a particular edge in a way similar to [CCL*+*15]. For completeness, we present its proof in Appendix A.
Lemma 3.4**.**
For any weighted graph , any , and any vector , it holds
[TABLE]
For every odd , by setting to (an approximation of) , yields an efficient sampling procedure due to (8) and Lemma 3.3.
However, when is even Lemma 3.1 gives a bound in terms of (not ), i.e. . Hence, the distribution in Lemma 3.3 requires an access to the -step random walk matrix , which might also be dense and therefore expensive to compute.
Moreover, suppose is a -length path graph , then for , since has only one edge (and self-loops). A naive approach to tackle these issues is to substitute with . However, this approach fails shortly since it is not true in general that
[TABLE]
We work around this by using effective resistances from the “double cover” of , instead. The “double cover” is the tensor product of and a path of length . Combinatorially, is a bipartite graph with vertex sets each a copy of such that for every edge we insert in the following two edges: and with .
The next lemma (proved in Appendix A) fixes (9) and guarantees for every edge that
[TABLE]
Lemma 3.5**.**
For any vertices and in , it holds
[TABLE]
where and are the corresponding copies of and in , respectively.
Using the preceding results, we design an algorithm with improved sampling count. It takes any procedure that produces effective resistance distribution that dominates the true one, and produces samples that suffice for simulating the ideal sampling algorithm on (c.f. Subsection 2.3, Algorithm 1). The pseudocode for this routine is shown in Algorithm 2.
Note that from the perspective of this framework of picking edges with probabilities proportional to , and extending them into walks, the previous result [CCL*+*15] can be viewed as utilizing a simple that returns on the effective resistance of every edge.
Theorem 3.6**.**
Given any graph , any values of and , and any effective resistance estimation algorithm that produces w.h.p. effective resistance that sum up to , calling produces an -sparsifier of with edges in time proportion to the cost of one call to on a graph of twice the size, plus an overhead of .
Proof.
By Lemma 2.1, it suffices to show that this algorithm simulates the ideal sampling algorithm given in Algorithm 1. Once again we split into the cases of being odd or even.
In the case of being odd, Lemma 3.3 gives that a walk is sampled with weight at least
[TABLE]
The quality of the distribution produced, follows from Lemma 3.1 and the triangle inequality in Fact 3.2, which then combined with Lemma 2.1 gives the quality of the output. Also, the total size of the sparsifier, as well as the running time follows from Lemma 3.4.
When is even, by combining Lemmas 3.1 and Lemma 3.5 we have
[TABLE]
Also, note that because is even, each step walk in also corresponds to a walk in that starts/ends on the same side, but alternates sides at each step. Using (10) and the symmetry between and , it suffices to sample length walks with estimated effective resistances satisfying for every edge
[TABLE]
The rest of the algorithm follows similarly as in the case of odd .
The extra term in the overhead’s runtime accounts for performing a random walk of length , i.e. after preprocessing in time an neighboring edge can be sampled using binary search in time. ∎
This reduces the task of efficiently sampling edges in to producing good upper bounds for the effective resistances of an explicitly specified graph, either or . In the next section we discuss this routine, with focus on density-independent routines.
4 Faster Density Independent Sparsification of Graphs
Note that the monomial sparsification routine only requires a good distribution that dominates the effective resistances. These effective resistances can in turn be computed w.r.t. an approximate graph in a more efficient manner.
Our approach for obtaining density-independent routines follow the approach given in [KLP15]. Namely, we aggressively make the graph more tree-like, and build sparsifiers backwards, each leveraging access to a sparsifier of a graph that is within a constant factor of it.
The main algorithmic difficulty of designing density-independent schemes is that numerically oriented approaches for estimating effective resistances require time.
Instead, a more useful method is to utilize low stretch spanning trees to provide an upper bound on all leverage scores in terms of a tree’s stretch. The advantage of this approach is that the stretch of all edges in w.r.t. a tree can be computed using lowest common ancestor queries in only time [HT84]. For a particular tree , we define the stretch of an edge w.r.t. as the sum of resistances over the unique path in connecting ’s endpoints:
[TABLE]
Extending this definition, the stretch of a graph w.r.t. is given by
[TABLE]
Our analysis relies on the following results:
Lemma 4.1**.**
(Lemma 6.4. in **[KLP15]**) If and are two graphs such that , then for any tree , it holds . 2. 2.
If we have a tree , then we can construct an -sparsifier of with edges in time. This is a direct consequence of Lemma 2.1, as the stretch upper bounds leverage scores. 3. 3.
(Theorem 1 in **[AN12]**) For any graph , we can obtain a tree with total stretch in time in the pointer machine model. 4. 4.
(Lemma 5.9 in **[CMP*+*14]**) For any graph and any parameter , we can find in time under the RAM model a tree and a graph obtained by removing edges such that .
We will use these tools to generate a sequence of graphs based on a single low-stretch subgraph. If we set in Part 4, the number of edges omitted in can be sparsified in time using any of the sparsification methods [KLP*+*16, KPPS17]. This leads to a scheme that start with , and creates a chain of graphs where the scaling factor of the tree increases:
[TABLE]
This sequence quickly leads to a graph whose stretch is small enough that we can obtain an -sparsifier in time.
Lemma 4.2**.**
For any , an -sparsifier of with edges can be found in time.
Proof.
Multiplying by a factor of reduces the total stretch by the same factor. From Lemma 4.1 Part 4, we get that the total stretch is bounded by . This means by Lemma 4.1 Part 2, has an sparsifier with edges. Invoking a nearly-linear time graph sparsification algorithm on this graph then gives the result. ∎
We will leverage sparsifiers of to construct iteratively, sparsifiers of using the subroutine shown in Algorithm 3. We also state its guarantees formally below.
Lemma 4.3**.**
Given a -sparsifier of and , produces an -sparsifier of with at most edges in time.
Proof.
To apply Lemma 2.1, we have to compute a vector and give an upper bound on . Since it follows that
[TABLE]
Moreover, by combining (12), , Lemma 4.1, Part 1 and Part 3 we obtain
[TABLE]
This yields the overall edge count and runtime. ∎
We present two density-independent sparsification algorithms that iteratively construct sparsifiers backwards from by:
Creating a crude -sparsifier of , with edges using TreeSparsify with , the sparsifier of constructed in the previous step as guide. 2. 2.
Further sparsify this crude sparsifier, , with error to from , which has the desired edge count, and will be used in the next step.
We refrain from providing pseudocode of these steps because of the subtle differences in the resulting algorithms.
The current fastest sparsification routines compute effective resistances via the Johnson-Lindenstrauss transform [SS11], which in turn requires the use of fast linear system solvers [KLP*+*16].
Lemma 4.4**.**
Given a graph , we can compute -approximations to its effective resistances in time.
This runtime bound can be obtained by letting the depth approach in the proof of Theorem 1.2 on page 49 of [KLP*+*16]. The effective resistances can in turn be extracted from the call to Sparsify made at in the pseudocode in Figure 11 on page 46. We omit details on these steps in the hope that significantly simpler sparsification routines with similar performances will be developed.
Combining this with the sequence of graphs defined in (11) gives:
Corollary 4.5**.**
There is a routine that takes a weighted undirected graph with vertices, edges, an error , and produces in time an -sparsifier of with edges, as well as leverage score upper bounds that sum up to .
Proof.
Consider the sequence of matrices as defined in (11). The sparsifier for is given by Lemma 4.2.
Then we can iteratively build sized -sparsifiers for all the way up to . The cost of invoking at each step is , while the resulting sparsifier has edges. Lemma 4.4 then turns this into an -sparsifier for .
At the last step of , we invoke these same routines, but now with error to obtain the -sparsifier. Note that the effective resistance upper bounds are computed during the call to . ∎
The guarantees of this routine fits into the requirements of the random walk sampling algorithm from Section 3 and yields the faster, density-independent algorithm for sparsifying , that is our main result.
Proof.
(Of Theorem 1.1) The leverage scores upper bound obtained by Corollary 4.5, when combined with Theorem 3.6 produces an -sparsifier for with edges in time. Sparsifying this graph once again using Lemma 4.4 then leads to the main result as stated in Theorem 1.1. ∎
There are also purely combinatorial constructions of graph sparsifiers based on spanners [KP12, Kou14, KPPS17]:
Lemma 4.6**.**
(Theorem 4.1. in [KPPS17]) Given a graph and an error , we can compute an -spectral sparsifier of with edges in time.
The algorithm in Lemma 4.6, applied to our sparsification scheme gives
Corollary 4.7**.**
There is a combinatorial algorithm that for any graph on vertices and edges, and any error , produces in time an -sparsifier with edges, as well as leverage score upper bounds that sum up to .
Proof.
This is similar to the routine calling numerical sparsifiers outlined in Corollary 4.5. However, each of the now has edges. Hence, the first crude approximation has edges. Sparsifying it down to edges takes time. ∎
Appendix A Deferred Proofs
We provide now some additional details on Lemmas from Section 3 that are direct consequences of steps in previous works. The total summation of the sampling weights follows from a summation identical to the special case of uniform sampling, as presented in [CCL*+*15, Lemma 29]. More precisely, by evaluating the total weights of all random walks that involve a particular edge .
See 3.4
Proof.
We first show by induction that the total weights of all length walks whose th edge is is exactly .
The base case of is trivial as only is a length walk between and .
The inductive case of has two cases: or . We consider the case only, as the other one follows by symmetry. Expanding the weight of a length walk gives:
[TABLE]
The fact that means that can be any neighbor of , leading to a sum that cancels the term in the denominator. Formally:
[TABLE]
The result then follows from the inductive hypothesis applied to walks of length that have edge as .
The proof then uses a double counting argument that breaks the summation over the edge , and by noting that the choice over implies that each edge is picked exactly times. We can rewrite the original summation as:
[TABLE]
The proof above gives that the term within the bracket is . So the summation over is just an extra factor of , by which we obtain the result.
∎
The equivalence of effective resistances in and requires the definition of Schur complements.
Definition A.1** (Schur Complement).**
The Schur Complement of a symmetric matrix in block form: that removes the block is:
[TABLE]
It can be seen that, if was the Laplacian of a graph , is the Laplacian of the graph , which can be formed using the following iterative process:
- •
Iteratively for all vertices (The set of vertices represented by the columns in of .)
- –
For all pairs of edges and in the current graph (including edges added in previous steps), delete them and add the edge with weight
[TABLE]
where is the weighted degree of (once again w.r.t. the current graph).
- –
Delete
Lemma A.2**.**
For every vector \boldsymbol{\mathit{z}}=\left(\begin{array}[]{c}\boldsymbol{\mathit{z}}_{1}\\ 0\end{array}\right) it holds that
[TABLE]
By symmetry for any vector \boldsymbol{\mathit{z}}=\left(\begin{array}[]{c}0\\ \boldsymbol{\mathit{z}}_{2}\end{array}\right) it holds that
[TABLE]
In particular, the effective resistances are maintained under Schur complement.
Proof.
Consider the linear system
[TABLE]
Since , we have
[TABLE]
and thus
[TABLE]
∎
See 3.5
Proof.
Notice that
[TABLE]
is the Schur Complement of
[TABLE]
with respect to one half of the vertices, e.g. . So, the lemma follows from Lemma A.2. ∎
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[ADK + 16] Ittai Abraham, David Durfee, Ioannis Koutis, Sebastian Krinninger, and Richard Peng. On fully dynamic graph sparsifiers. In Foundations of Computer Science (FOCS), 2016 IEEE 57th Annual Symposium on , pages 335–344. IEEE, 2016. Available at: http://arxiv.org/abs/1604.02094.
- 2[AN 12] Ittai Abraham and Ofer Neiman. Using petal-decompositions to build a low stretch spanning tree. In Proceedings of the forty-fourth annual ACM symposium on Theory of computing , pages 395–406. ACM, 2012. Available at: https://www.microsoft.com/en-us/research/wp-content/uploads/2012/01/spanning-full 1.pdf.
- 3[BHI 14] Sayan Bhattacharya, Monika Henzinger, and Giuseppe F Italiano. Deterministic fully dynamic data structures for vertex cover and matching. In Proceedings of the Twenty-Sixth Annual ACM-SIAM Symposium on Discrete Algorithms , pages 785–804. SIAM, 2014. Available at: https://arxiv.org/abs/1412.1318.
- 4[BPWZ 14] Andreas Björklund, Rasmus Pagh, Virginia Vassilevska Williams, and Uri Zwick. Listing triangles. In International Colloquium on Automata, Languages, and Programming , pages 223–234. Springer, 2014.
- 5[BSST 13] Joshua Batson, Daniel A. Spielman, Nikhil Srivastava, and Shang-Hua Teng. Spectral sparsification of graphs: theory and algorithms. Communications of the ACM , 56(8):87–94, August 2013. Available at: http://cacm.acm.org/magazines/2013/8/166320-spectral-sparsification-of-graphs/abstract.
- 6[CC 16] Yu Cheng and Dehua Cheng. Personal Communication, 2016.
- 7[CCL + 15] Dehua Cheng, Yu Cheng, Yan Liu, Richard Peng, and Shang-Hua Teng. Efficient sampling for Gaussian graphical models via spectral sparsification. Proceedings of The 28th Conference on Learning Theory , pages 364–390, 2015. Available at http://jmlr.org/proceedings/papers/v 40/Cheng 15.pdf.
- 8[CLM + 15] Michael B. Cohen, Yin Tat Lee, Cameron Musco, Christopher Musco, Richard Peng, and Aaron Sidford. Uniform sampling for matrix approximation. In Proceedings of the 2015 Conference on Innovations in Theoretical Computer Science , ITCS ’15, pages 181–190, 2015. Available at: https://arxiv.org/abs/1408.5099.
