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 à n1 . Ensuite, pour chaque i dans {1,,n1} , nous faisons du parent du i ème nœud dans l'arbre un nœud aléatoire dans {0,,i1} . 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 elogn , 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+1n1)dHn-1est len-1er numéro harmonique1+11n(d!)Hn1dHn1n1 . Hn-1log(n-1)+γ. Pourdetnfixes, la probabilité que le nœudnsoit à la profondeurd+1est au plus1+12+...+1n1Hn1log(n1)+γdnnd+1

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

Par approximation de Stirling, nous pouvons estimer cela comme

1n2πd(elognd)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.delognd


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))logn


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++1n1)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,,n1}ϕi=j=0iedj.

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

Preuve. La profondeur maximale est au plus . Pour finir nous montrons E [ ln ϕlnϕn1 .E[lnϕn1]eHn1

Pour tout , conditionner sur ϕ i - 1 , par inspection de ϕ i , E [ ϕ ii1ϕi1ϕi

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

Par récurrence, il s'ensuit que

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

So, by the concavity of the logarithm,

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
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.