Laplacian Linear Equations,
Graph Sparsification, Local
Clustering, Low-Stretch Trees, etc.
Shang-Hua Teng and I wrote a large paper on the problem of solving
systems of linear equations in the Laplacian matrices of graphs.
This paper required many graph-theoretic algorithms, most of which
have been greatly improved. This page is an attempt to keep
track of the major developments in and applications of these ideas.
Combinatorial Preconditioning
The combinatorial approach to preconditioning, also called support
theory, was introduced by Vaidya in an unpublished paper. For
more information on the history of this field, I recommend Bruce
Hendrickson's Support Theory for Preconditioning page.
The Spielman-Teng Papers
Shang-Hua Teng and I wrote a large paper on this topic,
"Nearly-Linear Time Algorithms for Graph Partitioning, Graph
Sparsification and Solving Linear Systems", (prelim version in STOC
'04, extended version on arxiv), in which we
showed how to solve symmetric, diagonally-dominant linear sytems in
nearly-linear time. We have since broken that paper into three
papers, each of which may be read on its own, and which have been
submitted to journals individually.
- "A Local Clustering
Algorithm for Massive Graphs and its Application to
Nearly-Linear Time Graph Partitioning",
- "Spectral
Sparsification of Graphs", (SICOMP 2011) and
- "Nearly-Linear
Time Algorithms for Preconditioning and Solving Symmetric,
Diagonally Dominant Linear Systems".
Expositions of the content of these papers may be found in the tutorial
I
gave at IPCO05 (here
are the slides) and in some of the lectures of my classes Spectral Graph
Theory and its Applications. and Spectral Graph
Theory
The Best Solvers
Presently, the best constructions of combinatorial preconditioners
appear in the papers:
These papers find efficient (and incredibly simple) ways to
construct the precondtioners
whose existance was first proved in:
Code
Yiannis Koutis has written code that implements a version of
combinatorial preconditiong. You can find it
here.
An implementation of Vaidya's original approach is implemented in
the TAUCS
package, written by Doron Chen, Vladimir Rotkin and Sivan Toledo.
If you need to solve diagonally-dominant linear systems, I also
suggest trying the Algebraic Multigrid algorithm.
You can find an implementation in the LAMG package, written by
Oren Livne.
Local Graph Clustering
The problem of local graph clustering was introduced in paper number
1 above.
Given a massive graph and a vertex of interest, the problem is to
find a cluster in the graph around the given vertex.
Moreover, we try to do this in time proportional to the size of the
cluster returned. Algorithms for this problem are
useful for two reasons. The first is that they are very
efficient as they can ignore most of the graph. The second is
that they provide one of the few ways of identifying small clusters
in certain regions.
Our paper has been substantially improved in the following three
papers:
- Local
graph
partitioning
using PageRank vectors, by Andersen, Chung and Lang.
FOCS '08, to appear in Internet Mathematics (improves on paper 1
above)
A much cleaner proof of the correctness of this algorithm
appears in the next paper.
- Detecting sharp drops
in PageRank and a simplified local partitioning algorithm,
by Andersen and Chung. Theory and Applications of
Models of Computation, Proceedings of TAMC 2007, LNCS
4484, Springer, (2007), 1--12.
- Finding Sparse Cuts
Locally Using Evolving Sets, by Andersen and Peres.
Appeared in STOC '09.
The best result in this area so far.
Algorithms from these papers have been used in a large number of
clustering applications. Here are some examples.
- Statistical
properties of community structure in large social and
information networks, by Andersen, Lang, Dasgupta and
Mahoney, (WWW '08)
- IsoRankN:
spectral methods for global alignment of multiple protein
networks, by Liao, Lu, Baym, Singh, and Berger
(Bioinformatics, 2009)
- Finding
local communities in protein networks, by Voevodski, Teng
and Xia (BMC Bioinformatics, 2009)
- Algorithms
to Detect Multiprotein Modularity Conserved during Evolution,
by Hodgkinson and Karp
(BIOINFORMATICS RESEARCH AND APPLICATIONS, 2011)
Low-Stretch Spanning Trees
Sparsification
Improvements in spectral sparsification may be found in the
following papers.
Other support-theory based algorithms
Mathematical foundations of combinatorial preconditioning
- Support-Graph
Preconditioners, by Bern, Gilbert, Hendrickson, Nguyen and
Toledo. SIAM J. Matrix Anal. & Appl. 2006.
- Support
Theory for Preconditioning, by Boman and Hendrickson. SIAM
J. Matrix Anal. & Appl. 2003.
- Maximum-weight-basis
preconditioners, by Boman, Chen, Hendrickson and
Toledo, Numerical Linear Algebra and Applications 2004.
- Rigidity
in
finite-element
matrices: Sufficient conditions for the rigidity of structures
and substructures, by Shklarski and Toledo.
- On
factor width and symmetric H-matrices, by Boman,
Chen, Parekh and Toledo, Linear Algebra and its Applications,
2005.
- Combinatorial
characterization
of
the null spaces of symmetric H-matrices, by Chen and
Toledo, Linear Algebra and its Applications, 2004.