Generating Random Spanning Trees Sourav Chatterji Sumit Gulwani EECS Department University of...
-
Upload
jesus-perkins -
Category
Documents
-
view
227 -
download
5
Transcript of Generating Random Spanning Trees Sourav Chatterji Sumit Gulwani EECS Department University of...
Generating Random Spanning Trees
Sourav Chatterji Sumit Gulwani
EECS DepartmentUniversity of California, Berkeley
2
Outline
• Applications• Determinant based algorithms (unweighted)• Random walk based algorithms (weighted)
– Broder’s algorithm (undirected)– CFTP based algorithm (strongly connected)– Wilson’s algorithm (directed)
• Comparison• Relation to generating perfect random state • Future work
3
Applications
• Perfect random sampling• Statistical physics
– generating random domino tilings
• Computer networks– accessing network reliability
• Computational biology– generating random permutations of genomes
• Electrical networks• Recreation
4
Random maze
Enter Berkeley
Get Ph.D.
5
Random maze: demystified
Get Ph.D.
Enter Berkeley
6
Determinant Based Algorithm
• Matrix tree theorem: The number of spanning trees of G is N(G) = Det(A), – where Aij = degree(vi), if (i = j)
= -1 if (i,j) 2 G = 0 otherwise
• RST(G): – Let G’ = contract e in G– With probability N(G’)/N(G), put e in RST(G)– If yes, then compute RST(G’) else compute RST(G –
{ e })
• Extensions:– Can it be adapted to work for weighted graphs?– Can we approximate the ratio faster?
7
Terminology (for r.w. based algorithms)
• Arborescence: directed spanning tree• Random walk on G
– w.l.o.g. G is stochastic– A random walk on G defines a MC on G
• Forward Tree• Backward Tree
8
Random Walk
9
Forward Tree
•A random walk for t steps defines a forward tree Ft
•First entrances in reversed orientation
10
Backward Tree
•A random walk for t steps defines a backward tree Bt
•Last exits
11
Markov Chain on Trees
•A random walk defines a MC {Bt} on the set of trees
12
Aldous/Broder’s Algorithm
• Undirected weighted graphs• Works in cover time C• Algorithm:
– Perform a random walk until the cover time
– Output the forward tree FC
• Proof:– Pr(FC = T) = (T), where is the stationary distribution
for the backward tree chain (T) / w(T)
• Markov Tree chain theorem:
13
CFTP
• Strongly connected directed weighted graphs• Works in O(C) time• Reduces “generating random arborescence” to
“generating random arborescence with root r”:– Uses CFTP to generate random root r
• Generating random arborescence with root r – Uses CFTP again!
– Markov Chain Mr:
= arborescence with root r
• Transitions: Simulate M = {Bt} until reach a state in Mr
– Random Map
14
Random Map
Definition: excursion (path from r to r)
Application: change the parent of v to be the vertex after the last occurrence of v in the excursion
15
Random Map
Definition: excursion (path from r to r)
Application: change the parent of v to be the vertex after the last occurrence of v in the excursion
Collapsing test: cover time
16
Loop Erasure of a Random Walk
• Erase cycles in order
17
Wilson’s Algorithm
• Directed weighted graphs
• Fastest r.w. based algorithm: runs in O()– = mean hitting time =
• Reduces “generating random arborescence” to “generating arborescence with root”– Add a “sink” v* and edges of weight from each vertex
to v*– Generate a random arborescence T with root v*– If T – { v* } is a tree, output it– Else repeat for a smaller value of
18
Wilson’s Algorithm
• Generating random arborescence with root r– Current_Tree = { r }– While some vertex v not in Current_Tree
• Perform random walk from v till it reaches Current_Tree
• Add its loop erasure to Current_Tree
• Proof:– Algorithm finishes with a tree T and a collection of
cycles { C1, C2, …, Cs }
– Pr[T, {C1, C2, …, Cs}] =
– Pr[T] /
19
Extensions
•Wilson’s algorithm removes loops
•Alternative: remove an edge which breaks the loop
20
A bird’s eye view
• Determinant vs. random walk approach• Broder’s algorithm vs. CFTP based algorithm• Broder’s algorithm vs. Wilson’s algorithm
– Wilson’s algorithm starts from a vertex not in the Current tree and that makes all the difference
Clique
21
Relationship with generating a perfectly random state
• Random state to generate a random spanning tree– via generation of random root (e.g. CFTP)
• Random spanning tree to generate a random state– Seen few techniques for generation of random states
• Strong Stationary Time, CFTP – Random spanning trees is another technique!
• Use Wilson’s algorithm to generate a random spanning tree, and output its root
22
Future Directions
• Can there be a better algorithm than Wilson’s ?– Hybrid Algorithms– Allowing for bias
• Lower bounds
• Generating a random spanning tree with some property like bounded degree, diameter
• Is there an interesting pre-metric that makes the analysis amenable to path coupling ?– Several “natural” pre-metrics do not work!
23
Motivation: Hybrid Algorithm
Clique 0.0001
1
1
24
Extra Slide: Running Time of Wilson’s Algorithm
• Running Time for specified root r:– add the number of visits to each vertex u– Standard result: number of times a random walk
starting at u visits u before reaching r is (u)[Eu Tr + Er Tu]
– Total expected time =
– When r is -random, then
• Total Running Time:– Remains O()– When large, hit v* twice soon; restart– When 1/ = O(), probability of failure is small