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.)0n−1{ 1 , … , n - 1 } i { 0 , … , i - 1 } i 0i{1,…,n−1}i{0,…,i−1}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 elog⁡n, 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+⋯1n−1)d. Yani, bu olasılık için bir üst sınır H, n-1olann-1st harmonik sayısı1+11n(d!)Hn−1dHn−1n−1 . Hn-1≈log(n-1)+γ. Sabit içindveN→∞ iken, olasılık düğümNderinliği oland+1en fazla olduğu1+12+...+1n−1Hn−1≈log⁡(n−1)+γdn→∞nd+1

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

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

1n2πd(elog⁡nd)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.delog⁡nd


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))log⁡n


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

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

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

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

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