# Generating Random Spanning Trees Sourav Chatterji Sumit Gulwani EECS Department University of California, Berkeley.

## Presentation on theme: "Generating Random Spanning Trees Sourav Chatterji Sumit Gulwani EECS Department University of California, Berkeley."— Presentation transcript:

Generating Random Spanning Trees Sourav Chatterji Sumit Gulwani EECS Department University of California, Berkeley

2 Outline Applications Determinant based algorithms (unweighted) Random walk based algorithms (weighted) –Broders algorithm (undirected) –CFTP based algorithm (strongly connected) –Wilsons 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 A ij = degree(v i ), 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 F t First entrances in reversed orientation

10 Backward Tree A random walk for t steps defines a backward tree B t Last exits

11 Markov Chain on Trees A random walk defines a MC {B t } on the set of trees

12 Aldous/Broders Algorithm Undirected weighted graphs Works in cover time C Algorithm: –Perform a random walk until the cover time –Output the forward tree F C Proof: –Pr(F C = 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 M r : = arborescence with root r Transitions: Simulate M = {B t } until reach a state in M r –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 Wilsons 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 Wilsons 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 { C 1, C 2, …, C s } –Pr[T, {C 1, C 2, …, C s }] = –Pr[T] /

19 Extensions Wilsons algorithm removes loops Alternative: remove an edge which breaks the loop

20 A birds eye view Determinant vs. random walk approach Broders algorithm vs. CFTP based algorithm Broders algorithm vs. Wilsons algorithm –Wilsons 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 Wilsons algorithm to generate a random spanning tree, and output its root

22 Future Directions Can there be a better algorithm than Wilsons ? –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 Wilsons 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)[E u T r + E r T u ] –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

Similar presentations