Quelle est la profondeur attendue d'un arbre généré aléatoirement?


19

J'ai pensé à ce problème il y a longtemps, mais je n'ai aucune idée à ce sujet.

L'algorithme de génération est le suivant. Nous supposons qu'il y a n nœuds discrets numérotés de 0 à n−1 . Ensuite, pour chaque i dans {1,…,n−1} , nous faisons du parent du i ème nœud dans l'arbre un nœud aléatoire dans {0,…,i−1} . Itérer à travers chaque i afin que le résultat soit un arbre aléatoire avec le noeud racine 0 . (Ce n'est peut-être pas assez aléatoire, mais cela n'a pas d'importance.)

Quelle est la profondeur attendue de cet arbre?


Je suppose que v0 est root et vous vouliez dire: "Ensuite, pour chaque i dans [1,n) , nous faisons le parent du i ème nœud ...". Droite?
— Untitled

Qu'as-tu essayé? Avez-vous essayé d'écrire une relation de récurrence, disons pour d(i) quelle est la profondeur attendue du nœud i ?
— DW

3
Ces objets sont connus sous le nom d '«arbre récursif aléatoire».
— James Martin

Réponses:


15

Je pense qu'il y a un résultat de concentration sur elog⁡n , mais je n'ai pas encore rempli les détails.

Nous pouvons obtenir une limite supérieure pour la probabilité que le nœud ait d ancêtres non compris 0 . Pour chaque chaîne complète possible de d ancêtres non nuls ( a 1 , a 2 , . . . , A d ) , la probabilité de cette chaîne est ( 1nd0d(a1,a2,...,ad) . Cela correspond à1(1a1)(1a2)⋯(1ad)×1n fois un terme de(1+11noù les conditions sont ordonnées. Ainsi, une limite supérieure pour cette probabilité est1(1+12+13+⋯1n−1)d oùHn-1est len-1er numéro harmonique1+11n(d!)Hn−1dHn−1n−1 . Hn-1≈log(n-1)+γ. Pourdetn→∞fixes, la probabilité que le nœudnsoit à la profondeurd+1est au plus1+12+...+1n−1Hn−1≈log⁡(n−1)+γdn→∞nd+1

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

Par approximation de Stirling, nous pouvons estimer cela comme

1n2πd(elog⁡nd)d.

Pour grand , tout ce qui est beaucoup plus grand que e log n , la base de l'exponentielle est petite, donc cette borne est petite, et nous pouvons utiliser l'union liée pour dire que la probabilité qu'il y ait au moins un nœud avec d ancêtres non nuls est petit.delog⁡nd


Voir

Luc Devroye, Omar Fawzi, Nicolas Fraiman. "Propriétés de profondeur des arbres récursifs aléatoires d'attachement à l'échelle."

B. Pittel. Remarque sur les hauteurs d'arbres récursifs aléatoires et d'arbres de recherche m-aire aléatoires. Random Structures and Algorithms, 5: 337–348, 1994.

Le premier affirme que le second a montré que la profondeur maximale est avec une probabilité élevée, et offre une autre preuve.(e+o(1))log⁡n


2
Très agréable. Pour clarifier pour les autres lecteurs: puisque vous ne pouvez pas répéter un , le terme ( 1 + 1ain'est qu'une limite supérieure. (1+12+…+1n−1)d
— Peter Shor

3

Cette question a reçu une réponse il y a plusieurs années, mais, juste pour le plaisir, voici une simple preuve de la limite supérieure. Nous donnons une borne sur l'attente, puis une queue liée.

Définissez rv la profondeur du nœud i ∈ { 0 , 1 , … , n - 1 } . Définissez ϕ i = ∑ i j = 0 e d j .dii∈{0,1,…,n−1}ϕi=∑j=0iedj.

lemme 1. La profondeur maximale attendue, est au plus eE[maxidi] .eHn−1

Preuve. La profondeur maximale est au plus . Pour finir nous montrons E [ ln ϕln⁡ϕn−1 .E[ln⁡ϕn−1]≤eHn−1

Pour tout , conditionner sur ϕ i - 1 , par inspection de ϕ i , E [ ϕ ii≥1ϕi−1ϕi

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

Par récurrence, il s'ensuit que

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

So, by the concavity of the logarithm,

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.