200 likes | 214 Vues
Faster Algorithms for Computing the Stationary Distribution, Simulating Random Walks, and More*. * Directed Spectral Graph Theory 101. Michael Cohen. Jonathan Kelner. John Peebles. Richard Peng. Aaron Sidford. Adrian Vladu. Shortest Paths Spanning Trees Max Flow Min Cost Flow ….
E N D
Faster Algorithms for Computing the Stationary Distribution, Simulating Random Walks, and More* * Directed Spectral Graph Theory 101 Michael Cohen Jonathan Kelner John Peebles Richard Peng Aaron Sidford Adrian Vladu
Shortest Paths • Spanning Trees • Max Flow • Min Cost Flow • … • Solve Ux = b • max flow • approximate: [CKMST 11, LRS 12], [KLOS, S 14], [P 15] • exact: [M 13, M 16] • min cost flow: [DS 08], [LS 14], [CMSV 16] • balanced partitioning: [OSV 12] • sampling random spanning trees: [KM 09], [MST 15] • sparsification [SS 08, BSS 09, AZLO 15, LS 15] No Directed Structure Spectral Graph Theory Can solve Ux = b in nearly linear time [ST 04] Improvements: [KMP 10 11, KOSZ 13, LS 13, CKMPPRX 14, PS 14, KLPSS 16, KS 16, …] Combinatorial Object Algebraic Object 1 1 2 subroutine 2 1 5 U = D- A = 1 4 4 3 1
Directed Spectral Graph Theory ? Random walk matrix: W = ATDout-1 5 1 • (I-W) Dout 1 1 2 /1 2 1 /5 /2 5 • AT = • - 1 4 /5 /1 2 4 3 1 /1 1 1
Directed Spectral Graph Theory ? Random walk matrix: W = ATDout-1 To solve we should at least know solution to . is stationary: 5 1 • (I-W) Dout 1 1 2 2 1 5 ℒ = Dout- AT = 1 4 2 4 3 1 1 1
Directed Spectral Graph Theory 1 2 • There is a large class of directed graphs for which we know the kernel of (aka know ‘s stationary distribution) • So and • Goal #1: Solve linear systems on Eulerian Laplacians • Goal #2: Extend to non-Eulerian Laplacians of strongly-connected graphs via calls to Eulerian solver 2 2 3 2 calls to EulerianLaplacian solver improved to in follow up paper, soon on arXiv
Solving EulerianLaplacian Systems • We can employ undirected structure • The symmetrization is an undirected Laplacian Not true for non-Eulerian graphs 2 1 2 1
Solving EulerianLaplacian Systems • We can employ undirected structure • The symmetrization is an undirected Laplacian Not true for non-Eulerian graphs • harmonic symmetrization is symmetric PSD • when is symmetric, same as harmonic symmetrization because
Solving EulerianLaplacian Systems • Classic approach: preconditioning • want to solve • have access to solver for , which is a decent approximation to , i.e. • off-the-shelf method (Chebyshev, Conjugate Gradient) solves in iterations • Theorem ( as preconditioner):and • So iterations, each involves applying in time.
Solving EulerianLaplacian Systems • Classic approach: preconditioning • want to solve • have access to solver for , which is a decent approximation to , i.e. • off-the-shelf method (Chebyshev, Conjugate Gradient) solves in iterations • Theorem ( as preconditioner):and • So iterations, each involves applying in time. Special eigenvalue structure: at most eigenvalues . Preconditioned Conjugate Gradient converges in iterations: .
Solving EulerianLaplacian Systems • Do we have a time algorithm? • Not really, CG may require a polynomially large number of bits • Instead, use sparsification + low rank updates running time • Soon on arXiv: [CKPPSV + Anup Rao ]
Solving Non-EulerianLaplacian Systems 2/7 2/7 • Every strongly connected graph is Eulerian up to a diagonal scaling • Consider the rescaled Laplacian • Let be the stationary probability • Rescale all arcs leaving vertex by is Eulerian • But we did not know to begin with… x 2/7 1 1 2 x 2/7 x 1/7 1/7 1 .5 x 1/7 x 2/7 5 1 .5 x 1/7 1/7 1/7 4 3 1
Solving Non-EulerianLaplacian Systems • Extension of Eulerian solver: can solve where is Laplacian and is nonnegative diagonal matrix such that all column sums (call RCDD matrix)
Solving Non-EulerianLaplacian Systems Find diagonal scaling which makes Eulerian Find diagonal scaling and small diagonal which make RCDD relax , , ,
Solving Non-EulerianLaplacian Systems Sherman-Morrison Formula scaling of Laplacian rank-1 update RCDD requires one solve in and one solve in access to solver access to solver + + can find kernel
Solving Non-EulerianLaplacian Systems sum of entries in gets reduced by half scaling of Laplacian strongly RCDD Eulerian scaling of Laplacian RCDD tightly RCDD reduce access to solver access to solver + + can find kernel
Solving Non-EulerianLaplacian Systems RCDD , , , Done a iterations!
Strongly-Connected Solving EulerianLaplacian Systems • Do we have a time algorithm? • Not really, CG may require a polynomially large number of bits • Instead, use sparsification + low rank updates running time • Soon on arXiv: [CKPPRSV]
Applications • Personalized PageRank vector with restart probability , and vector of teleport probabilities : • Hitting times • Commute times • Escape probabilities: probability a random walk reaches u before v • with such that , • Sketching all-pairs commute times • Can write , where • Sketch quadratic form, just like in the undirected case [SS 09]
Conclusions • First dent into Directed Spectral Graph Theory that can be used algorithmically • Running time improvements, simplifications? Currently have algorithm with running time , to be posted on arXiv. • More applications?
Thank You! Michael Cohen Jonathan Kelner John Peebles Richard Peng Aaron Sidford Adrian Vladu