Graph Structure via Exact Gaussian ... - Sushant Sachdeva › laplacian2.0 › schild.pdf · Graph...

Preview:

Citation preview

Graph Structure via Exact Gaussian Elimination

Aaron Schildaschild@berkeley.edu

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

Recommended