Qual è la profondità prevista di un albero generato casualmente?


19

Ho pensato a questo problema molto tempo fa, ma non ne ho idea.

L'algoritmo di generazione è il seguente. Partiamo dal presupposto che ci sono nodi discreti numerati da a . Poi, per ogni in , facciamo l' genitore esimo del nodo nell'albero essere un nodo casuale . Scorrere ogni in ordine in modo che il risultato sia un albero casuale con nodo radice . (Forse questo non è abbastanza casuale ma non importa.)n0n1i{1,,n1}i{0,,i1}i0

Qual è la profondità prevista di questo albero?


Suppongo che sia root e intendevi dire: "Quindi per ogni in , creiamo il genitore -nodo ...". Giusto? v0i[1,n)i
Senza titolo,

Che cosa hai provato? Hai provato a scrivere una relazione di ricorrenza, diciamo per qual è la profondità prevista del nodo ? d(i)i
DW

3
Questi oggetti sono noti con il nome di "albero ricorsivo casuale".
James Martin,

Risposte:


15

Penso che ci sia un risultato di concentrazione su elogn , ma non ho ancora compilato i dettagli.

Siamo in grado di ottenere un limite superiore per la probabilità che il nodo n ha d antenati non compreso 0 . Per ogni possibile catena completa di d antenati non nulli (a1,a2,...,ad) , la probabilità di tale catena è (1a1)(1a2)(1ad)×1n . Questo corrisponde a1n volte un termine di(1+12+13+1n1)ddove sono ordinati i termini. Quindi, un limite superiore per questa probabilità è1n(d!)Hn1d doveHn1è il°n1numero armonico . Hn-1log(n-1)+γ. Per fissoden, la probabilità che il nodonsia alla profonditàd+1è al massimo1+12+...+1n1Hn1log(n1)+γdnnd+1

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

Con l'approssimazione di Stirling possiamo stimare questo come

1n2πd(elognd)d.

Per le grandi , qualcosa di molto più grande di posta log n , la base del esponenziale è piccolo, quindi questo limite è piccolo, e possiamo usare il sindacato legato a dire che la probabilità che ci sia almeno un nodo con d diverso da zero antenati IS piccolo.delognd


Vedere

Luc Devroye, Omar Fawzi, Nicolas Fraiman. "Proprietà di profondità degli alberi ricorsivi casuali di allegati in scala".

B. Pittel. Nota sulle altezze degli alberi ricorsivi casuali e degli alberi di ricerca casuali m-ary. Strutture casuali e algoritmi, 5: 337–348, 1994.

Il primo afferma che il secondo ha mostrato che la profondità massima è con alta probabilità e offre un'altra prova.(e+o(1))logn


2
Molto bella. Per chiarire per altri lettori: perché non si può ripetere l' , il termine ( 1 + 1aiè solo un limite superiore. (1+12++1n1)d
Peter Shor,

3

A questa domanda è stata data risposta diversi anni fa, ma, solo per divertimento, ecco una semplice prova del limite superiore. Diamo un limite alle aspettative, quindi un limite alla coda.

Definire rv come profondità del nodo i { 0 , 1 , , n - 1 } . Definire ϕ i = i j = 0 e d j .dii{0,1,,n1}ϕi=j=0iedj.

lemma 1. La profondità massima prevista, è al massimo eE[maxidi] .eHn1

Prova. La profondità massima è al massimo . Per finire mostriamo E [ ln ϕ n - 1 ] elnϕn1 .E[lnϕn1]eHn1

Per qualsiasi , condizionamento su ϕ i - 1 , mediante ispezione di ϕ i , E [ ϕ ii1ϕi1ϕi

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

Per induzione segue che

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

Quindi, per la concavità del logaritmo,

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

Ecco il limite della coda:

lemma 2. Correggi qualsiasi . Quindi Pr [ max i d i ] ec0Pr[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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.