あなたは、言及したようAkra-Bazzi定理ショー再発を解決することをあるすべてのための。ただし、これはへの依存の性質を明らかにしません。後者を決定するには、再帰ツリーアプローチを使用できます。O (N ログN )P ∈ (0 、1 )PT(n,p)O(nlogn)p∈(0,1)p
再帰ツリーのルートには、間隔ます。その2つの子は、間隔とで、これらの合計の長さは再びです。これらの各ノードには2つの子があります(が十分に大きいと想定)。簡単にするために、丸め誤差は無視します。つまり、は整数であると想定します。これは単なる技術であり、心配する必要はありません。ノードの長さが最大、プロセスを停止します。アルゴリズムの複雑さは、ツリー内の区間の全長に比例します。とき、葉{ 1 、… 、p n } { p n + 1 、… 、n } n n p n 1 p ≠ 1 / 2{1,…n}{1,…,pn}{pn+1,…,n}nnpn1p≠1/2 (プロセスを停止するノード)には異なる深さがあるため、全体的な複雑さを判断することがさらに困難になります。
ツリーには最大でレベルがあることに注意することで、単純な上限を取得できます。各ノードは、少なくともその親より倍小さくなっています。分析と同様に、任意のレベルの間隔の合計長は最大でであり、上限を取得します実行時間。以来、と、小さな場合、これを書くことができ。1 - PのP = 1 / 2 N O (N ログ1 - P(1 / N ))ログイン1 - P(1 / N )= ログN /ログ(1 - P )− 1ログ(1 − p )− 1log1−p(1/n)1−pp=1/2nO(nlog1−p(1/n))log1−p(1/n)=logn/log(1−p)−1p O (n log n / p )log(1−p)−1=−log(1−p)=p±O(p2)pO(nlogn/p)
これはより正確な計算です。レベル考えます。短い間隔に達したときにプロセスを停止しないと仮定します。ステップを取ることでランダムな頂点を生成できます。各ステップでは、確率で左(たとえば)に、確率で右(たとえば)に進みます。左のステップを実行するたびに、間隔の長さのログはだけ減少し、右のステップを実行するたびにだけ減少し。頂点は、ログの実際のツリー内にあり、長さが最大で減少し。レベルの区間の合計重みttp1−p−logp−log(1−p)logntツリーの確率は、このプロセスに従って生成された頂点が最大で減少に対応する確率とまったく同じです。場合すなわち、に等しい分布である確率ととの確率、及び独立しており、次いでレベル総重みはです。超定数を、ランダム変数概ね通常、平均して分布しているの直線と分散lognD−logpp−log(1−p)1−pX1,…,Xt∼DtTPr[X1+⋯+Xt≤logn]t [ − p log p − (1 − p )log (1 − p )] p − (1 − p )log (X1+⋯+XtT T [ - P ログP - (1 - P )ログ(1 - P )] T ≤ (ログn )/ 2 1 t [ − p ログ[−plogp−(1−p)log(1−p)]tt、つまり、が場合、確率はに非常に近くなりますが、満足と言う、それは非常にゼロに近いであろう。(バイナリエントロピー関数として知られてい定義すると、実行時間は(ようにで均一)。我々は我々の以前の推定値がタイトではなかった、となります。t[−plogp−(1−p)log(1−p)]t≤(logn)/21tH (P )[−plogp−(1−p)log(1−p)]t≥2lognΘ (N ログN / H (P ))P N → ∞ P → 0 時間(h(p)=−plogp−(1−p)log(1−p)Θ(nlogn/h(p))pn→∞p→0h(p)≈−plogp
同じ分析を見る別の方法は、以前のように独立したランダム変数無限シーケンスを持ち、ような最初の時間になるように停止時間を定義することです。。実行時間は比例します。次に、基本的な更新定理はであると述べており、間隔の合計サイズは等しくなり。より正確には、すべての定数について、間隔の合計サイズは。ここで、T T X 1 + ⋯ + X T ≥ ログN N E [ T ] LIM N → ∞ E [ T ] /ログN = 1 / E [ D ] = 1 / H (P )(1 + o (1 ))n ログnX1,X2,…TtX1+⋯+Xt≥lognnE[T]limn→∞E[T]/logn=1/E[D]=1/h(p)、P (1 + α P(N ))N ログN / H (P )α P(N )= o ((1+o(1))nlogn/h(p)p(1+αp(n))nlogn/h(p)ログN 、N α P(N )= O (N - C P)P ∈ (δ 、1 - δ )δ > 0αp(n)=o(n)。基本更新定理の収束は、時間パラメーター(この例ではで指数関数的であるため、多項式、つまりなければなりません。また、収束は、任意のでもおそらく均一です。lognnαp(n)=O(n−Cp)p∈(δ,1−δ)δ>0
、、実行時間に比例する再帰ツリーにおける間隔の全長を要約すると、すべてのために、次の形式のものである:ここでとは同じベースに取られ、依存し、傾向がある関数です。T (n 、p )= (1 + o (1 ))n log npログ
T(n,p)=(1+o(1))nlognh(p),
h (p )= − p log p − (1 − p )log (1 − p )o (1 )p 0 nlognh(p)=−plogp−(1−p)log(1−p)o(1)p0n
さらに、および場合、区間の全長がここでと隠された大きなO定数はのみに依存します。特に、すべての定数、
そして収束は多項的に高速です。P ∈ (δ 、1 - δ )T (N 、P )= (1 + O (N - Cのδ))N ログNδ>0p∈(δ,1−δ)Cδ>0δP1、P2LIMN→∞T(N、P1)
T(n,p)=(1+O(n−Cδ))nlognh(p),
Cδ>0δp1,p2limn→∞T(n,p1)T(n,p2)=h(p2)h(p1),