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


19

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

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

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


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

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

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

Відповіді:


15

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

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

(log⁡n)dn(d!)(1+o(1))

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

1n2πd(elog⁡nd)d.

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


Побачити

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

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

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


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

3

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

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

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

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

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

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

By induction it follows that

E[ϕn−1]=∏i=1n−1(1+ei)<∏i=1n−1exp⁡(ei)=exp⁡(eHn−1).

E[ln⁡ϕn−1]≤ln⁡E[ϕn−1]<ln⁡exp⁡(eHn−1)=eHn−1.       ◻

Here is the tail bound:

lemma 2. Fix any c≥0. Then Pr[maxidi]≥eHn−1+c is at most exp⁡(−c).

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

Pr[ϕn−1≥exp⁡(eHn−1+c)]≤E[ϕn−1]exp⁡(eHn−1+c).
From the proof of Lemma 1, E[ϕn−1]≤exp⁡(eHn−1). Substituting this into the right-hand side above completes the proof.   ◻

As for a lower bound, I think a lower bound of (e−1)Hn−O(1) follows pretty easily by considering maxidi≥ln⁡ϕt−ln⁡n. But... [EDIT: spoke too soon]

It doesn't seem so easy to show the tight lower bound, of (1−o(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)=Πb∈B(b−1)!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)=∑B∈BnPn(B)⋅maxb∈Bh(b)

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

h(n)=∑B∈Bn∖{{n}}Pn(B)⋅maxb∈Bh(b)1−1n!

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.