Bölünme oranı bağlıysa bölme ve yineleme yinelemelerini çözme


20

Formun tekrarını çözmek için genel bir yöntem var mı:

T(n)=T(nnc)+T(nc)+f(n)

için , genel olarak, ya da daha fazlac<1

T(n)=T(ng(n))+T(r(n))+f(n)

burada bazı alt doğrusal fonksiyonlardır .g(n),r(n)n

Güncelleme : Aşağıda verilen bağlantılardan geçtim ve Jeff Erickson'un notlarındaki tüm tekrarlama ilişkilerini de gözden geçirdim . Nüksün bu formu hiçbir yerde tartışılmaz. Akkra-Bazi yöntemi sadece ayrılma kesirli olduğunda geçerlidir. Herhangi bir dokunaklı referans takdir edilecektir.


2
İşlevler oluşturmayı deneyin.
saadtaame

1
Does Akra-Bazzi yöntemi uygulamak? Yalnızca tahminleri verir, ancak bu yeterli olabilir. O()
vonbrand

4
Sorununuzu kendi başınıza çözmek için çok fazla girişimde bulunmadığınız için, birlikte çalışacağız. Sizi sizinkine benzer sorunları ayrıntılı olarak içeren referans sorularımıza yönlendireyim . Lütfen burada listelenen ilgili soruları inceleyin, sorununuzu tekrar çözmeye çalışın ve karşılaştığınız belirli sorunların yanı sıra girişimlerinizi içerecek şekilde düzenleyin.
Raphael

1
Tom Leighton'ın "Böl ve fethet yinelemeleri için daha iyi ana teoremlerle ilgili notlar" konulu çalışma notlarına göz atın. Belki orada Akra-Bazzi'nin kanıtını davanıza uyarlayabilirsiniz .
vonbrand

1
@EngrStudent İlk yorumda üretici fonksiyonlar önerildi. :)
Raphael

Yanıtlar:


6

Diyelim ki bir yinelemeniz var Pozitif gerçekler üzerinde değişen .

