ランダムに生成されたツリーの予想される深さは?


19

私はずっと前にこの問題について考えましたが、それについての考えがありません。

生成アルゴリズムは次のとおりです。0からn 1までの番号が付けられたn離散ノードがあると仮定します。そして、それぞれの{ 1 ... nは- 1 }、我々は作るツリー内の番目のノードの親はランダムノードで{ 0 ... I - 1 }。結果がルートノード0のランダムツリーになるように、各iを順に繰り返します。(おそらくこれは十分にランダムではありませんが、これは重要ではありません。)0n1i{1,,n1}i{0,,i1}i0

このツリーの予想される深さは何ですか?


私は仮定しv0「それぞれのその後:ルートであり、あなたが言うことを意味しiでは[1,n)、私たちが作るi番目のノードの親...」。右?
無題14

何を試しましたか?ノードiの予想される深さであるについて、再帰関係を書いてみましたか?d(i)i
DW

3
これらのオブジェクトは、「ランダム再帰ツリー」という名前で知られています。
ジェームズマーティン14

回答:


15

elognに関して集中的な結果があると思いますが、詳細はまだ記入していません。

ノード0を含まないd個の先祖を持つ確率の上限を取得できます。各可能な完全なチェーンのためのDの祖先の非ゼロ12D、その鎖の確率である1nd0d(a1,a2,...,ad)。これは1に対応します(1a1)(1a2)(1ad)×1n1+1の項の n1nここで、用語は順序付けられています。したがって、この確率の上限は1です(1+12+13+1n1)dここで、Hn1は、n1次高調波数1+1です。1n(d!)Hn1dHn1n1HN-1つのログN-1+γ。固定dおよびn∞の場合、ノードnが深さd+1にある確率は最大で1+12+...+1n1Hn1log(n1)+γdnnd+1

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

スターリングの近似により、これを次のように推定できます。

1n2πd(elognd)d.

e log nよりも大きい場合、指数の底は小さいため、この境界は小さく、union境界を使用して、dが 0でない先祖を持つノードが少なくとも1つ存在する確率は小さい。delognd


見る

Luc Devroye、Omar Fawzi、Nicolas Fraiman。「スケーリングされた添付ファイルのランダム再帰ツリーの深度プロパティ。」

B.ピッテル。ランダム再帰ツリーとランダムm-ary探索ツリーの高さに注意してください。ランダム構造とアルゴリズム、5:337–348、1994

前者は、後者が最大の深さがである可能性が高いことを示し、別の証拠を提供すると主張しています。(e+o(1))logn


2
非常に素晴らしい。他の読者のために明確にするため:繰り返すことができないため、用語1 + 1aiは単なる上限です。(1+12++1n1)d
ピーターショー14

3

この質問は数年前に回答されましたが、楽しみのために、ここに上限の簡単な証明があります。期待値に限界を与え、次にテール限界を与えます。

RVの定義ノードの深さであることが{ 0 1 ... N - 1 }ϕ i = i j = 0 e d jを定義します。dii{0,1,,n1}ϕi=j=0iedj.

eE[maxidi]eHn1

証明。最大の深さは最大です。最後にます。 E [ LN φ N - 1 ] Elnϕn1E[lnϕn1]eHn1

いずれかのためにに、コンディショニングの検査によって、 φ I - 1 φ I E [ φ Ii1ϕ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+cexp(c)

証明。およびマルコフ境界の 検査により、問題の確率は最大 補題1の証明から、。これを上記の右側に代入すると、証明が完了します。ϕ

Pr[ϕn1exp(eHn1+c)]E[ϕn1]exp(eHn1+c).
E[ϕn1]exp(eHn1)   

下限に関しては、考慮することにより、下限がかなり簡単に続くと思います。しかし...(e1)HnO(1)maxidilnϕtlnn [編集:話が早すぎた]

の厳密な下限を示すのはそれほど簡単ではないようです...(1o(1))eHn


2

数か月前に、同じ質問を(まったく異なる形式で)考え、実際にはいくつかの類似したバリエーションについて考えました。

閉じた形式(/漸近的)の解決策はありませんが、このビューが役立つと思うかもしれません(おそらく上限だけを探しているのでしょうか?)。

ここで説明するプロセスは、Chinese Restaurant Processの一般化です。各「テーブル」は、ルートの親がであるサブツリーです。v0

また、これはあなたの質問に対する再帰式を提供します。

表すを有するこのようなツリープロセスの予想される高さノード。h(n)n

表す(分布の確率サブツリーへのノード)。Pn(B)=ΠbB(b1)!n!B

次に、探している量は次のように与えられます。h(n)

h(n)=BBnPn(B)maxbBh(b)

この再帰をコーディングする場合は、無限ループに陥らないように、次を使用してください。

h(n)=BBn{{n}}Pn(B)maxbBh(b)11n!

ここで、は、同一のボールを任意の数の空でないビンに分割するすべてのセットのセットであり、です。 nh1=1Bnnh(1)=1


実際には、これが必要なときにを推定するために単純なモンテカルロ法を使用しました。この方法で実際にを計算しようとすると、非常に非効率的です。hh(n)h


1
アイデアをありがとう!実際、この問題に遭遇したときに初めてモンテカルロプログラムを作成しましたが、驚いたことに、正確な結果を得るのは非常に困難です。
zhxchen17 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.