スキップリストが期待どおりに強くバランスされていることを証明する


8

高さスキップリストが与えられた場合、定数(乗法)係数の範囲内で、その期待される長さはどれくらいですか?n

Cache-Oblivious B-Treesのセクション2.2 では、強く重み付けされた検索ツリーは次のように定義されています。

定数場合、高さすべてのノードには子孫があります。V H Θ D HdvhΘ(dh)

彼らが主張します:

プロパティ1と2を満たす検索ツリーには、ウェイトバランスされたBツリー、決定論的スキップリスト、および予想される意味でのスキップリストが含まれます。

決定論的スキップリストの要求については、既に質問しました。この質問は、スキップリストの主張についてです。

私はスキップリストがこの性質を期待していると信じていますが、厳密な理由を見つけることができません。逆の確率(長さが与えられた高さ)は、定数係数内で直接計算できます。洗練された分析は、二項変換とスキップリストの分析に記載されています

編集:

スキップリストで「子孫」を定義するには、いくつかの異なる概念があります。この用語は、ピューの元の論文では使用されていません。「子孫」のいくつかの可能な解釈は、スキップリストをツリーとして表示することから生じます。これを行うさまざまな方法が含まれています

「確定的スキップリスト」の概念を使用すると、これは同じ質問をする別の方法だと思います。

私が公正なコインを受け取った場合、最後の結果がであるように何度かフリップし、最も長い連続したヘッドのシーケンスが長さだった、を見た回数の期待値はどれくらいですか?n

また、閉じた形の解がなくても、期待される強力な重量バランスの非建設的な証明にも興味があります。d


1
木の場合、高さは任意の要素を見つけるための最大ステップ数と一致します。これは、スキップリストタワーの高さには当てはまりません。例えば、最初の要素は、高さの塔があるとしnは、リスト内の他のすべての要素へのリンク、リストの長さ)。関連付けられたツリーの高さは、1と2になります(どのようにカウントしますか?)。では、どの量を調査したいですか?塔の高さまたはルックアップコスト?n1n
Raphael

私はあなたの言っていることを理解していると思います、Raphael-強く重み付けされたバランスの元の定義のコンテキストでは、スキップリストの「高さ」はツリーの「高さ」ではありません。私は本当に両方に興味がありますが、私の質問は塔の高さについてのものでした。
jbapple 2010年

1
保持されません。イベントは独立していません。P(h(x)=n|l(x)=j)=P(h(x)n|l(x)=j)P(h(x)n|l(x)=j)
Raphael

もちろん、ラファエル、ありがとう。編集しています。
jbapple 2010年

2
ここで何も得られない場合は、再定式化された質問「私が公正な硬貨を取った場合[...]」をとると、mathoverflowで妥当な答えが得られる場合があります。投稿する場合はこちらにもリンクを貼ってください。
Raphael、

回答:


3

あなたが尋ねたように、予想される長さ(高さを考えると)に関する質問は、文字列の長さの事前分布がないと意味がありません。

代わりに、連続する頭を取得する前に尾を取得する回数を考慮する必要があります。これにより、スキップリストの高さhのノードの子孫の数が得られるためです。この値を確率変数X = X h )で表現しましょう。開始時、またはテールを取得した直後、テールを再び取得する前にh以上のヘッドのランを開始および終了する確率は、2 hです。連続してh頭になる前に尾を打った場合、正方形に戻ります。したがって、Xは実際にはG e o m eとして配布されます。hhX=X(h)h2hhXあり、 EX = 1 2 h2 hです。Geometric(2h)E(X)=(12h)2h

編集:

申し訳ありませんが、これにより左側のサブツリーにあるタワーの予想数がわかります。ただし、最初と最後の間にあるタワーの幾何学的に分布した高さは期待値2であるため、左側のサブツリーのノード数は同じ桁になります。また、右側のサブツリーも検討する場合は、おそらくより理にかなってあなたが得るまで、あなたは単に行く行目に頭を代わりにちょうどの時間。この場合、リンクしたDevroyeの論文で定義されている子孫の数を取得します。h+1h


「代わりに、hリストを連続して取得する前にテールを取得する回数を考慮する必要があります。これにより、スキップリスト内の高さhのノードの子孫の数が得られるためです。」それについて詳しく説明していただけますか?スキップリストからツリーへのいくつかの異なる変換があり、それらは異なるノードに異なる子孫を与えます。より具体的になるように質問を編集します。
jbapple 2010年

OK、「子孫」の考えられるさまざまな意味に関する情報をいくつか追加しました。あなたの解釈は他の少なくとも2つの解釈と一致していると思います。
jbapple 2010年

水平インデックスiの高さ塔の上部にあるノードを考えます。次の高さhの塔は、インデックスj > iです。ノードの子孫は、少なくともiで厳密にj未満のインデックスを持つすべてのタワーのノードです。Devroyeの論文では、これはノードの左側のサブツリーにある子孫のセットに相当します。hihj>iij
ジェームズキング

2

質問の再定式化で、コインを投げる回数を修正しますか?そうでない場合、コインを投げるのをやめたときに分配を与える必要はありませんか?


いいえ、コインを投げる回数は決めていません。多分ディストリビューションを与える必要があるかもしれませんが、私にはわかりません。問題の私の翻訳は正しくありませんか?元の定式化は、ある種の分布を修正せずに明確な答えを持っていますか?
jbapple 2010年

(再構成された)質問は、いくつかの追加情報なしでは意味がないと思います。元の質問については何も知りませんので、翻訳についてコメントすることはできません。
VPatel

1

HiiN+N+Pr[Hi=k]=2k1iH=max{Hii=1,,N}NN+

Pr[HkN]=1i=1NPr[Hi<k]=1(12k)n

H=kNPr[H=kN]=Pr[HkN]Pr[Hk+1N]=(12k1)n(12k)nNNk=ln(ln(12k)ln(12k1))ln(12k1)ln(12k)NkNk

最も近い整数に丸められたいくつかの値:

k    N^*_k
1    2
2    5
3    11
4    22
5    44
10   1419
20   1.5e6

E[kNk]k

Nk

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.