Độ sâu dự kiến ​​của một cây được tạo ngẫu nhiên là gì?


19

Tôi đã nghĩ về vấn đề này từ lâu, nhưng không có ý tưởng nào về nó.

Thuật toán tạo như sau. Chúng tôi giả sử có n nút rời rạc được đánh số từ 0 đến . Sau đó, với mỗi trong , chúng ta biến cha mẹ của nút thứ trong cây thành một nút ngẫu nhiên trong . Lặp lại qua từng theo thứ tự sao cho kết quả là một cây ngẫu nhiên có nút gốc . (Có lẽ điều này không đủ ngẫu nhiên nhưng điều này không thành vấn đề.)i { 1 , Hoài , n - 1 } i { 0 , Nhìn , i - 1 } i 0n1i{1,,n1}i{0,,i1}i0

Độ sâu dự kiến ​​của cây này là gì?


Tôi giả sử v0 là root và bạn muốn nói: "Sau đó, với mỗi i trong [1,n) , chúng ta tạo cha mẹ của nút thứ i ...". Đúng?
Chưa có tiêu đề

Bạn đã thử những gì? Bạn đã thử viết một mối quan hệ lặp lại, nói cho d(i) đó là độ sâu dự kiến ​​của nút i ?
DW

3
Những đối tượng này được biết đến dưới cái tên "cây đệ quy ngẫu nhiên".
James Martin

Câu trả lời:


15

Tôi nghĩ rằng có một kết quả tập trung về , nhưng tôi chưa điền chi tiết.elogn

Chúng ta có thể có giới hạn trên cho xác suất mà nút d tổ tiên không bao gồm 0 . Đối với mỗi chuỗi hoàn chỉnh có thể có của d tổ tiên khác không ( một 1 , một 2 , . . . , Một d ) , xác suất của chuỗi đó là ( 1nd0d(a1,a2,...,ad) . Điều này tương ứng với1(1a1)(1a2)(1ad)×1n lần một số hạng của(1+11ntrong đó các điều khoản được đặt hàng. Vì vậy, giới hạn trên cho xác suất này là1(1+12+13+1n1)d nơiHn-1n-1st số hòa1+11n(d!)Hn1dHn1n1 . Hn-1log(n-1)+γ. Đối cố địnhdn, xác suất mà nútnlà ở độ sâud+1là tại hầu hết các1+12+...+1n1Hn1log(n1)+γdnnd+1

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

Bằng cách xấp xỉ của Stirling, chúng ta có thể ước tính điều này là

1n2πd(elognd)d.

Đối với lớn , bất cứ thứ gì lớn hơn e log n , cơ sở của số mũ là nhỏ, vì vậy ràng buộc này là nhỏ và chúng ta có thể sử dụng liên kết để nói rằng xác suất có ít nhất một nút có tổ tiên d khác không nhỏ bé.delognd


Xem

Luc Devroye, Omar Fawzi, Nicolas Fraiman. "Thuộc tính độ sâu của cây đệ quy ngẫu nhiên đính kèm theo tỷ lệ."

B. Pittel. Lưu ý về độ cao của cây đệ quy ngẫu nhiên và cây tìm kiếm ngẫu nhiên. Các cấu trúc và thuật toán ngẫu nhiên, 5: 337 Từ348, 1994.

Yêu cầu trước đây cho thấy độ sâu tối đa là với xác suất cao và đưa ra một bằng chứng khác.(e+o(1))logn


2
Rất đẹp. Để làm rõ cho những người đọc khác: vì bạn không thể lặp lại , thuật ngữ ( 1 + 1aichỉ là giới hạn trên. (1+12++1n1)d
Peter Shor

3

Câu hỏi này đã được trả lời vài năm trước, nhưng, chỉ để cho vui, đây là một bằng chứng đơn giản về giới hạn trên. Chúng tôi đưa ra một ràng buộc về kỳ vọng, sau đó một cái đuôi bị ràng buộc.

Xác định rv là độ sâu của nút i { 0 , 1 , Lỗi , n - 1 } . Xác định ϕ i = i j = 0 e d j .dii{0,1,,n1}ϕi=j=0iedj.

bổ đề 1. Độ sâu tối đa dự kiến, nhiều nhất là eE[maxidi] .eHn1

Bằng chứng. Độ sâu tối đa tối đa là . Để kết thúc chúng tôi hiển thị E [ ln φ n - 1 ] elnϕn1 .E[lnϕn1]eHn1

Đối với bất kỳ , điều hòa trên φ i - 1 , qua sự kiểm tra của φ i , E [ φ ii1ϕi1ϕi

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

Bằng cách cảm ứng, nó theo

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.