Asymptotic expansions for the profile of random trees 80000 60000 U k ( n ) 40000 20000 0 10 15 20 25 30 35 40 45 k Henning Sulzbach ALEA in Europe, Vienna, 10 October 2017 with Zakhar Kabluchko (Münster) and Alexander Marynych (Kyev)
Trees of interest • data structures • analysis of algo. • real-world networks Comparison-based: binary ( m -ary) search trees, random recursive trees, preferential attachment trees Multidimensional: quadtrees, K -d trees Digital: digital search trees, tries Trees are flat (i.e. logarithmic) and wide .
Quantities of interest Global quantities: • typical depths and distances, • maximal depths and distances, • total pathlength (sum over all node depths), • mode and width. Local quantities: • degree distribution, • fringe subtrees. Put simply, the profile .
Outline 1. One-split branching random walks 2. Profile of binary search trees: a summary 3. Main result: an asymptotic profile expansion
Outline 1. One-split branching random walks 2. Profile of binary search trees: a summary 3. Main result: an asymptotic profile expansion
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2 .6
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2 .6 .9
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2 .6 .3 .9
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2 .6 .3 .9 .7
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2 .6 .3 .9 .5 .7
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2 .6 .3 .9 .5 .7 .8
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2 .6 .3 .9 .1 .5 .7 .8
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2 .6 .3 .9 .1 .5 .7 .2 .8
The binary search tree Input: numbers 0 . 6 , 0 . 9 , 0 . 3 , 0 . 7 , 0 . 5 , 0 . 8 , 0 . 1 , 0 . 2 .6 .3 .9 .1 .5 .7 .2 .8 Model: Use iid unif[0 , 1] random variables U 1 , U 2 , U 3 , . . .
The binary search tree - a Markov chain
The binary search tree - a Markov chain
The binary search tree - a Markov chain
The binary search tree - a Markov chain
The binary search tree - a Markov chain
The binary search tree - a Markov chain
The binary search tree - a Markov chain
The binary search tree - a Markov chain
The binary search tree - a Markov chain
The binary search tree - a Markov chain
The binary search tree - a Markov chain X n ( k ) = # { nodes with depth k } , k ≥ 0 , U n ( k ) = # { boxes with depth k } , k ≥ 0 .
The binary search tree - a Markov chain X n = (1 , 2 , 4 , 6 , 5 , 0 , 0 , . . . ) U n = (0 , 0 , 0 , 2 , 7 , 10 , 0 , . . . )
The binary search tree - three simulations 10 8 7 6 5 4 3 2 1 0 20 30 40 50 60 70 n = 10 10 , heights between 87 and 91.
The binary search tree - Logplot 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 20 30 40 50 60 70 80 90 100 n = 10 10 , heights between 87 and 91.
The random recursive tree 1/2
The random recursive tree 1/2 1/2
The random recursive tree 1/3 1/3 1/3
The random recursive tree 1/4 1/4 1/4 1/4 1/4
The random recursive tree 1/4 1/4
The random recursive tree 1/4 1/4
The random recursive tree
The random recursive tree - three simulations n = 10 10 , heights between 57 and 62.
The plane-oriented recursive tree
The plane-oriented recursive tree
The plane-oriented recursive tree
The plane-oriented recursive tree
The plane-oriented recursive tree
The plane-oriented recursive tree weight of v : 1 + d v degree profile: j − 2
One-split branching random walks Input: random point process ζ on Z
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 Z 0 = ( . . . , 0 , 0 , 1 ∗ , 0 , 0 , . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 Z 0 = ( . . . , 0 , 0 , 1 ∗ , 0 , 0 , . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 ζ = ( . . . , 0 , 1 , 0 ∗ , 0 , 1 , 1 , 0 . . . ) Z 0 = ( . . . , 0 , 0 , 1 ∗ , 0 , 0 , . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 Z 1 = ( . . . , 0 , 1 , 0 ∗ , 0 , 1 , 1 , 0 , . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 Z 1 = ( . . . , 0 , 1 , 0 ∗ , 0 , 1 , 1 , 0 , . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 ζ = ( . . . , 0 , 1 , 0 , 0 ∗ , 0 , 1 , 0 , . . . ) Z 1 = ( . . . , 0 , 1 , 0 ∗ , 0 , 1 , 1 , 0 , . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 Z 2 = ( . . . , 0 , 1 , 1 ∗ , 0 , 0 , 1 , 1 , 0 . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 Z 2 = ( . . . , 0 , 1 , 1 ∗ , 0 , 0 , 1 , 1 , 0 . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 ζ = ( . . . , 0 , 1 , 0 ∗ , 0 , 0 , 1 , 0 . . . ) Z 2 = ( . . . , 0 , 1 , 1 ∗ , 0 , 0 , 1 , 1 , 0 . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4
One-split branching random walks Input: random point process ζ on Z Z n ( k ) : # of particles at k at time n Z 0 ( k ) = δ 0 , k -3 -2 -1 0 1 2 3 4 Z 3 = ( . . . , 0 , 2 , 0 ∗ , 0 , 0 , 2 , 1 , 0 . . . ) Assumptions: • 1 ≤ ζ ( Z ) ≤ C , P ( ζ ( Z ) > 1) > 0 and ζ has bounded support, • P ( ζ ( c Z ) < ζ ( Z )) > 0 for all c ≥ 2. (wlog)
One-split branching random walks BST: ζ = ( . . . , 0 , 0 ∗ , 2 , 0 , . . . ) = 2 δ 1 RRT: ζ = ( . . . , 0 , 1 ∗ , 1 , 0 , . . . ) = δ 0 + δ 1 PORT: ζ = ( . . . , 0 , 2 ∗ , 1 , 0 , . . . ) = 2 δ 0 + δ 1 Note: ζ is deterministic.
Outline 1. One-split branching random walks 2. Profile of binary search trees: a summary 3. Main result: an asymptotic profile expansion
Binary search tree - a rough picture η 1 η ( x ) = x − x log( x / 2) − 1 , α − = 0 . 37 . . . , α + = 4 . 31 . . . , x 0 α − α + 2 η (2) = 1 . For k = α log n + o (log n ) , as n → ∞ , U n ( k ) = n η ( α )+ o (1) , α − < α < α + . As n → ∞ , D n − 2 log n d √ 2 log n → N and Height ∼ α + log n , Fill-up level ∼ α − log n . Devroye ’86 -’88
Recommend
More recommend