Bahsettiğiniz gibi, Akra-Bazzi teoremi nüksün çözümünü gösterirT(n,p)T(n,p) dır-dir Ö(ngünlükn)O(nlogn) hepsi için p∈(0,1)p∈(0,1). Bununla birlikte, bu, bağımlılığın doğasını ortaya çıkarmazpp. İkincisini belirlemek için bir özyineleme ağacı yaklaşımı kullanabiliriz.
Özyineleme ağacının kökünde aralık {1,...n}{1,…n}. İki çocuğu aralıklar{1,...,pn}{1,…,pn} ve {pn+1,...,n}{pn+1,…,n}, toplam uzunluğu tekrar olan nn. Bu düğümlerin her birinin iki çocuğu vardır (nnyeterince büyük), vb. Basitlik için yuvarlama hatalarını görmezden geliriz, yanipnpnbir tamsayıdır; bu sadece bir tekniktir ve bunun için endişelenmezdim. Bir düğümün uzunluğu en fazla olduğunda işlemi durdururuz11. Algoritmanın karmaşıklığı, ağaçtaki toplam aralıkların uzunluğu ile orantılıdır. Ne zamanp≠1/2p≠1/2, yapraklar (süreci durdurduğumuz düğümler) farklı derinliğe sahiptir ve bu da genel karmaşıklığı belirlemeyi zorlaştırır.
Ağacın en fazla olduğunu belirterek basit bir üst sınır elde edebiliriz günlük1-p(1/n)log1−p(1/n) seviyeleri: her düğüm en azından 1-p1−pebeveynden daha küçük. Tıpkı analizdeki gibip=1/2p=1/2, herhangi bir düzeydeki aralıkların toplam uzunluğu en fazla nnve biz bir üst sınır elde Ö(ngünlük1-p(1/n))O(nlog1−p(1/n))çalışma süresi. Dan berigünlük1-p(1/n)=günlükn/günlük(1-p)-1log1−p(1/n)=logn/log(1−p)−1 ve günlük(1-p)-1=-günlük(1-p)=p±Ö(p2)log(1−p)−1=−log(1−p)=p±O(p2) küçük için pp, bunu şöyle yazabiliriz Ö(ngünlükn/p)O(nlogn/p).
İşte daha doğru bir hesaplama. Seviyeyi düşününtt. Küçük bir aralığa ulaştıktan sonra süreci durdurmadığımızı varsayalım. Alarak rastgele bir tepe noktası oluşturabiliriz.tt adımlar, her birinde olasılıkla sola gidiyoruz (diyelim) pp ve olasılıkla doğru (söyle) 1-p1−p. Her sol adımda aralığın uzunluğunun günlüğü-günlükp−logpve her doğru adımı attığımızda, -günlük(1-p)−log(1−p). Bir tepe noktası, uzunluk kütüğünün gerçek ağacında en fazla azaltılmışgünlüknlogn. Seviyedeki aralıkların toplam ağırlığıtt Ağacın tam olarak bu işleme göre üretilen bir tepe noktasının en fazla azalmaya karşılık gelme olasılığıdır. günlüknlogn. Yani, eğerDD eşit olan dağılımdır -günlükp−logp olasılıkla pp ve -günlük(1-p)−log(1−p) olasılıkla 1-p1−p, ve X1,...,Xt~DX1,…,Xt∼D bağımsızdır, o zaman toplam ağırlık tt dır-dir Pr[X1+⋯+Xt≤günlükn]Pr[X1+⋯+Xt≤logn]. Süper sabit içintt, rastgele değişken X1+⋯+XtX1+⋯+Xt kabaca normal olarak ortalama ile dağıtılır [-pgünlükp-(1-p)günlük(1-p)]t[−plogp−(1−p)log(1−p)]t ve varyans doğrusal tt, için böylece tt doyurucu [-pgünlükp-(1-p)günlük(1-p)]t≤(günlükn)/2[−plogp−(1−p)log(1−p)]t≤(logn)/2diyelim ki olasılık çok yakın olacak 11, süre için tt doyurucu [-pgünlükp-(1-p)günlük(1-p)]t≥2günlükn[−plogp−(1−p)log(1−p)]t≥2logndiyelim ki sıfıra çok yakın olacak. tanımlanmasıh(p)=-pgünlükp-(1-p)günlük(1-p)h(p)=−plogp−(1−p)log(1−p) (ikili entropi fonksiyonu olarak bilinir), çalışma süresinin Θ(ngünlükn/h(p))Θ(nlogn/h(p)) (üniformalı pp, gibi n→∞n→∞). Gibip→0p→0 sahibiz h(p)≈-pgünlükph(p)≈−plogpve bu yüzden önceki tahminimiz sıkı değildi.
Aynı analize bakmanın bir başka yolu, sonsuz bağımsız değişken değişken dizisine sahip olmaktır X1,X2,...X1,X2,… eskisi gibi ve bir durma süresi tanımlamak TT ilk kez olmak tt öyle ki X1+⋯+Xt≥günlüknX1+⋯+Xt≥logn. Çalışma süresi daha sonranE[T]nE[T]. Temel yenilenme teoremi daha sonra belirtiyorlimn→∞E[T]/günlükn=1/E[D]=1/h(p)limn→∞E[T]/logn=1/E[D]=1/h(p), aralıkların toplam boyutunun (1+Ö(1))ngünlükn/h(p)(1+o(1))nlogn/h(p). Daha doğru, her sabit içinpp toplam aralık boyutu (1+αp(n))ngünlükn/h(p)(1+αp(n))nlogn/h(p), nerede αp(n)=Ö(n)αp(n)=o(n). Temel yenileme teoremindeki yakınsama zaman parametresinde üsteldir -günlüknlogn bizim durumumuzda - bu yüzden polinom olmalı nn, yani, αp(n)=Ö(n-Cp)αp(n)=O(n−Cp). Yakınsama muhtemelenp∈(δ,1-δ)p∈(δ,1−δ) herhangi δ>0δ>0.
Özet olarak, özyineleme ağacındaki çalışma süresiyle orantılı toplam aralık uzunluğu, her biri için aşağıdaki formdadır pp: T(n,p)=(1+Ö(1))ngünlüknh(p),
T(n,p)=(1+o(1))nlognh(p),
nerede
günlüknlogn ve
h(p)=-pgünlükp-(1-p)günlük(1-p)h(p)=−plogp−(1−p)log(1−p) aynı tabana götürülür ve
Ö(1)o(1) bağlı bir işlevdir
pp ve eğilimi
00 ile
nn.
Dahası, muhtemelen herhangi biri için doğrudur δ>0δ>0 Ve herhangi biri p∈(δ,1-δ)p∈(δ,1−δ) toplam aralık uzunluğunun formda olduğu doğrudur T(n,p)=(1+Ö(n-Cδ))ngünlüknh(p),
T(n,p)=(1+O(n−Cδ))nlognh(p),
nerede
Cδ>0Cδ>0 ve gizli büyük O sabiti sadece
δδ. Özellikle, tüm sabitler için
p1,p2p1,p2,
limn→∞T(n,p1)T(n,p2)=h(p2)h(p1),limn→∞T(n,p1)T(n,p2)=h(p2)h(p1),
ve yakınsama polinom olarak hızlıdır.