बेतरतीब ढंग से उत्पन्न पेड़ की अपेक्षित गहराई क्या है?


19

मैंने इस समस्या के बारे में बहुत पहले सोचा था, लेकिन इसके बारे में कोई विचार नहीं है।

उत्पन्न एल्गोरिथ्म इस प्रकार है। हम मानते हैं देखते हैं n असतत से गिने नोड्स 0 करने के लिए n1 । फिर प्रत्येक के लिए i में {1,,n1} , हम i पेड़ में वें नोड के माता-पिता में एक यादृच्छिक नोड हो {0,,i1} । प्रत्येक माध्यम से iक्रम में आइटरेट करें ताकि परिणाम रूट नोड साथ एक यादृच्छिक पेड़ हो 0। (शायद यह बहुत यादृच्छिक नहीं है लेकिन यह कोई फर्क नहीं पड़ता।)

इस पेड़ की अपेक्षित गहराई क्या है?


मुझे लगता है v0 जड़ है और आप कहते हैं कि करने के लिए होती: "प्रत्येक के लिए तो i में [1,n) , हम कर i मई के नोड के माता-पिता ..."। सही?
शीर्षकहीन

आपने क्या प्रयास किया है? क्या आपने पुनरावृत्ति संबंध लिखने की कोशिश की है, लिए कहें d(i)जो नोड की अपेक्षित गहराई है i?
डीडब्ल्यू

3
इन वस्तुओं को "यादृच्छिक पुनरावर्ती वृक्ष" नाम से जाना जाता है।
जेम्स मार्टिन

जवाबों:


15

मुझे लगता है कि बारे में एक एकाग्रता परिणाम है elogn, लेकिन मैंने अभी तक विवरण नहीं भरा है।

हम एक ऊपरी संभावना नोड कि के लिए बाध्य प्राप्त कर सकते हैं n है d पूर्वजों सहित नहीं 0 । के प्रत्येक संभव पूरा श्रृंखला के लिए d अशून्य पूर्वजों (a1,a2,...,ad) , कि श्रृंखला की संभावना है (1a1)(1a2)(1ad)×1n । यह1 सेमेल खाती है1n समय की अवधिजहां शर्तों के आदेश दिए गए हैं। तो, इस संभावना के लिए एक ऊपरी सीमा1 है(1+12+13+1n1)d जहांएचएन-1हैn-1सेंट हार्मोनिक संख्या1+11n(d!)Hn1dHn1n1एचएन-1लॉग(एन-1)+γ। निश्चितdऔरn∞ के लिए, संभावना है कि नोडnगहराईd+1पर है1+12+...+1n1Hn1log(n1)+γdnnd+1

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

स्टर्लिंग के सन्निकटन से हम इसका अनुमान लगा सकते हैं

1n2πd(elognd)d.

बड़े , लॉग एन की तुलना में बहुत अधिक कुछ भी , घातीय का आधार छोटा है, इसलिए यह बाध्य छोटा है, और हम यह कहने के लिए बाध्य संघ का उपयोग कर सकते हैं कि संभावना है कि डी नॉनजेरो पूर्वजों के साथ कम से कम एक नोड है छोटे।delognd


देख

ल्यूक देवराय, उमर फावजी, निकोलस फ्राईमन। "स्केल्ड अटैचमेंट रैंडम रिकर्सिव ट्री के गुण।"

ख। पिटेल। यादृच्छिक पुनरावर्ती पेड़ों और यादृच्छिक मी-आर्य खोज पेड़ों की ऊंचाइयों पर ध्यान दें। यादृच्छिक संरचनाएं और एल्गोरिदम, 5: 337-348, 1994।

पूर्व का दावा है कि बाद में पता चला है कि अधिकतम गहराई है उच्च संभावना के साथ लॉग एन , और एक और प्रमाण प्रदान करता है।(e+o(1))logn


2
बहुत अच्छा। अन्य पाठकों के लिए स्पष्ट करने के लिए: चूंकि आप , शब्द ( 1 + 1) को दोहरा नहीं सकते हैंaiकेवल एक ऊपरी बाउंड है। (1+12++1n1)d
पीटर शोर

3

इस सवाल का जवाब कई साल पहले दिया गया था, लेकिन, सिर्फ मनोरंजन के लिए, यह ऊपरी सीमा का एक सरल प्रमाण है। हम उम्मीद पर एक सीमा देते हैं, फिर एक पूंछ बाध्य होती है।

परिभाषित आर.वी. नोड की गहराई होने के लिए मैं { 0 , 1 , ... , n - 1 }Def i = i j = 0 e d j परिभाषित करें dii{0,1,,n1}ϕi=j=0iedj.

लेम्मा 1. अपेक्षित अधिकतम गहराई, सबसे अधिक ई पर हैE[maxidi]eHn1

प्रमाण। अधिकतम गहराई अधिक से अधिक है । समाप्त करने के लिए हमारे द्वारा दिखाए [ ln φ n - 1 ] lnϕn1E[lnϕn1]eHn1

किसी के लिए , पर कंडीशनिंग φ मैं - 1 , के निरीक्षण से φ मैं , [ φ मैंi1ϕi1ϕi

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

प्रेरण से यह इस प्रकार है कि

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

तो, लघुगणक के अवतलता द्वारा,

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

यहाँ पूंछ बाध्य है:

लेम्मा 2. फिक्स किसी भी । फिर पीआर [ अधिकतम मैं मैं ] c0Pr[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).
E[ϕn1]exp(eHn1)   

(e1)HnO(1)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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.