Яка очікувана глибина випадково генерованого дерева?


19

Я думав над цією проблемою дуже давно, але не маю про неї уявлень.

Алгоритм генерації полягає в наступному. Ми припускаємо, що існує n дискретних вузлів, пронумерованих від 0 до n1 . Тоді для кожного i в {1,,n1} ми робимо батьківський i й вузол у дереві випадковим вузлом у {0,,i1} . Ітерайте через кожне i для того, щоб результат був випадковим деревом з кореневим вузлом 0 . (Можливо, це недостатньо випадково, але це не має значення.)

Яка очікувана глибина цього дерева?


Я припускаю, що v0 є коренем, і ви мали намір сказати: "Тоді для кожного i в [1,n) ми робимо батьківський i -й вузол ...". Правильно?
Без назви

Що ви пробували? Ви спробували написати відношення рецидиву, скажімо, для d(i) яка очікувана глибина вузла i ?
DW

3
Ці об'єкти відомі під назвою "випадкове рекурсивне дерево".
Джеймс Мартін

Відповіді:


15

Я думаю, що є результат концентрації щодо , але я ще не заповнив деталі.elogn

Ми можемо отримати верхню межу ймовірності того, що вузол має d предків, не враховуючи 0 . Для кожної можливої повної ланцюга д ненульових предків ( в 1 , 2 , . . . , Д ) , ймовірність того , що ланцюга (nd0d(a1,a2,...,ad) . Це відповідає1(1a1)(1a2)(1ad)×1n разів термін(1+1)1nде впорядковані терміни. Отже, верхня межа для цієї ймовірності дорівнює1(1+12+13+1n1)d деHn-1-n-1-е гармонічне число1+11n(d!)Hn1dHn1n1 . Hn-1log(n-1)+γ. Для фіксованихdіnймовірність того, що вузолnзнаходиться на глибиніd+11+12+...+1n1Hn1log(n1)+γdnnd+1 є максимум

(logn)dn(d!)(1+o(1))

За наближенням Стірлінга ми можемо оцінити це як

1n2πd(elognd)d.

Для великих , що набагато більше, ніж e log n , основа експоненціалу мала, тому ця межа мала, і ми можемо використовувати об'єднання, пов'язане, щоб сказати, що ймовірність наявності хоча б одного вузла з d ненульовими предками малий.delognd


Побачити

Люк Девроє, Омар Фаузі, Ніколя Фрейман. "Глибинні властивості масштабованих вкладень випадкових рекурсивних дерев."

Б. Піттель. Зверніть увагу на висоти випадкових рекурсивних дерев та випадкових дерев, що шукають m-arry. Випадкові структури та алгоритми, 5: 337–348, 1994.

У перших твердженнях останній показав максимальну глибину з високою ймовірністю, і пропонує ще одне підтвердження.(e+o(1))logn


2
Дуже хороша. Для уточнення для інших читачів: оскільки ви не можете повторити , термін ( 1 + 1)ai- лише верхня межа. (1+12++1n1)d
Пітер Шор

3

На це питання відповіли кілька років тому, але, просто заради задоволення, ось простий доказ верхньої межі. Даємо зв’язок на очікування, потім прив’язуємо хвіст.

Визначте rv глибину вузла i { 0 , 1 , , n - 1 } . Визначте ϕ i = i j = 0 e d j .dii{0,1,,n1}ϕi=j=0iedj.

лема 1. Очікувана максимальна глибина, - не більшеE[maxidi] .eHn1

Доказ. Максимальна глибина - не більше . Для закінчення показуємо E [ ln ϕ n - 1 ] elnϕn1 .E[lnϕn1]eHn1

Для будь-якого , що обумовлює ϕ i - 1 , шляхом огляду ϕ i , E [ ϕ ii1ϕi1ϕi

E[ϕi|ϕi1]=ϕi1+E[edi]=ϕi1+eiϕi1=(1+ei)ϕi1.

By induction it follows that

E[ϕn1]=i=1n1(1+ei)<i=1n1exp(ei)=exp(eHn1).

E[lnϕn1]lnE[ϕn1]<lnexp(eHn1)=eHn1.       

Here is the tail bound:

lemma 2. Fix any c0. Then Pr[maxidi]eHn1+c is at most exp(c).

Proof. By inspection of ϕ, and the Markov bound, the probability in question is at most

Pr[ϕn1exp(eHn1+c)]E[ϕn1]exp(eHn1+c).
From the proof of Lemma 1, E[ϕn1]exp(eHn1). Substituting this into the right-hand side above completes the proof.   

As for a lower bound, I think a lower bound of (e1)HnO(1) follows pretty easily by considering maxidilnϕtlnn. But... [EDIT: spoke too soon]

It doesn't seem so easy to show the tight lower bound, of (1o(1))eHn...


2

I have actually thought about the same question (although in a completely different formulation) a few months ago, as well as some close variants.

I don't have a closed form (/ asymptotic) solution for it, but you might find this view useful (are you only looking for upper bound perhaps?).

The process you describe here is a generalization of the Chinese Restaurant Process, where each "table" is a subtree whose root's parent is v0.

This also gives us a recursion formula for your question.

Denote by h(n) the expected heights of a such tree process with n nodes.

Denote by Pn(B)=ΠbB(b1)!n! (the probability of distribution B of the nodes into subtrees).

Then the quantity you're looking for, h(n), is given by:

h(n)=BBnPn(B)maxbBh(b)

If you wish to code this recursion, make sure you use the following so it won't go into infinite loop:

h(n)=BBn{{n}}Pn(B)maxbBh(b)11n!

Where Bn is the set of all partitions of n identical balls into any number of non-empty bins, and h(1)=1.


In practice, when I needed this I just used a simple monte-carlo method for estimating h(n), as trying to actually compute h by this method is extremely inefficient.


1
Thanks for the idea! Actually I wrote a monte-carlo program the first time when I met with this problem, but to my surprise the accurate result is so difficult to get.
zhxchen17
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.