Rastgele oluşturulmuş bir ağacın beklenen derinliği nedir?


19

Bu problemi uzun zaman önce düşündüm, ancak bu konuda hiçbir fikrim yok.

Üretme algoritması aşağıdaki gibidir. 0'dan n - 1'e kadar numaralandırılmış n ayrı düğüm olduğunu varsayıyoruz . Her biri için Sonra içinde , yaptığımız ağacında inci düğümün ana rasgele düğüm . Sonuç, kök düğümü olan rastgele bir ağaç olacak şekilde her yineleyin . (Belki de bu yeterince rasgele değil ama önemli değil.)0n1{ 1 , , n - 1 } i { 0 , , i - 1 } i 0i{1,,n1}i{0,,i1}i0

Bu ağacın beklenen derinliği nedir?


Ben varsayalım v0 "her biri için Ardından: köküdür ve demek istedi i içinde [1,n) , yaptığımız i -inci düğüm ebeveyni ...". Sağ?
İsimsiz

Ne denedin? Eğer bir nüks ilişki yazma denediniz, söylemek d(i) düğümün beklenen derinliği hangisi i ?
DW

3
Bu nesneler "rastgele özyinelemeli ağaç" adı altında bilinir.
James Martin

Yanıtlar:


15

ilgili bir konsantrasyon sonucu olduğunu düşünüyorum elogn, ama henüz ayrıntıları doldurmadım.

Bu, bir üst düğüm olasılığı için bağlanmış olsun n sahiptir d ataları dahil 0 . Her olası tam zincir için d sıfır olmayan ataları (a1,a2,...,ad) , zincirin olasılığıdır (1a1)(1a2)(1ad)×1n . Bu1'ekarşılık gelir1n kez bir terim(1+12+13+1n1)d. Yani, bu olasılık için bir üst sınır H, n-1olann-1st harmonik sayısı1+11n(d!)Hn1dHn1n1 . Hn-1log(n-1)+γ. Sabit içindveN∞ iken, olasılık düğümNderinliği oland+1en fazla olduğu1+12+...+1n1Hn1log(n1)+γdnnd+1

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

Stirling'in yaklaşımı ile bunu şu şekilde tahmin edebiliriz:

1n2πd(elognd)d.

Büyük , e log n'den çok daha büyük herhangi bir şey , üstel taban küçüktür, bu nedenle bu sınır küçüktür ve bağlı olmayan birliği, d sıfır olmayan atalara sahip en az bir düğüm olma olasılığının düşük olduğunu söylemek için kullanabiliriz. küçük.delognd


Görmek

Luc Devroye, Omar Fawzi, Nicolas Fraiman. "Ölçekli ek derinliği özellikleri rastgele özyinelemeli ağaçlar."

B. Pittel. Rastgele tekrarlayan ağaçların ve rastgele m-ary arama ağaçlarının yüksekliğine dikkat edin. Rasgele Yapılar ve Algoritmalar, 5: 337-348, 1994.

Önceki iddia, ikincisinin maksimum derinliğin yüksek olasılıkla ( 1 ) ) log n olduğunu gösterdiğini ve başka bir kanıt sunduğunu.(e+o(1))logn


2
Çok hoş. Diğer okuyucular için açıklığa kavuşturmak için: tekrarlayamayacağınızdan , terim ( 1 + 1aisadece bir üst sınırdır. (1+12++1n1)d
Peter Shor

3

Bu soru birkaç yıl önce cevaplandı, ama sadece eğlence için, üst sınırın basit bir kanıtı. Beklentiye bağlıyız, sonra kuyruğa bağlıyız.

Rv i { 0 , 1 , , n - 1 } düğümü derinliği olarak tanımlayın . Φ i = i j = 0 e d j tanımlayındii{0,1,,n1}ϕi=j=0iedj.

lemma 1. Beklenen maksimum derinlik, en fazla eE[maxidi] .eHn1

Kanıt. Maksimum derinlik en fazla . Bitirmek için gösterdiğimiz E [ ln φ n - 1 ] elnϕn1 .E[lnϕn1]eHn1

Herhangi biri için , kondüsyonlamanın φ i - 1 incelenmesi ile, φ 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).

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.