Exact Algorithms for Hard Graph Problems (Algoritmi Esatti - Idsia
Graph Structure via Exact Gaussian ... - Sushant Sachdeva › laplacian2.0 › schild.pdf · Graph...
Transcript of Graph Structure via Exact Gaussian ... - Sushant Sachdeva › laplacian2.0 › schild.pdf · Graph...
Graph Structure via Exact Gaussian Elimination
Aaron [email protected]
University of California, Berkeley
October 6, 2018
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 1
Relevant graph theoretic property of Schur complementsH := Schur(G , S): a weighted graph with V (H) = S and the propertythat the following two distributions are identical:
the list of vertices visited by a random walk in H
the list of vertices in S visited by a random walk in G
1
1
11
1
1
1 1
1
1
11/3
1/3
1/3⇒
4/3
1
1
1
1/3
1/3
⇒1/3
1/3
1/3
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 2
Goals of this talk
Use our graph theoretic view of Schur complements to
I prove that electrical flows are good `2-oblivious routersI sample uniformly random spanning trees in almost-linear time
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 3
Goals of this talk
Use our graph theoretic view of Schur complements toI prove that electrical flows are good `2-oblivious routers
I sample uniformly random spanning trees in almost-linear time
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 3
Goals of this talk
Use our graph theoretic view of Schur complements toI prove that electrical flows are good `2-oblivious routersI sample uniformly random spanning trees in almost-linear time
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 3
Part I: Localization of Electrical Flows
Part I: Localization of Electrical Flows
Joint work with Satish Rao and Nikhil Srivastava
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 4
Part I: Localization of Electrical Flows
Types of flows
Undirected graph G
Two vertices s, t ∈ G (always endpoints of an edge)
f(p)(s, t) ∈ RE(G): `p-minimizing s-t unit flow
Examples:
I f(1)(s, t) (s-t shortest path, left)I f(2)(s, t) (s-t electrical flow, middle)I f(∞)(s, t) (proportional to s-t max flow, right)
1
1
3/5
3/5
2/5
2/5
2/5
1/2
1/2
1/2
1/2
1/2
s
t
s s
t t
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 5
Part I: Localization of Electrical Flows
Types of flows
Undirected graph G
Two vertices s, t ∈ G (always endpoints of an edge)
f(p)(s, t) ∈ RE(G): `p-minimizing s-t unit flow
Examples:
I f(1)(s, t) (s-t shortest path, left)I f(2)(s, t) (s-t electrical flow, middle)I f(∞)(s, t) (proportional to s-t max flow, right)
1
1
3/5
3/5
2/5
2/5
2/5
1/2
1/2
1/2
1/2
1/2
s
t
s s
t t
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 5
Part I: Localization of Electrical Flows
Types of flows
Undirected graph G
Two vertices s, t ∈ G (always endpoints of an edge)
f(p)(s, t) ∈ RE(G): `p-minimizing s-t unit flow
Examples:
I f(1)(s, t) (s-t shortest path, left)I f(2)(s, t) (s-t electrical flow, middle)I f(∞)(s, t) (proportional to s-t max flow, right)
1
1
3/5
3/5
2/5
2/5
2/5
1/2
1/2
1/2
1/2
1/2
s
t
s s
t t
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 5
Part I: Localization of Electrical Flows
Types of flows
Undirected graph G
Two vertices s, t ∈ G (always endpoints of an edge)
f(p)(s, t) ∈ RE(G): `p-minimizing s-t unit flow
Examples:I f(1)(s, t) (s-t shortest path, left)I f(2)(s, t) (s-t electrical flow, middle)I f(∞)(s, t) (proportional to s-t max flow, right)
1
1
3/5
3/5
2/5
2/5
2/5
1/2
1/2
1/2
1/2
1/2
s
t
s s
t t
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 5
Part I: Localization of Electrical Flows
Main question: how concentrated are electrical flows?
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 6
Part I: Localization of Electrical Flows
Concentration of flows
Concentration of an edge e’s `p flow:∑
f ∈E(G) |f(p)f (e)|
Also the average length of flow paths
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 7
Part I: Localization of Electrical Flows
Concentration of flows
Concentration of an edge e’s `p flow:∑
f ∈E(G) |f(p)f (e)|
Also the average length of flow paths
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 7
Part I: Localization of Electrical Flows
`1-flows (shortest paths) are concentrated
Total flow = 1 =⇒ concentrated
e 1-1
+1
0
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 8
Part I: Localization of Electrical Flows
`∞-flows (max flows) can be spread out
Total flow = n/2 =⇒ spread out
e 1/2-1
+1
1/2
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 9
Part I: Localization of Electrical Flows
`2-flows (electrical flows) can be spread out
k = Θ(√n)
Total flow = Θ(√n) =⇒ spread out
.
.
.1/2
1/(2k)
k edgepaths
k paths
One edge
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 10
Part I: Localization of Electrical Flows
... but they aren’t on average!
k = Θ(√n)
Total flow = Θ(1) =⇒ concentrated!
.
.
.
k edgepaths
k paths
One edge
1 - θ(1/k)
θ(1/k)
θ(1/k2)
θ(1/k)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 11
Part I: Localization of Electrical Flows
Result: electrical flows concentrate on average
Theorem
In any unweighted graph G,∑e∈E(G)
∑f ∈E(G)
|f(2)e (f )| ≤ O(m log2 n)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 12
Part I: Localization of Electrical Flows
Applications
Electrical flows as oblivious routers
I `p-oblivious routing: given a set of demands d1, . . . , dk , how well canrouting demands independently do when compared with the optimal`p-multicommodity flow?
I `∞-oblivious routing on edge-transitive graphsI `2-oblivious routing on general graphs [HHN+08]
Almost-linear time random spanning tree generation
I Consider a process of the following form.I Fix two vertices s, t and repeatedly:
F Compute s-t electrical flowF Change edge weight with minimum energy by constant factor
I Localization says that low energy edges remain low for a whileI Thus we can do fewer electrical flow computations
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 13
Part I: Localization of Electrical Flows
Applications
Electrical flows as oblivious routersI `p-oblivious routing: given a set of demands d1, . . . , dk , how well can
routing demands independently do when compared with the optimal`p-multicommodity flow?
I `∞-oblivious routing on edge-transitive graphsI `2-oblivious routing on general graphs [HHN+08]
Almost-linear time random spanning tree generation
I Consider a process of the following form.I Fix two vertices s, t and repeatedly:
F Compute s-t electrical flowF Change edge weight with minimum energy by constant factor
I Localization says that low energy edges remain low for a whileI Thus we can do fewer electrical flow computations
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 13
Part I: Localization of Electrical Flows
Applications
Electrical flows as oblivious routersI `p-oblivious routing: given a set of demands d1, . . . , dk , how well can
routing demands independently do when compared with the optimal`p-multicommodity flow?
I `∞-oblivious routing on edge-transitive graphs
I `2-oblivious routing on general graphs [HHN+08]
Almost-linear time random spanning tree generation
I Consider a process of the following form.I Fix two vertices s, t and repeatedly:
F Compute s-t electrical flowF Change edge weight with minimum energy by constant factor
I Localization says that low energy edges remain low for a whileI Thus we can do fewer electrical flow computations
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 13
Part I: Localization of Electrical Flows
Applications
Electrical flows as oblivious routersI `p-oblivious routing: given a set of demands d1, . . . , dk , how well can
routing demands independently do when compared with the optimal`p-multicommodity flow?
I `∞-oblivious routing on edge-transitive graphsI `2-oblivious routing on general graphs [HHN+08]
Almost-linear time random spanning tree generation
I Consider a process of the following form.I Fix two vertices s, t and repeatedly:
F Compute s-t electrical flowF Change edge weight with minimum energy by constant factor
I Localization says that low energy edges remain low for a whileI Thus we can do fewer electrical flow computations
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 13
Part I: Localization of Electrical Flows
Applications
Electrical flows as oblivious routersI `p-oblivious routing: given a set of demands d1, . . . , dk , how well can
routing demands independently do when compared with the optimal`p-multicommodity flow?
I `∞-oblivious routing on edge-transitive graphsI `2-oblivious routing on general graphs [HHN+08]
Almost-linear time random spanning tree generation
I Consider a process of the following form.I Fix two vertices s, t and repeatedly:
F Compute s-t electrical flowF Change edge weight with minimum energy by constant factor
I Localization says that low energy edges remain low for a whileI Thus we can do fewer electrical flow computations
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 13
Part I: Localization of Electrical Flows
Applications
Electrical flows as oblivious routersI `p-oblivious routing: given a set of demands d1, . . . , dk , how well can
routing demands independently do when compared with the optimal`p-multicommodity flow?
I `∞-oblivious routing on edge-transitive graphsI `2-oblivious routing on general graphs [HHN+08]
Almost-linear time random spanning tree generationI Consider a process of the following form.I Fix two vertices s, t and repeatedly:
F Compute s-t electrical flowF Change edge weight with minimum energy by constant factor
I Localization says that low energy edges remain low for a whileI Thus we can do fewer electrical flow computations
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 13
Part I: Localization of Electrical Flows
Applications
Electrical flows as oblivious routersI `p-oblivious routing: given a set of demands d1, . . . , dk , how well can
routing demands independently do when compared with the optimal`p-multicommodity flow?
I `∞-oblivious routing on edge-transitive graphsI `2-oblivious routing on general graphs [HHN+08]
Almost-linear time random spanning tree generationI Consider a process of the following form.I Fix two vertices s, t and repeatedly:
F Compute s-t electrical flowF Change edge weight with minimum energy by constant factor
I Localization says that low energy edges remain low for a while
I Thus we can do fewer electrical flow computations
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 13
Part I: Localization of Electrical Flows
Applications
Electrical flows as oblivious routersI `p-oblivious routing: given a set of demands d1, . . . , dk , how well can
routing demands independently do when compared with the optimal`p-multicommodity flow?
I `∞-oblivious routing on edge-transitive graphsI `2-oblivious routing on general graphs [HHN+08]
Almost-linear time random spanning tree generationI Consider a process of the following form.I Fix two vertices s, t and repeatedly:
F Compute s-t electrical flowF Change edge weight with minimum energy by constant factor
I Localization says that low energy edges remain low for a whileI Thus we can do fewer electrical flow computations
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 13
Part I: Localization of Electrical Flows
Linear algebraic version
Focus on unweighted graphs
A: n × n adjacency matrix, D = diag(A1): degree matrix
L = D − A: Laplacian matrix of G with pseudoinverse L+
be ∈ Rn: signed indicator of edge e
In unweighted graphs, f(2)e (f ) = |bTe L+bf |.
Restatement:∑
e∈E(G)
∑f ∈E(G) |bTe L+bf | ≤ O(m log2 n)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 14
Part I: Localization of Electrical Flows
Relevant graph theoretic property of Schur complementsH := Schur(G , S): a weighted graph with V (H) = S and the propertythat the following two distributions are identical:
the list of vertices visited by a random walk in H
the list of vertices in S visited by a random walk in G
1
1
11
1
1
1 1
1
1
11/3
1/3
1/3⇒
4/3
1
1
1
1/3
1/3
⇒1/3
1/3
1/3
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 15
Part I: Localization of Electrical Flows
Projecting from G into Schur(G , S)
L+ = PT(Schur(G ,S)+ 0
0 M−1
)P
Applying Schur complement projection to a vector⇔ running a random walk until it hits S
P1v =
v
1/3
1/3
1/3
0
0
1
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 16
Part I: Localization of Electrical Flows
Proof outline: high level
Goal:∑
e∈E(G)
∑f ∈E(G) |bTe L+bf | ≤ O(m log2 n)
Pick a vertex, Schur complement it out, repeat (like Kyng-Sachdeva)
Let xi be the ith chosen vertex
Let Gi := Schur(G ,V (G ) \ x1, x2, . . . , xi) with Laplacian Li
Let Pi be the Schur complement projection from G to Gi
Let Vi =∑
e∈E(G)
∑f ∈E(G) |(Pibe)TL+i (Pibf )|
Suffices to show that Vi−1 ≤ Vi + O(m(log n)/(n − i))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 17
Part I: Localization of Electrical Flows
Proof outline: high level
Goal:∑
e∈E(G)
∑f ∈E(G) |bTe L+bf | ≤ O(m log2 n)
Pick a vertex, Schur complement it out, repeat (like Kyng-Sachdeva)
Let xi be the ith chosen vertex
Let Gi := Schur(G ,V (G ) \ x1, x2, . . . , xi) with Laplacian Li
Let Pi be the Schur complement projection from G to Gi
Let Vi =∑
e∈E(G)
∑f ∈E(G) |(Pibe)TL+i (Pibf )|
Suffices to show that Vi−1 ≤ Vi + O(m(log n)/(n − i))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 17
Part I: Localization of Electrical Flows
Proof outline: high level
Goal:∑
e∈E(G)
∑f ∈E(G) |bTe L+bf | ≤ O(m log2 n)
Pick a vertex, Schur complement it out, repeat (like Kyng-Sachdeva)
Let xi be the ith chosen vertex
Let Gi := Schur(G ,V (G ) \ x1, x2, . . . , xi) with Laplacian Li
Let Pi be the Schur complement projection from G to Gi
Let Vi =∑
e∈E(G)
∑f ∈E(G) |(Pibe)TL+i (Pibf )|
Suffices to show that Vi−1 ≤ Vi + O(m(log n)/(n − i))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 17
Part I: Localization of Electrical Flows
Proof outline: high level
Goal:∑
e∈E(G)
∑f ∈E(G) |bTe L+bf | ≤ O(m log2 n)
Pick a vertex, Schur complement it out, repeat (like Kyng-Sachdeva)
Let xi be the ith chosen vertex
Let Gi := Schur(G ,V (G ) \ x1, x2, . . . , xi) with Laplacian Li
Let Pi be the Schur complement projection from G to Gi
Let Vi =∑
e∈E(G)
∑f ∈E(G) |(Pibe)TL+i (Pibf )|
Suffices to show that Vi−1 ≤ Vi + O(m(log n)/(n − i))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 17
Part I: Localization of Electrical Flows
Proof outline: high level
Goal:∑
e∈E(G)
∑f ∈E(G) |bTe L+bf | ≤ O(m log2 n)
Pick a vertex, Schur complement it out, repeat (like Kyng-Sachdeva)
Let xi be the ith chosen vertex
Let Gi := Schur(G ,V (G ) \ x1, x2, . . . , xi) with Laplacian Li
Let Pi be the Schur complement projection from G to Gi
Let Vi =∑
e∈E(G)
∑f ∈E(G) |(Pibe)TL+i (Pibf )|
Suffices to show that Vi−1 ≤ Vi + O(m(log n)/(n − i))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 17
Part I: Localization of Electrical Flows
Proof outline: high level
Goal:∑
e∈E(G)
∑f ∈E(G) |bTe L+bf | ≤ O(m log2 n)
Pick a vertex, Schur complement it out, repeat (like Kyng-Sachdeva)
Let xi be the ith chosen vertex
Let Gi := Schur(G ,V (G ) \ x1, x2, . . . , xi) with Laplacian Li
Let Pi be the Schur complement projection from G to Gi
Let Vi =∑
e∈E(G)
∑f ∈E(G) |(Pibe)TL+i (Pibf )|
Suffices to show that Vi−1 ≤ Vi + O(m(log n)/(n − i))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 17
Part I: Localization of Electrical Flows
Proof outline: high level
Goal:∑
e∈E(G)
∑f ∈E(G) |bTe L+bf | ≤ O(m log2 n)
Pick a vertex, Schur complement it out, repeat (like Kyng-Sachdeva)
Let xi be the ith chosen vertex
Let Gi := Schur(G ,V (G ) \ x1, x2, . . . , xi) with Laplacian Li
Let Pi be the Schur complement projection from G to Gi
Let Vi =∑
e∈E(G)
∑f ∈E(G) |(Pibe)TL+i (Pibf )|
Suffices to show that Vi−1 ≤ Vi + O(m(log n)/(n − i))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 17
Part I: Localization of Electrical Flows
Subproblem for bounding increments
For a vertex set S , v ∈ S , and a vertex x in G , let
pSv (x) be the probability that random walk from x hits S at v
For an edge e with endpoints x and y , let
qSv (e) = |pSv (x)− pSv (y)|
Lemma ∑v∈S
(∑
e∈E(G) qSv (e))2∑
e∈E(G) qSv (e)2
≤ O(m log n)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 18
Part I: Localization of Electrical Flows
Subproblem for bounding increments
For a vertex set S , v ∈ S , and a vertex x in G , let
pSv (x) be the probability that random walk from x hits S at v
For an edge e with endpoints x and y , let
qSv (e) = |pSv (x)− pSv (y)|
Lemma ∑v∈S
(∑
e∈E(G) qSv (e))2∑
e∈E(G) qSv (e)2
≤ O(m log n)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 18
Part I: Localization of Electrical Flows
Subproblem for bounding increments
For a vertex set S , v ∈ S , and a vertex x in G , let
pSv (x) be the probability that random walk from x hits S at v
For an edge e with endpoints x and y , let
qSv (e) = |pSv (x)− pSv (y)|
Lemma ∑v∈S
(∑
e∈E(G) qSv (e))2∑
e∈E(G) qSv (e)2
≤ O(m log n)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 18
Part I: Localization of Electrical Flows
Subproblem for bounding increments
For a vertex set S , v ∈ S , and a vertex x in G , let
pSv (x) be the probability that random walk from x hits S at v
For an edge e with endpoints x and y , let
qSv (e) = |pSv (x)− pSv (y)|
Lemma ∑v∈S
(∑
e∈E(G) qSv (e))2∑
e∈E(G) qSv (e)2
≤ O(m log n)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 18
Part I: Localization of Electrical Flows
Warmup: S = V (G )
qSv (e) = 1 if v is an endpoint of e, 0 otherwise. Therefore,
∑v∈S
(∑
e∈E(G) qSv (e))2∑
e∈E(G) qSv (e)2
=∑v∈S
deg(v)2
deg(v)= 2m
e
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 19
Part I: Localization of Electrical Flows
General S
Edges can only contribute substantially to a small number of terms
e v
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 20
Part I: Localization of Electrical Flows
General S
Edges can only contribute substantially to a small number of terms
f
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 20
Part I: Localization of Electrical Flows
Lessons from Part I
electrical flows are concentrated on average
proof reduces to simpler objectives via vertex elimination
probabilistic interpretation reasons about change in original graph
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 21
Part I: Localization of Electrical Flows
Lessons from Part I
electrical flows are concentrated on average
proof reduces to simpler objectives via vertex elimination
probabilistic interpretation reasons about change in original graph
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 21
Part I: Localization of Electrical Flows
Lessons from Part I
electrical flows are concentrated on average
proof reduces to simpler objectives via vertex elimination
probabilistic interpretation reasons about change in original graph
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 21
Part I: Localization of Electrical Flows
Lessons from Part I
electrical flows are concentrated on average
proof reduces to simpler objectives via vertex elimination
probabilistic interpretation reasons about change in original graph
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 21
Part II: Random Spanning Trees
Part II: Random Spanning Trees
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 22
Part II: Random Spanning Trees
The weighted uniformly random spanning tree problem
Given an undirected graph G with weights (conductances) cee∈E(G) onits edges, sample a spanning tree T of G with probability proportional to∏
e∈E(T ) ce .
Direct applications
I Symmetric [GSS11] and asymmetric [AGM+10] traveling salesmanI Dependent roundingI Sparser cut sparsifiers [FH10, GRV09] and spectral sparsifiers [KS18]I Spectral sparsifiers via edge elimination [LS18]
Probability theory
Sampling from determinantal point processes and correlateddistributions
Algorithmic applications of electrical flows
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 23
Part II: Random Spanning Trees
Motivation
Given an undirected graph G with weights (conductances) cee∈E(G) onits edges, sample a spanning tree T of G with probability proportional to∏
e∈E(T ) ce .
Direct applications
I Symmetric [GSS11] and asymmetric [AGM+10] traveling salesmanI Dependent roundingI Sparser cut sparsifiers [FH10, GRV09] and spectral sparsifiers [KS18]I Spectral sparsifiers via edge elimination [LS18]
Probability theory
Sampling from determinantal point processes and correlateddistributions
Algorithmic applications of electrical flows
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 23
Part II: Random Spanning Trees
Motivation
Given an undirected graph G with weights (conductances) cee∈E(G) onits edges, sample a spanning tree T of G with probability proportional to∏
e∈E(T ) ce .
Direct applicationsI Symmetric [GSS11] and asymmetric [AGM+10] traveling salesmanI Dependent rounding
I Sparser cut sparsifiers [FH10, GRV09] and spectral sparsifiers [KS18]I Spectral sparsifiers via edge elimination [LS18]
Probability theory
Sampling from determinantal point processes and correlateddistributions
Algorithmic applications of electrical flows
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 23
Part II: Random Spanning Trees
Motivation
Given an undirected graph G with weights (conductances) cee∈E(G) onits edges, sample a spanning tree T of G with probability proportional to∏
e∈E(T ) ce .
Direct applicationsI Symmetric [GSS11] and asymmetric [AGM+10] traveling salesmanI Dependent roundingI Sparser cut sparsifiers [FH10, GRV09] and spectral sparsifiers [KS18]
I Spectral sparsifiers via edge elimination [LS18]
Probability theory
Sampling from determinantal point processes and correlateddistributions
Algorithmic applications of electrical flows
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 23
Part II: Random Spanning Trees
Motivation
Given an undirected graph G with weights (conductances) cee∈E(G) onits edges, sample a spanning tree T of G with probability proportional to∏
e∈E(T ) ce .
Direct applicationsI Symmetric [GSS11] and asymmetric [AGM+10] traveling salesmanI Dependent roundingI Sparser cut sparsifiers [FH10, GRV09] and spectral sparsifiers [KS18]I Spectral sparsifiers via edge elimination [LS18]
Probability theory
Sampling from determinantal point processes and correlateddistributions
Algorithmic applications of electrical flows
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 23
Part II: Random Spanning Trees
Motivation
Given an undirected graph G with weights (conductances) cee∈E(G) onits edges, sample a spanning tree T of G with probability proportional to∏
e∈E(T ) ce .
Direct applicationsI Symmetric [GSS11] and asymmetric [AGM+10] traveling salesmanI Dependent roundingI Sparser cut sparsifiers [FH10, GRV09] and spectral sparsifiers [KS18]I Spectral sparsifiers via edge elimination [LS18]
Probability theory
Sampling from determinantal point processes and correlateddistributions
Algorithmic applications of electrical flows
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 23
Part II: Random Spanning Trees
Motivation
Given an undirected graph G with weights (conductances) cee∈E(G) onits edges, sample a spanning tree T of G with probability proportional to∏
e∈E(T ) ce .
Direct applicationsI Symmetric [GSS11] and asymmetric [AGM+10] traveling salesmanI Dependent roundingI Sparser cut sparsifiers [FH10, GRV09] and spectral sparsifiers [KS18]I Spectral sparsifiers via edge elimination [LS18]
Probability theory
Sampling from determinantal point processes and correlateddistributions
Algorithmic applications of electrical flows
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 23
Part II: Random Spanning Trees
Motivation
Given an undirected graph G with weights (conductances) cee∈E(G) onits edges, sample a spanning tree T of G with probability proportional to∏
e∈E(T ) ce .
Direct applicationsI Symmetric [GSS11] and asymmetric [AGM+10] traveling salesmanI Dependent roundingI Sparser cut sparsifiers [FH10, GRV09] and spectral sparsifiers [KS18]I Spectral sparsifiers via edge elimination [LS18]
Probability theory
Sampling from determinantal point processes and correlateddistributions
Algorithmic applications of electrical flows
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 23
Part II: Random Spanning Trees
Matrix-based algorithms
m: number of edgesn: number of verticesIdea: go through edges one by one and flip coins conditioned on priorchoices
Matrix-based algorithms (runtimes for weighted graphs)
I [Gue83] O(mnω)I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 24
Part II: Random Spanning Trees
Matrix-based algorithms
m: number of edgesn: number of verticesIdea: go through edges one by one and flip coins conditioned on priorchoices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83] O(mnω)I [CMN96] O(nω)
I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 24
Part II: Random Spanning Trees
Matrix-based algorithms
m: number of edgesn: number of verticesIdea: go through edges one by one and flip coins conditioned on priorchoices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83] O(mnω)I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)
I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 24
Part II: Random Spanning Trees
Matrix-based algorithms
m: number of edgesn: number of verticesIdea: go through edges one by one and flip coins conditioned on priorchoices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83] O(mnω)I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)
I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 24
Part II: Random Spanning Trees
Matrix-based algorithms
m: number of edgesn: number of verticesIdea: go through edges one by one and flip coins conditioned on priorchoices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83] O(mnω)I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)
I Quadratic for sparse graphs (/)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 24
Part II: Random Spanning Trees
Matrix-based algorithms
m: number of edgesn: number of verticesIdea: go through edges one by one and flip coins conditioned on priorchoices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83] O(mnω)I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 24
Part II: Random Spanning Trees
Aldous-Broder: a random walk-based algorithm
Algorithm:
Pick an arbitrary vertex u ∈ V (G ).
Do a random walk until all vertices have been visited.
Return the edges used to visit each vertex for the first time.
Generates a weighted uniformly random spanning tree of G !
Runtime: cover time, which can be Ω(mn) /
Only need first visits (at most n such visits) ,
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 25
Part II: Random Spanning Trees
Aldous-Broder: a random walk-based algorithm
Algorithm:
Pick an arbitrary vertex u ∈ V (G ).
Do a random walk until all vertices have been visited.
Return the edges used to visit each vertex for the first time.
Generates a weighted uniformly random spanning tree of G !
Runtime: cover time, which can be Ω(mn) /
Only need first visits (at most n such visits) ,
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 25
Part II: Random Spanning Trees
Aldous-Broder: a random walk-based algorithm
Algorithm:
Pick an arbitrary vertex u ∈ V (G ).
Do a random walk until all vertices have been visited.
Return the edges used to visit each vertex for the first time.
Generates a weighted uniformly random spanning tree of G !
Runtime: cover time, which can be Ω(mn) /
Only need first visits (at most n such visits) ,
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 25
Part II: Random Spanning Trees
Aldous-Broder: a random walk-based algorithm
Algorithm:
Pick an arbitrary vertex u ∈ V (G ).
Do a random walk until all vertices have been visited.
Return the edges used to visit each vertex for the first time.
Generates a weighted uniformly random spanning tree of G !
Runtime: cover time, which can be Ω(mn) /
Only need first visits (at most n such visits) ,
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 25
Part II: Random Spanning Trees
History
m: number of edgesn: number of vertices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83]I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Random-walk-based algorithms (runtimes for unweighted graphs)
I [Bro89, Ald90] O(mn)I [KM09] O(m
√n)
I [MST15] O(m4/3)I Polynomial dependence on weights (/)I Subquadratic running time (,)I This work O(m1+o(1))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 26
Part II: Random Spanning Trees
History
m: number of edgesn: number of vertices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83]I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Random-walk-based algorithms (runtimes for unweighted graphs)
I [Bro89, Ald90] O(mn)I [KM09] O(m
√n)
I [MST15] O(m4/3)I Polynomial dependence on weights (/)I Subquadratic running time (,)I This work O(m1+o(1))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 26
Part II: Random Spanning Trees
History
m: number of edgesn: number of vertices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83]I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Random-walk-based algorithms (runtimes for unweighted graphs)I [Bro89, Ald90] O(mn)I [KM09] O(m
√n)
I [MST15] O(m4/3)
I Polynomial dependence on weights (/)I Subquadratic running time (,)I This work O(m1+o(1))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 26
Part II: Random Spanning Trees
History
m: number of edgesn: number of vertices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83]I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Random-walk-based algorithms (runtimes for unweighted graphs)I [Bro89, Ald90] O(mn)I [KM09] O(m
√n)
I [MST15] O(m4/3)I Polynomial dependence on weights (/)
I Subquadratic running time (,)I This work O(m1+o(1))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 26
Part II: Random Spanning Trees
History
m: number of edgesn: number of vertices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83]I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Random-walk-based algorithms (runtimes for unweighted graphs)I [Bro89, Ald90] O(mn)I [KM09] O(m
√n)
I [MST15] O(m4/3)I Polynomial dependence on weights (/)I Subquadratic running time (,)
I This work O(m1+o(1))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 26
Part II: Random Spanning Trees
History
m: number of edgesn: number of vertices
Matrix-based algorithms (runtimes for weighted graphs)I [Gue83]I [CMN96] O(nω)I [DKP+17] O(n4/3m1/2 + n2)I [DPPR17] O(n2δ−2)I No runtime dependence on weights (,)I Quadratic for sparse graphs (/)
Random-walk-based algorithms (runtimes for unweighted graphs)I [Bro89, Ald90] O(mn)I [KM09] O(m
√n)
I [MST15] O(m4/3)I Polynomial dependence on weights (/)I Subquadratic running time (,)I This work O(m1+o(1))
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 26
Part II: Random Spanning Trees
Aldous-Broder remixFor each v ∈ V (G ), let S
(0)v = v
and pick shortcutters S (i)v σ0i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).While there is an unvisited vertex
I
I Sample the edge that the random walk starting at u uses to exit S(0)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
0laoblogger.comAaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Wishful thinkingFor each v ∈ V (G ), let S
(0)v = v
and pick shortcutters S (i)v σ0i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).While there is an unvisited vertex
I
I Sample the edge that the random walk starting at u uses to exit theset of visited vertices.
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
0laoblogger.comAaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Shortcutting meta-algorithmFor each v ∈ V (G ), let S
(0)v = v
and pick shortcutters S (i)v σ0i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).While there is an unvisited vertex
ILet i∗ ∈ 0, 1, . . . , σ0 be the maximum value of i for which all
vertices in S(i)u have been visited.
I Sample the edge that the random walk starting at u uses to exit S(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).While there is an unvisited vertex
ILet i∗ ∈ 0, 1, 2, 3 be the maximum value of i for which all
vertices in S(i)u have been visited.
I Sample the edge that the random walk starting at u uses to exit S(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
ExampleFor each v ∈ V (G ), let S
(0)v = v
and pick shortcutters S(1)v to be the 2-neighborhood of v for all
v ∈ V (G )Pick an arbitrary vertex u ∈ V (G ).While there is an unvisited vertex
ILet i∗ ∈ 0, 1, 2, 3 be the maximum value of i for which all
vertices in S(i)u have been visited.
I Sample the edge that the random walk starting at u uses to exit S(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
ExampleFor each v ∈ V (G ), let S
(0)v = v
and pick shortcutters S(2)v to be the 4-neighborhood of v for all
v ∈ V (G )Pick an arbitrary vertex u ∈ V (G ).While there is an unvisited vertex
ILet i∗ ∈ 0, 1, 2, 3 be the maximum value of i for which all
vertices in S(i)u have been visited.
I Sample the edge that the random walk starting at u uses to exit S(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
ExampleFor each v ∈ V (G ), let S
(0)v = v
and pick shortcutters S(3)v to be the 8-neighborhood of v for all
v ∈ V (G )Pick an arbitrary vertex u ∈ V (G ).While there is an unvisited vertex
ILet i∗ ∈ 0, 1, 2, 3 be the maximum value of i for which all
vertices in S(i)u have been visited.
I Sample the edge that the random walk starting at u uses to exit S(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 1
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 2
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 3
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 4
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 5
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 6
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 7
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 8
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 9
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 10
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 11
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 12
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 13
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 14
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 15
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 16
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 17
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 18
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 19
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 20
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 21
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 64
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 65
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 1I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 65 → 120
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 1I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 120
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 121
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 1I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 121 → 127
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 1I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 127
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 2I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 127 → 204
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 2I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 204
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 205
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 206
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 207
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 208
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 209
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 213
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 1I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 213 → 246
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 1I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 246
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 2I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 246 → 307
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 2I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 313
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 314
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 316
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 317
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 318
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 0I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 485 → 821
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 3I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 821 → 826
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI i∗ ← 1I Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Example on walk step 875
For each v ∈ V (G ), let S(0)v = v
and pick shortcutters S (i)v 3i=1 with v ∈ S
(i)v ⊆ V (G )
Pick an arbitrary vertex u ∈ V (G ).
While there is an unvisited vertexI DONEI Sample the edge that the random walk starting at u uses to exit S
(i∗)u .
I Replace u with the non-S(i∗)u endpoint of this edge.
Return the edges used to visit each vertex for the first time.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 27
Part II: Random Spanning Trees
Summary of existing shortcutting-based algorithms
σ0: number of shortcuttersm: number of edgesn: number of vertices
Algorithm σ0 Shortcutting method Runtime
[Bro89, Ald90]
0 N/A
O(mn)
[KM09]
1 Offline
O(m√n)
[MST15]
2 Offline
O(m4/3)
This work
Θ(log log n) Online
O(m1+1/σ0)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 28
Part II: Random Spanning Trees
Summary of existing shortcutting-based algorithms
σ0: number of shortcuttersm: number of edgesn: number of vertices
Algorithm σ0 Shortcutting method Runtime
[Bro89, Ald90] 0
N/A
O(mn)
[KM09]
1 Offline
O(m√n)
[MST15]
2 Offline
O(m4/3)
This work
Θ(log log n) Online
O(m1+1/σ0)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 28
Part II: Random Spanning Trees
Summary of existing shortcutting-based algorithms
σ0: number of shortcuttersm: number of edgesn: number of vertices
Algorithm σ0 Shortcutting method Runtime
[Bro89, Ald90] 0 N/A O(mn)
[KM09]
1 Offline
O(m√n)
[MST15]
2 Offline
O(m4/3)
This work
Θ(log log n) Online
O(m1+1/σ0)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 28
Part II: Random Spanning Trees
Summary of existing shortcutting-based algorithms
σ0: number of shortcuttersm: number of edgesn: number of vertices
Algorithm σ0 Shortcutting method Runtime
[Bro89, Ald90] 0 N/A O(mn)
[KM09] 1
Offline
O(m√n)
[MST15]
2 Offline
O(m4/3)
This work
Θ(log log n) Online
O(m1+1/σ0)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 28
Part II: Random Spanning Trees
Summary of existing shortcutting-based algorithms
σ0: number of shortcuttersm: number of edgesn: number of vertices
Algorithm σ0 Shortcutting method Runtime
[Bro89, Ald90] 0 N/A O(mn)
[KM09] 1
Offline
O(m√n)
[MST15] 2
Offline
O(m4/3)
This work
Θ(log log n) Online
O(m1+1/σ0)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 28
Part II: Random Spanning Trees
Summary of existing shortcutting-based algorithms
σ0: number of shortcuttersm: number of edgesn: number of vertices
Algorithm σ0 Shortcutting method Runtime
[Bro89, Ald90] 0 N/A O(mn)
[KM09] 1
Offline
O(m√n)
[MST15] 2
Offline
O(m4/3)
This work Θ(log log n)
Online
O(m1+1/σ0)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 28
Part II: Random Spanning Trees
Summary of existing shortcutting-based algorithms
σ0: number of shortcuttersm: number of edgesn: number of vertices
Algorithm σ0 Shortcutting method Runtime
[Bro89, Ald90] 0 N/A O(mn)
[KM09] 1 Offline O(m√n)
[MST15] 2 Offline O(m4/3)
This work Θ(log log n)
Online
O(m1+1/σ0)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 28
Part II: Random Spanning Trees
Summary of existing shortcutting-based algorithms
σ0: number of shortcuttersm: number of edgesn: number of vertices
Algorithm σ0 Shortcutting method Runtime
[Bro89, Ald90] 0 N/A O(mn)
[KM09] 1 Offline O(m√n)
[MST15] 2 Offline O(m4/3)
This work Θ(log log n) Online O(m1+1/σ0)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 28
Part II: Random Spanning Trees
Using Laplacian solvers to calculate hitting probabilities
pu = Pru[ random walk starting at u hits s before t]
s t1 0
upu
Can compute all pus in O(m) time! [ST14]
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 29
Part II: Random Spanning Trees
Shortcutting methods
Given: a shortcutter SC with C ⊆ SC ⊆ V (G )
Goal: sample the SC -escape edge for random walk starting at u
SC
Cu
Shortcutting method Preprocessing Query
Offline O(|E (SC )||∂SC |) O(log n)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 30
Part II: Random Spanning Trees
Offline shortcutting
Given: a shortcutter SC with C ⊆ SC ⊆ V (G )
Goal: sample the SC -escape edge for random walk starting at u
SCs t1
0Computes pu for all u in SC
Shortcutting method Preprocessing Query
Offline O(|E (SC )||∂SC |) O(log n)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 30
Part II: Random Spanning Trees
Offline shortcutting
Given: a shortcutter SC with C ⊆ SC ⊆ V (G )
Goal: sample the SC -escape edge for random walk starting at u
SC
s
t
1
0Computes pu for all u in SC
Shortcutting method Preprocessing Query
Offline O(|E (SC )||∂SC |) O(log n)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 30
Part II: Random Spanning Trees
Graph Partitioning
Theorem (e.g. LR99)
A partition with diameter R and O(m(logm)/R) intercluster edges exists.
Applied throughout the metric embedding and LP rounding literature
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 31
Part II: Random Spanning Trees
Graph Partitioning via region growing
Theorem (e.g. LR99)
A partition with diameter R and O(m(logm)/R) intercluster edges exists.
Applied throughout the metric embedding and LP rounding literature
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 31
Part II: Random Spanning Trees
Graph Partitioning via region growing
Theorem (e.g. LR99)
A partition with diameter R and O(m(logm)/R) intercluster edges exists.
Applied throughout the metric embedding and LP rounding literature
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 31
Part II: Random Spanning Trees
Applying region growing to construct shortcutters [KM09]
Algorithm:
Apply region-growing.
Let S(1)v be the unique cluster containing v .
Runtime:
preprocessing time: (boundary)(cluster size)≤ O((m/R)m) ≤ O(m2/R)
normal random walk steps: O(mR)
shortcut random walk steps: O(m/R)n ≤ m2
R
best tradeoff for R =√m.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 32
Part II: Random Spanning Trees
Applying region growing to construct shortcutters [KM09]
Algorithm:
Apply region-growing.
Let S(1)v be the unique cluster containing v .
Runtime:
preprocessing time: (boundary)(cluster size)≤ O((m/R)m) ≤ O(m2/R)
normal random walk steps: O(mR)
shortcut random walk steps: O(m/R)n ≤ m2
R
best tradeoff for R =√m.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 32
Part II: Random Spanning Trees
Applying region growing to construct shortcutters [KM09]
Algorithm:
Apply region-growing.
Let S(1)v be the unique cluster containing v .
Runtime:
preprocessing time: (boundary)(cluster size)≤ O((m/R)m) ≤ O(m2/R)
normal random walk steps: O(mR)
shortcut random walk steps: O(m/R)n ≤ m2
R
best tradeoff for R =√m.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 32
Part II: Random Spanning Trees
Applying region growing to construct shortcutters [KM09]
Algorithm:
Apply region-growing.
Let S(1)v be the unique cluster containing v .
Runtime:
preprocessing time: (boundary)(cluster size)≤ O((m/R)m) ≤ O(m2/R)
normal random walk steps: O(mR)
shortcut random walk steps: O(m/R)n ≤ m2
R
best tradeoff for R =√m.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 32
Part II: Random Spanning Trees
Applying region growing to construct shortcutters [KM09]
Algorithm:
Apply region-growing.
Let S(1)v be the unique cluster containing v .
Runtime:
preprocessing time: (boundary)(cluster size)≤ O((m/R)m) ≤ O(m2/R)
normal random walk steps: O(mR)
shortcut random walk steps: O(m/R)n ≤ m2
R
best tradeoff for R =√m.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 32
Part II: Random Spanning Trees
Online shortcutting
Given: a shortcutter SC with C ⊆ SC ⊆ V (G )
Goal: sample the SC -escape edge for random walk starting at u
SCu
s
t
1
0Shortcutting method Preprocessing Query
Offline O(|E (SC )||∂SC |) O(log n)
Online None O(|E (SC )|)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 33
Part II: Random Spanning Trees
Online shortcutting
Given: a shortcutter SC with C ⊆ SC ⊆ V (G )
Goal: sample the SC -escape edge for random walk starting at u
SCu
s
tShortcutting method Preprocessing Query
Offline O(|E (SC )||∂SC |) O(log n)
Online None O(|E (SC )|)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 33
Part II: Random Spanning Trees
Online shortcutting
Given: a shortcutter SC with C ⊆ SC ⊆ V (G )
Goal: sample the SC -escape edge for random walk starting at u
SCu
s t1 0
Shortcutting method Preprocessing Query
Offline O(|E (SC )||∂SC |) O(log n)
Online None O(|E (SC )|)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 33
Part II: Random Spanning Trees
Using online shortcutting
Shortcutter work: O(|E (Su)|), random walk work Ω(|E (Su)|2) ,
u
Su
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 34
Part II: Random Spanning Trees
Using online shortcutting
Shortcutter work: Ω(|E (Su)|), random walk work can be O(1) /
u
Su
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 34
Part II: Random Spanning Trees
Using online shortcutting
Core should be “well-separated” from the boundary of the shortcutter
SC
C
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 34
Part II: Random Spanning Trees
Bounding work of online shortcutting
Most random walk steps occur far away from an unvisited vertex
Lemma (Random walk bound)
Consider a random walk starting at an arbitrary vertex in a graph I and anedge u, v = f ∈ E (I ). The
expected number of times the random walk traverses f from u → v
before the distance R-neighborhood of u is covered
is at most O(cf R), where cf is the conductance of the edge f
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 35
Part II: Random Spanning Trees
Bounding work of online shortcutting
Most random walk steps occur far away from an unvisited vertex
Lemma (Random walk bound)
Consider a random walk starting at an arbitrary vertex in a graph I and anedge u, v = f ∈ E (I ). The
expected number of times the random walk traverses f from u → v
before the distance R-neighborhood of u is covered
is at most O(cf R), where cf is the conductance of the edge f
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 35
Part II: Random Spanning Trees
Bounding work of online shortcutting
Most random walk steps occur far away from an unvisited vertex
Lemma (Random walk bound)
Consider a random walk starting at an arbitrary vertex in a graph I and anedge u, v = f ∈ E (I ). The
expected number of times the random walk traverses f from u → v
before the distance R-neighborhood of u is covered
is at most O(cf R), where cf is the conductance of the edge f
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 35
Part II: Random Spanning Trees
Recap of the Schur complement graph interpretationH := Schur(G , S): a weighted graph with V (H) = S and the propertythat the following two distributions are identical:
the list of vertices visited by a random walk in H
the list of vertices in S visited by a random walk in G
1
1
11
1
1
1 1
1
1
11/3
1/3
1/3⇒
4/3
1
1
1
1/3
1/3
⇒1/3
1/3
1/3
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 36
Part II: Random Spanning Trees
Charging shortcutter uses to Schur complement crossings
SC
C
u
Let Ri := mi/(σ0+1). To get almost-linear time,
total green conductance ≤ 1Ri
for S(i)C
and distance to unvisited vertex ≤ Ri+1
uses/shortcutter≤ (distance to unvisited vertex)(weight of edges)≤ O(Ri+1/Ri ) = mo(1) by edge crossing bound
work ≤ (total shortcutter size)(uses/shortcutter)≤ (m1+o(1))mo(1) = m1+o(1)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 37
Part II: Random Spanning Trees
Charging shortcutter uses to Schur complement crossings
SC
C
u
LetRi := mi/(σ0+1). To get almost-linear time,
total green conductance ≤ 1Ri
for S(i)C
and distance to unvisited vertex ≤ Ri+1
uses/shortcutter≤ (distance to unvisited vertex)(weight of edges)≤ O(Ri+1/Ri ) = mo(1) by edge crossing bound
work ≤ (total shortcutter size)(uses/shortcutter)≤ (m1+o(1))mo(1) = m1+o(1)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 37
Part II: Random Spanning Trees
Charging shortcutter uses to Schur complement crossings
SC
C
u
LetRi := mi/(σ0+1). To get almost-linear time,
total green conductance ≤ 1Ri
for S(i)C
and distance to unvisited vertex ≤ Ri+1
uses/shortcutter≤ (distance to unvisited vertex)(weight of edges)≤ O(Ri+1/Ri ) = mo(1) by edge crossing bound
work ≤ (total shortcutter size)(uses/shortcutter)≤ (m1+o(1))mo(1) = m1+o(1)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 37
Part II: Random Spanning Trees
Charging shortcutter uses to Schur complement crossings
SC
C
u
LetRi := mi/(σ0+1). To get almost-linear time,
total green conductance ≤ 1Ri
for S(i)C
and distance to unvisited vertex ≤ Ri+1
uses/shortcutter≤ (distance to unvisited vertex)(weight of edges)≤ O(Ri+1/Ri ) = mo(1) by edge crossing bound
work ≤ (total shortcutter size)(uses/shortcutter)≤ (m1+o(1))mo(1) = m1+o(1)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 37
Part II: Random Spanning Trees
Charging shortcutter uses to Schur complement crossings
SC
C
u
LetRi := mi/(σ0+1). To get almost-linear time,
total green conductance ≤ 1Ri
for S(i)C
and distance to unvisited vertex ≤ Ri+1
uses/shortcutter≤ (distance to unvisited vertex)(weight of edges)≤ O(Ri+1/Ri ) = mo(1) by edge crossing bound
work ≤ (total shortcutter size)(uses/shortcutter)≤ (m1+o(1))mo(1) = m1+o(1)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 37
Part II: Random Spanning Trees
Charging shortcutter uses to Schur complement crossings
SC
C
u
LetRi := mi/(σ0+1). To get almost-linear time,
total green conductance ≤ 1Ri
for S(i)C
and distance to unvisited vertex ≤ Ri+1
uses/shortcutter≤ (distance to unvisited vertex)(weight of edges)≤ O(Ri+1/Ri ) = mo(1) by edge crossing bound
work ≤ (total shortcutter size)(uses/shortcutter)≤ (m1+o(1))mo(1) = m1+o(1)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 37
Part II: Random Spanning Trees
Charging shortcutter uses to Schur complement crossings
SC
C
u
LetRi := mi/(σ0+1). To get almost-linear time,
total green conductance ≤ 1Ri
for S(i)C
and distance to unvisited vertex ≤ Ri+1
uses/shortcutter≤ (distance to unvisited vertex)(weight of edges)≤ O(Ri+1/Ri ) = mo(1) by edge crossing bound
work ≤ (total shortcutter size)(uses/shortcutter)≤ (m1+o(1))mo(1) = m1+o(1)
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 37
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
Build cores first for each Ri , i ∈ 1, 2, . . . , σ0 independently:
I Cover the graph with mo(1) well-separated families in the effectiveresistance metric
I Construction similar to sparse neighborhood covers [ABCP99]
Build shortcutters around the cores
I Voronoi diagram in probability space
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
Build cores first for each Ri , i ∈ 1, 2, . . . , σ0 independently:I Cover the graph with mo(1) well-separated families in the effective
resistance metric
I Construction similar to sparse neighborhood covers [ABCP99]
Build shortcutters around the cores
I Voronoi diagram in probability space
Ri Ri Ri>>Ri >>Ri
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
Build cores first for each Ri , i ∈ 1, 2, . . . , σ0 independently:I Cover the graph with mo(1) well-separated families in the effective
resistance metric
I Construction similar to sparse neighborhood covers [ABCP99]
Build shortcutters around the cores
I Voronoi diagram in probability space
Ri Ri Ri>>Ri >>Ri
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
Build cores first for each Ri , i ∈ 1, 2, . . . , σ0 independently:I Cover the graph with mo(1) well-separated families in the effective
resistance metric
I Construction similar to sparse neighborhood covers [ABCP99]
Build shortcutters around the cores
I Voronoi diagram in probability space
Ri Ri>>Ri >>Ri
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
Build cores first for each Ri , i ∈ 1, 2, . . . , σ0 independently:I Cover the graph with mo(1) well-separated families in the effective
resistance metricI Construction similar to sparse neighborhood covers [ABCP99]
Build shortcutters around the cores
I Voronoi diagram in probability space
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
Build cores first for each Ri , i ∈ 1, 2, . . . , σ0 independently:I Cover the graph with mo(1) well-separated families in the effective
resistance metricI Construction similar to sparse neighborhood covers [ABCP99]
Build shortcutters around the cores
I Voronoi diagram in probability space
C1 C2 C3SC1 SC2 SC3
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
Build cores first for each Ri , i ∈ 1, 2, . . . , σ0 independently:I Cover the graph with mo(1) well-separated families in the effective
resistance metricI Construction similar to sparse neighborhood covers [ABCP99]
Build shortcutters around the coresI Voronoi diagram in probability space
C1 C2 C3SC1 SC2 SC3
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
First property: Schur complement conductance of S(i)C is at most
mo(1)
Ri
I Follows from well-separatedness
Third property: Each vertex in G is only in mo(1) shortcutters
I Follows from ≤ mo(1) families
O(1/Ri) conductance from Ri separation
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
First property: Schur complement conductance of S(i)C is at most
mo(1)
Ri
I Follows from well-separatedness
Third property: Each vertex in G is only in mo(1) shortcutters
I Follows from ≤ mo(1) families
O(1/Ri) conductance from Ri separation
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
First property: Schur complement conductance of S(i)C is at most
mo(1)
Ri
I Follows from well-separatedness
Third property: Each vertex in G is only in mo(1) shortcutters
I Follows from ≤ mo(1) families
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Obtaining shortcutters that satisfy the first and thirdproperties
First property: Schur complement conductance of S(i)C is at most
mo(1)
Ri
I Follows from well-separatedness
Third property: Each vertex in G is only in mo(1) shortcuttersI Follows from ≤ mo(1) families
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 38
Part II: Random Spanning Trees
Lessons from Part II
An m1+o(1)αo(1)-time algorithm for generating weighted uniformlyrandom spanning trees
Overcame barriers in graph-partitioning based approaches from beforeby using Schur complements
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 39
Part II: Random Spanning Trees
Conclusion
Probabilistic interpretation of Laplacian Gaussian eliminationI Obtained a new `2 property of graphsI Random spanning trees in almost-linear time
Paradigm relevant for other problems?
Questions?
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 40
Part II: Random Spanning Trees
Bibliography
Baruch Awerbuch, Bonnie Berger, Lenore Cowen, and David Peleg.Near-linear time construction of sparse neighborhood covers.SIAM J. Comput., 28(1):263–277, February 1999.
Arash Asadpour, Michel X. Goemans, Aleksander Madry,Shayan Oveis Gharan, and Amin Saberi.An o(log n/ log log n)-approximation algorithm for the asymmetrictraveling salesman problem.In Proceedings of the Twenty-first Annual ACM-SIAM Symposium onDiscrete Algorithms, SODA ’10, pages 379–389, Philadelphia, PA,USA, 2010. Society for Industrial and Applied Mathematics.
David J. Aldous.The random walk construction of uniform spanning trees and uniformlabelled trees.SIAM J. Discret. Math., 3(4):450–465, November 1990.
A. Broder.Generating random spanning trees.In Proceedings of the 30th Annual Symposium on Foundations ofComputer Science, SFCS ’89, pages 442–447, Washington, DC, USA,1989. IEEE Computer Society.
Charles J. Colbourn, Wendy J. Myrvold, and Eugene Neufeld.Two algorithms for unranking arborescences.Journal of Algorithms, 20(2):268–281, 3 1996.
David Durfee, Rasmus Kyng, John Peebles, Anup B. Rao, andSushant Sachdeva.Sampling random spanning trees faster than matrix multiplication.In Proceedings of the 49th Annual ACM SIGACT Symposium onTheory of Computing, STOC 2017, pages 730–742, New York, NY,USA, 2017. ACM.
David Durfee, John Peebles, Richard Peng, and Anup B. Rao.Determinant-preserving sparsification of SDDM matrices withapplications to counting and sampling spanning trees.CoRR, abs/1705.00985, 2017.
Wai Shing Fung and Nicholas J. A. Harvey.Graph sparsification by edge-connectivity and random spanning trees.CoRR, abs/1005.0265, 2010.
Navin Goyal, Luis Rademacher, and Santosh Vempala.Expanders via random spanning trees.In Proceedings of the Twentieth Annual ACM-SIAM Symposium onDiscrete Algorithms, SODA ’09, pages 576–585, Philadelphia, PA,USA, 2009. Society for Industrial and Applied Mathematics.
Shayan Oveis Gharan, Amin Saberi, and Mohit Singh.A randomized rounding approach to the traveling salesman problem.In Proceedings of the 2011 IEEE 52Nd Annual Symposium onFoundations of Computer Science, FOCS ’11, pages 550–559,Washington, DC, USA, 2011. IEEE Computer Society.
A. Guenoche.Random spanning tree.Journal of Algorithms, 4:214–220, 1983.
Prahladh Harsha, Thomas P. Hayes, Hariharan Narayanan, HaraldRacke, and Jaikumar Radhakrishnan.Minimizing average latency in oblivious routing.In Proceedings of the Nineteenth Annual ACM-SIAM Symposium onDiscrete Algorithms, SODA ’08, pages 200–207, Philadelphia, PA,USA, 2008. Society for Industrial and Applied Mathematics.
Jonathan A. Kelner and Aleksander Madry.Faster generation of random spanning trees.In 50th Annual IEEE Symposium on Foundations of ComputerScience, FOCS 2009, October 25-27, 2009, Atlanta, Georgia, USA,pages 13–21, 2009.
Huan Li and Aaron Schild.Spectral subspace sparsification.2018.
Aleksander Madry, Damian Straszak, and Jakub Tarnawski.Fast generation of random spanning trees and the effective resistancemetric.In Proceedings of the Twenty-Sixth Annual ACM-SIAM Symposiumon Discrete Algorithms, SODA 2015, San Diego, CA, USA, January4-6, 2015, pages 2019–2036, 2015.
Daniel A. Spielman and Shang-Hua Teng.Nearly linear time algorithms for preconditioning and solvingsymmetric, diagonally dominant linear systems.SIAM J. Matrix Analysis Applications, 35(3):835–885, 2014.
Aaron Schild (UC Berkeley) Combinatorial Schur complements October 6, 2018 41