Master teoremini kullanırken


20

Master teoremi, belirli nüks türlerini çözmek için güzel bir araçtır . Bununla birlikte, uygularken genellikle ayrılmaz bir parça üzerinde parlıyoruz. Örneğin, Mergesort'un analizi sırasında mutlu bir şekilde

T(n)=T(n2)+T(n2)+f(n)

için

T(n)=2T(n2)+f(n)

sadece n=2k . Bu adımın geçerli olduğunu garanti ediyoruz - yani, TΘ(T) - çünkü T "iyi davranıyor". Genel olarak, farz n=bk için b ortak paydası.

Kısır kullanarak bu basitleştirmeye izin vermeyen tekrarlar oluşturmak kolaydır f. Örneğin, T için yukarıdaki yinelemeT/T ile

f(n)={1,n=2kn,else

verecektir Θ(n) her zamanki gibi Master teoremini kullanarak gibi, ama büyüyen bir alt dizi açıkça orada Θ(nlogn) . Daha anlaşılır bir örnek için buraya bakın .

Bunu nasıl "güzel" titiz yapabiliriz? Tekdüzeliğin yeterli olduğundan eminim, ancak basit Mergesort rekürrensi bile monoton değildir; periyodik bir bileşen vardır (asimptotik olarak baskındır). Yeterince araştırmak mı f ve üzerinde gerekli ve yeterli koşullar nelerdir f o Usta teoremi çalışmalarını sağlamak?


Aynı sonuçlara bir başka bakış Akra-Bazzi teoremi "Doğrusal Nüks Denklemlerinin Çözümü Üzerine", Hesaplamalı Optimizasyon ve Uygulamalar, 10 (2), 195-210 (1998) veya Drmota ve Szpankowski "Ayrık Bölme İçin Bir Ana Teorem ve Conquer Yineleme ", SODA'11 < dl.acm.org/citation.cfm?id=2133036.2133064 >.
vonbrand

2
İşte bir ödeme duvarının arkasında olmayan yukarıdaki kağıda bir bağlantı .
Paresh

1
IIRC, bu CLRS bölüm 4'te ele alınmıştır.
Kaveh

@Kaveh İşaretçi için teşekkürler. Çoğunlukla buna "tolere edilebilir özensizlik" diyorlar; bu onların bağlamında iyidir, çünkü daha sonra tümevarım ile doğrulanacağı kanıtlanan bir hipotez oluşturduğunuzu varsayarlar. Tehlikelerden bahsediyorlar (4.6). 4.6.2'de bir kanıt verirler, ancak üst düzeydir ve üzerinde hangi kısıtlamaların olması gerektiğini açıkça söylemezler . Bu yüzden " T matematik gibi geçiyor" gibi bir şey gibi görünüyor , bence esas olarak f "güzel" bir Θ sınıfı olması gerekir. TTfΘ
Raphael

Genelde benzer boyutlara sahip olmadığınızda , ana teoremin genelleştirilmesi olan Akra – Bazzi yöntemini kullanabilirsiniz , belirli bir işlevi bu teoremde çalışan bir şeyle nasıl değiştireceğinizden emin olun ve birleştirme sıralaması gibi bir şey için, normalde insanların zaman karmaşıklığını kanıtlamak için kullandıkları şey budur.

Yanıtlar:


10

Bu cevap boyunca ve T'nin negatif olmadığını varsayıyoruz . İspatımız bazı monoton g için f = Θ ( g ) olduğunda işe yarar . Bu, f = Θ ( n ) ve polinom büyüme oranına (veya hatta Θ ( n a log b n ) ) sahip olan Mergesort örneğinizi içerir .fTf=Θ(g)gf=Θ(n)Θ(nalogbn)

İlk olarak monotonun azalmayan bir durumu olduğu düşünelim (bu varsayımı daha sonra rahatlatacağız). Biz örnek nüks konsantre T ( n ) = T ( N / 2 ) + T ( N / 2 ) + f ( n ) . Bu nüksün iki temel vakaya ihtiyacı vardır, T ( 0 ) ve T ( 1 ) . Biz olduğu varsayımını T ( 0 )f

T(n)=T(n/2)+T(n/2)+f(n).
T(0)T(1) .T(0)T(1)

nin monoton azalmayan olduğunu iddia ediyorum . Tam indüksiyonla T ( n + 1 ) T ( n ) olduğunu kanıtlıyoruz . Bu n = 0 için verilir , bu yüzden n 1 olsun . Biz T ( n + 1 )T(n)T(n+1)T(n)n=0n1 Bu ifade eder , T(2delinecek log 2 n)T(n)T(2 log 2 N). Yani eğerT(2

T(n+1)=T((n+1)/2)+T((n+1)/2)+f(n+1)T(n/2)+T(n/2)+f(n)=T(n).
T(2log2n)T(n)T(2log2n).
, işimiz bitti. İki güç için çözüm T ( n ) = Θ ( n bir log b n ) biçimindeyse, her zaman böyle olur.T(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)

Şimdi olduğu varsayımını rahatlatalım . Tam olarak aynı şekilde tanımlanan yeni bir nüks T düşünün , sadece T ( 0 ) = T ( 1 ) = min ( T ( 0 ) , T ( 1 ) ) . İndüksiyonla olduğunu kanıtlayabiliriz . Benzer şekilde, yeni bir tekrarlama tatmin edici tanımlayabilirizT(0)T(1)TT(0)=T(1)=min(T(0),T(1))T(n)T(n)TT(0)=T(1)=max(T(0),T(1))ve ardından . Master teoremini çağırdığımızda, aynı fonksiyon için ve ve dolayısıyla olduğunu görüyoruz .T(n)T(n)T=Θ(h)T=Θ(h)hT=Θ(h)

Şimdi monoton olduğu varsayımını rahatlatalım . Varsayalım ki bir monoton fonksiyonu . Böylece bazı ve yeterince büyüktür. Basitlik açısından ; genel durum bir önceki paragrafta olduğu gibi ele alınabilir. Yine (sırasıyla) ile değiştirerek iki nüksünü tanımladık . Bir kez daha Master teoremi aynı sonucu verir (sabit katlara kadar), bu da orijinal yinelemeyi sadece iki güçte çözerek alacağımızla aynıdır (sabit katlara kadar).ff=Θ(g)gcg(n)f(n)Cg(n)c,C>0nn=0T,Tfcg,Cg


1
Sonunda bunu daha yakından okumalıyız. Güzel, teşekkürler! Gelecekteki okuyucular için bunu not edeceğimi düşündüm (çünkü tökezledim): bir sınırlama değil çünkü sadece yanlış süper polinom ve Üs teoremi böyle değildir. T(2m)Θ(T(2m+1))T
Raphael

Kanıtınızı daha ayrıntılı olarak yazmayı denedim ve son cümlenizi kanıtladım, "bu da orijinal ikilemi sadece iki güçle çözerek alacağımızla aynı (...)." Özellikle, , ve için Master teoreminin aynı örneğinde olduğumuzu göstermeliyiz . Bu durum vaka 1 ve 2 için bir sorun değildir, ancak vaka 3 için varlığını gösteremem (CLRS'deki sürüm, 3. sürümdeki p94). Bunu düşündünüz mü yoksa Wikipedia sürümüne benzer bir sürümle mi çalıştınız ? f C g c < 1cgfCgc<1
Raphael

Bu bir tekniktir. Eğer o zaman sorun ortadan kalkar, örneğin bakınız users.encs.concordia.ca/~chvatal/notes/master.pdf . işlevi otomatik olarak koşulları karşılayacaktır. Aynı şeyin ve benzeri için çalıştığını hayal ediyorum . Alternatif olarak, bu durumu yerine doğrudan üzerinde belirtin : tatmin eden bir "normal" olmalıdır . g f = Θ ( n α log β n ) g f g f = Θ ( g )f=Θ(nα)gf=Θ(nαlogβn)gfgf=Θ(g)
Yuval Filmus

" monoton" unun yeterli bir durum olduğunu iddia ettin (ve sana inandım) bu yüzden bununla çalışmaya çalıştım. Örneğin CLRS'de verilen Master teoremi, , eğer yanılmıyorsam, bu yüzden polilogaritmik fonksiyonlara veya bir şeye kısıtlama "teknik" değildir ancak sonucu düzgün şekilde zayıflatır. Bu arada "düzenlilik" in kaldırılması yardımcı olmaz: / düzenliliği (varsayım yoluyla) ile zaten önemli bir durumda var . Ne yazık ki eski yorumuma geri döndüm. Eğer bu sadece teknikse, görmüyorum. Çok fazla eşitsizlik. f : n 2 ngf:n2nc g C ggcgCg
Raphael

Hala bir teknik olduğunu düşünüyorum. Endişe ettiğiniz durum teknik bir durumdur. Uygulamada görünen çoğu işlev için durum geçerli olacaktır. Yukarıdaki kanıt taslağının geçtiği en genel koşulu soruyorsunuz. Bu, cevaplamak için çok tembel olduğum ilginç bir soru.
Yuval Filmus
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.