Cutting down trees with a Markov chainsaw L. Addario–Berry 1 N. Broutin 2 C. Holmgren 2 1 Department of Mathematics and Statistics McGill University 2 Projet Algorithms INRIA Paris-Rocquencourt October 18, 2010 Cutting down trees with a Markov chainsaw 1 / 27
Plan of the talk 1 Cutting down trees 2 The record point of view 3 Generating random Cayley trees 4 Large random Cayley trees and the CRT 5 Cutting down trees to plant a forest 6 Cutting down lattice paths 7 Algorithms and the additive coalescent Cutting down trees with a Markov chainsaw 2 / 27
Introduction Natural setting: cutting at edges Practical setting: cutting at nodes cut a random edge pick a random node keep the bit with the root remove the subtree stop when no more edges. stop when no more nodes Two kinds of result: for deterministic and log n trees: (weakly) 1-stable laws for Galton–Watson trees ( √ n trees), the case we are interested in here. History: Meir-Moon, Janson, Chassaing, Panholzer, Fill, etc... method of moments :( Cutting down trees with a Markov chainsaw 3 / 27
Union-Find algorithms and the fragmentation/coalescent A natural model for merge queries: initially have n sets { 1 } , { 2 } , . . . , { n } there is an unknown spanning tree T on 1 , 2 , . . . , n the merge queries are the edges of T in a random order after n − k merges the collection of sets is forest of k + 1 rooted trees ⇒ kernel is additive An other important one: the queries are edges of K n the merge queries arrive in random order growth of random graphs/minimum spanning tree: kernel is multiplicative Cutting down trees with a Markov chainsaw 4 / 27
Hashing with linear probing/parking 7 5 6 2 3 5 6 3 5 1 4 6 2 1 3 5 7 4 5 8 7 6 2 3 5 6 3 5 1 4 6 2 1 3 5 8 7 4 Cutting down trees with a Markov chainsaw 5 / 27
Records I Usual records take a random permutation π = ( π 1 , . . . , π n ) of { 1 , 2 , . . . , n } i is a record if π i = min { j ≤ i : π j } . �� � n � 1 [ i is a record ] = 1 / i ∼ log n E i = 1 i Equivalent to records in a rooted path P 6 3 4 7 2 1 5 Cutting down trees with a Markov chainsaw 6 / 27
Records I Usual records take a random permutation π = ( π 1 , . . . , π n ) of { 1 , 2 , . . . , n } i is a record if π i = min { j ≤ i : π j } . �� � n � 1 [ i is a record ] = 1 / i ∼ log n E i = 1 i Equivalent to records in a rooted path P 6 3 4 7 2 1 5 Cutting down trees with a Markov chainsaw 6 / 27
Records II: a tree version Records in rooted trees: R ( T ) the number of records in a tree T for a tree T rooted at r and a random permutation π a vertex u ∈ T is a record if π u = min { π v : v ∈ � u , r � } . �� � � � 1 E [ R ( T )] = E 1 [ u is a record ] = n P ( U is a record ) = n E D U + 1 u ∈ T If T n is a rinary search tree If T n is a simply generated tree n E [ R ( T n )] ≈ √ n E [ R ( T n )] ∼ 2 log n Cutting down trees with a Markov chainsaw 7 / 27
Records II: a tree version Records in rooted trees: R ( T ) the number of records in a tree T for a tree T rooted at r and a random permutation π a vertex u ∈ T is a record if π u = min { π v : v ∈ � u , r � } . �� � � � 1 E [ R ( T )] = E 1 [ u is a record ] = n P ( U is a record ) = n E D U + 1 u ∈ T If T n is a rinary search tree If T n is a simply generated tree n E [ R ( T n )] ≈ √ n E [ R ( T n )] ∼ 2 log n A coupling Cut the vertices in the order given by π . Then: ⇔ u is cut u is a record Cutting down trees with a Markov chainsaw 7 / 27
Generating rooted labelled trees uniformly Cayley tree: uniformly chosen rooted labelled tree on { 1 , 2 , . . . , n } uniformly random rooted spanning tree of K n can also generate the shape as a Poisson ( 1 ) -Galton–Watson tree conditioned on the size being n . Algorithm 1 Start with vertex 1 For 2 ≤ i ≤ n connect i to � j w . p . 1 / n 1 ≤ j ≤ i − 2 V i = i − 1 w . p . 1 − ( i − 2 ) / n Randomly permute the labels Cutting down trees with a Markov chainsaw 8 / 27
Generating rooted labelled trees uniformly Algorithm 2 (Aldous–Broder) start from a random vertex X 0 ; move in the graph according to a simple random walk X ; if X visits X i for the first time add the edge X i − 1 → X i . At the cover time, return the tree of directed edges. X 0 X 1 X 2 X 3 X 4 X 6 X 5 Cutting down trees with a Markov chainsaw 9 / 27
Consequences for large random trees A “building branches” point of view Walk until the first time we go to a vertex already discovered: when the tree has k vertices, we stop the current branch with probability k / n . given that we stop, the current vertex is uniform on the already constructed tree Lengths in Cayley trees P ( first branch ≥ k edges ) = � k i = 1 ( 1 − i / n ) critical scaling k ∼ x √ n (birthday paradox) P ( first branch ≥ x √ n ) ∼ e − x 2 / 2 . Cutting down trees with a Markov chainsaw 10 / 27
A Markov chain of spanning trees Following the algorithm { X j , j ≥ 0 } a sequence of i.i.d. r.v. uniform in { 1 , 2 , . . . , n } τ ( k ) = inf { j ≥ 0 : X j = k } T the tree consisting of { ( X τ ( k ) − 1 → X τ ( k ) ) : τ ( k ) > 0 } X 0 X 1 X 2 X 4 X 5 X 6 X 7 3 1 1 2 4 4 A stationary sequence of rooted trees: change the starting point { X j , j ∈ Z } a sequence of i.i.d. r.v. uniform in { 1 , 2 , . . . , n } τ i ( k ) = inf { j ≥ i : X j = k } T i the tree consisting of { ( X τ i ( k ) − 1 → X τ i ( k ) ) , τ i ( k ) > i } Cutting down trees with a Markov chainsaw 11 / 27
A Markov chain of spanning trees Following the algorithm { X j , j ≥ 0 } a sequence of i.i.d. r.v. uniform in { 1 , 2 , . . . , n } τ ( k ) = inf { j ≥ 0 : X j = k } T the tree consisting of { ( X τ ( k ) − 1 → X τ ( k ) ) : τ ( k ) > 0 } X − 2 X − 1 X 0 X 1 X 3 X 4 X 5 X 6 X 7 3 2 3 1 1 2 4 4 1 A stationary sequence of rooted trees: change the starting point { X j , j ∈ Z } a sequence of i.i.d. r.v. uniform in { 1 , 2 , . . . , n } τ i ( k ) = inf { j ≥ i : X j = k } T i the tree consisting of { ( X τ i ( k ) − 1 → X τ i ( k ) ) , τ i ( k ) > i } Cutting down trees with a Markov chainsaw 11 / 27
Stick breaking construction for the limit of large trees Theorem (Scaling limit of Cayley trees) Viewed as a metric space, with the graph distance, d − GH n − 1 / 2 T n − n →∞ T . − − − → Scaling limit of the Aldous–Broder algorithm a Poisson point process with rate xdx splits R > 0 into segments; Take the segments in order, and make them into a tree shape hooking them at a uniform position Taking the closure yields the continuum random tree. Cutting down trees with a Markov chainsaw 12 / 27
A closer look at the Markov chain construction Reformulation pick a random node X i + 1 cut it off, together with its subtree R i + 1 Build T i by appending T i \ R i + 1 as a child of X i + 1 X i X i + 1 T i R i + 1 Cutting down trees with a Markov chainsaw 13 / 27
A closer look at the Markov chain construction Reformulation pick a random node X i + 1 cut it off, together with its subtree R i + 1 Build T i by appending T i \ R i + 1 as a child of X i + 1 X i + 1 X i X i R i + 1 X i + 1 T i T i + 1 R i + 1 Cutting down trees with a Markov chainsaw 13 / 27
Observations about the random walk construction Facts about the construction Conditional on their respective sizes (subset of labels): left-over tree T 1 \ R 1 is a Cayley tree the cut-off tree R 1 is a Cayley tree Idea: Run the procedure without putting edges from X − 1 or X 0 Conditional on X − 1 � = X 0 , this is a random forest of 2 rooted trees. Cutting down trees with a Markov chainsaw 14 / 27
A probabilistic correspondence Theorem There exists a correspondence between: a uniform Cayley tree T and a cutting down sequence, and a uniform Cayley tree T ⋆ and a uniformly random node u ∈ T ⋆ . In the correspondence, the length of the cutting sequence is turned into the depth of u in T ⋆ (plus one). Idea of the proof: one step of the Markov chain of spanning tree cuts at a uniformly random node; for the second step, rather than doing it on the whole tree, just do it on T 0 \ R 1 : replace T 0 \ R 1 by the its tranformation in one step of the Markov chain stop when you hit the root of initial tree T 0 . Cutting down trees with a Markov chainsaw 15 / 27
A picture is worth a thousand words T 0 T 1 T 2 T κ − 1 v 1 v 1 v 2 v 1 v 2 X 0 X 0 X 0 v 2 v κ − 1 X 0 v 1 Cutting down trees with a Markov chainsaw 16 / 27
Sampling a random vertex in a tree Algorithm with probability | T | − 1 , return the root u 1 ; otherwise, pick a child u 2 of u 1 with probability proportional to | T ( u 2 ) | and recurse in T ( u 2 ) Lemma The vertex U returned by the procedure is uniform in T. u 1 Proof. u 2 For all u ∈ T , there is a unique path u 1 , u 2 , . . . , u κ = u . Then P ( U = u ) : � | T ( u i + 1 ) | κ − 1 � 1 | T ( u κ ) | = 1 1 � 1 − | T ( u i ) | − 1 × | T ( u i ) | | T | i = 1 Cutting down trees with a Markov chainsaw 17 / 27
Why does it work? Lemma At time κ , when v κ = X 0 , the vertex X 0 is uniformly random in T κ − 1 Proof. The growth of the path v 1 , v 2 , . . . , v κ follows the distribution of the path to a uniformly random node: with probability | T i ( X 0 ) | − 1 return X 0 otherwise T i + 1 ( X 0 ) is size-biased Cutting down trees with a Markov chainsaw 18 / 27
Recommend
More recommend