T(n)={T(nnc)+T(nc)+f(n)n > 21otherwise

Bu işlevle ne yapabiliriz? Belli yapıları üzerine koymadıkça çok fazla değil. Altta yatan problem yeterince pürüzsüz olmasa bile (önemli değil, yine de Newton'un yöntemini bölünmüş farklılıklarına atalım) ya da analiz etmek için çok karmaşık olsa da (sayısal olarak tanımlanmış) sayısal tariflerle döşenmiş bir sayısal analiz arka planından geldim. gibi). Bu sorunlara karşı yaptığım bağırsak tepkisi, elle dalgalanan bir varsayım yapmak, parmaklarımızı çaprazlamak ve en iyisini ummaktır. Bu durumda, nispeten iyi sınırlar veriyor gibi görünüyor.

Özellikle iki ana varsayımda bulunmak istiyorum. Bu varsayımlardan biri az çok temelsizdir, ama onsuz çok uzağa gidemeyiz. Diğeri, umarım hoşunuza gidebilecek biraz güzel bir görsel sezgiye sahiptir, ancak yine de her şeyden daha el sarısıdır.

  1. nin "düz-ish" olduğunu varsayacağım . nin her yerde ayırt edilebilir olmadığını görmek oldukça kolaydır . Aslında, sürekli değildir, çünkü ve , ve . Bu nedenle, oluşturulan haritalar tekrarlanır verilen ya da , bir kesinti içerecektir de yineleme ağaç içeriyorsaT ( n ) f ( n ) = log ( n ) c = 1T(n)T(n)f(n)=log(n)c=12limn2T(n)=1limn2+T(n)=2+ln2nnnnnT(n)n2yörüngesinde bir yerde. Bu çok fazla süreksizlik, Dirichlet'in işlevine parası için bir çalışma bile verebilir. Bir fonksiyonun davranışlarını, hiçbir yerde sürekli olmayan bir fonksiyonun prototip örneğiyle karşılaştırdığımız noktaya gelirsek, "pürüzsüz-ish" olduğunu iddia etmeye çalışmak gülünç değil mi? Eh, pratikte, bu süreksizliklerin etkilerinin asemptotik olarak azaldığı, sonsuzluğa eğilimli olduğunda grafiğinizin neredeyse pürüzsüz göründüğü noktaya kadar azaldığı ortaya çıkıyor ! Bu nedenle, dirgenlerimizi bırakmamızı ve bu durumda sadece başka yöne bakmamızı öneriyorum. Özellikle, menşeinden yeterince uzakta olan herhangi bir ilgi noktasında ,nnT(n)farklı olabilir veya en azından yaklaşık olarak bir mahallenin etrafında farklılaşabilir.
  2. Ayrıca, yeterince uzaktayken daha da güçlü bir yumuşaklık duruşuna sahip olacağım . Varsayalım ki bazı sublinear fonksiyonu şekildedir (örneğin, ), daha sonra türev yapar yeterince yavaş olduğunda önemli ölçüde değişmez . Sezgisel olarak, büyüdükçe, mahallenin göreceli boyutu azalır (boyutu sadece , hangi büyür çok çok daha yavaş yapar). Sonunda, bu mahalle boyutu öylesine (önemsiz göre olurnα(n)n>α(n)ncT(ξ(nα(n),n)α(n)n(nα(n),n)α(n)nn) bu mahalledeki değişim oranının artık tüm bunları dramatik bir şekilde değiştirmediği.T(n)

Şimdi, bu özelliklerin her ikisi de varsayılır ve gerçekte herhangi bir titiz şekilde kanıtlamayı nasıl yapacağım konusunda sıfır fikrim var. Ama daha önce söylediğim gibi, parmaklarımızı geçelim ve en iyisini umalım.

Tekrarlama ilişkisiyle başlayalım: Şimdi, ve arasındaki aralıkta yeterince pürüzsüz olduğunu varsayacağım . Klasik analitik araçlarımızdan birine, ortalama-değer-teoremine hitap ederek bize Ayrıca, yeterince büyük olduğunda, nin bu aralık boyunca yaklaşık olarak aynı olduğunu varsayarız ve bu nedenle bu aralıktaki sonlu farklılıklardan herhangi birinin değerini alır. Bu demek oluyor ki

T(n)=T(nnc)+T(nc)+f(n)T(n)T(nnc)=T(nc)+f(n)ncT(n)T(nnc)nc=T(nc)+f(n)
Tnncn
T(n)T(nnc)nc=T(ξ(nnc,n)).
nT(ξ)
T(ξ)T(n)T(nϵ)ϵ    ϵ<nc
Özellikle bir tane almak için alın - adım bölünmüş fark yaklaşımı Bunu almak için teleskoplayabiliriz ϵ=1
nc(T(n)T(n1))T(nc)+f(n)T(n)T(n1)T(nc)+f(n)nc
T(n)knT(kc)kc+knf(k)kc

sinirlenmesi , nin asimtotik doğasına bağlı olarak nin iki asimptotik faza sahip olduğunu ortaya çıkarır .T(n)T(n)f(z)

Tüm ( daha hızlı olduğu , sağ toplam ağırlıkta olmak) ve elimizdeki genellikle integrali ile yaklaşık olarak tahmin edilebilir .f(n)=o(nc)fncT(n)=Θ(knf(k)kc)nf(x)xcdx

Tüm ve ardından sol toplam sağ hakimdir. Burada, burada .f(n)=ω(nc)

(knT(kc)kc)+Fc(n)
Fc(n)=nf(x)xcdx

Düzgünlük argümanı sayesinde, bunu bir kez daha sola sabitlenmiş Riemann toplamı olarak görebiliriz ve integral . İntegrale benzer bir ortalama-değer-teoremi uygulandığında sadece devam edin ve bu yaklaşık edebilirsiniz , hangi verir bazı sabit için yaklaşık .nT(xc)xcdx

kT(kc)kcnf(xc)xcdx=nT(ξ<nc)ξc
nT(nc)nc
T(n)nMT(nc)nc+Fc(n)
M

Şimdi, yinelenen sekansımız olduğunu varsayalım burada , bu diziyi yukarıdaki eşitsizliği elde etmek için kullanabiliriz: Bir kez daha, olduğunu bulmak için terimi burada . Biraz basitleştirmek ve terimlerinin bazılarını birlikte birleştirmek (özellikle,(n,nc,nc2,nc3,,nck)nck<2

(*)T(n)n(ik1MinciFc(nci)+Mknck)
Fc(nci)
T(n)=O(Fc(n)+nFc(nc)(Mnc+M2nc2++Mknck))
k=logc(log(2)log(n))Mncncksabittir),
T(n)=O(nkFc(n)Mk)

Ancak, bu sınır nispeten gevşek ve mümkün olduğunda başvurmalısınız .(*)

Bunun hiçbir şekilde titiz olmadığını unutmayın. Bunun bazı beceriksiz yaklaşımların ötesinde çalışması gerektiği konusunda herhangi bir destek vermedim. Bununla birlikte, sadece gayri resmi analiz uğruna hızlı bir asimtotik tahmine ihtiyacınız varsa, o zaman bu şemanın pratikte iyi çalıştığını ( , genellikle yeterliliğin yeterince büyük değerleri için ) görebilirsiniz.nn>10

Her neyse, denediğim tüm ve seçenekleri için , aşağıdaki hesaplama burada iyi yaklaşımlar veriyor gibi görünüyor . Bu teknik aynı zamanda ile yaklaşılabilen formlarının yinelemelerini de genelleştirir. buradacf

T^(n)=nklogclogn2MknckF(nck)F(n)=knf(k)kc
MkT(kc)kcnT(nc)nc
T(n)=T(nα(n))+T(β(n))+f(n)
T^(n)=nk#β(n)Mkαk(n)F(βk(n))F(n)=knf(k)α(k)
αk(n)=α(k(α(n)))ve dizisinin elemanlarının sayısını gösterir son terim ile arasında olacak şekilde .#β(n)n,β(n),β(β(n)),,β#β(n)(n)12
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.