Ana teorem uygulanamaz mı?


11

Aşağıdaki özyinelemeli denklem verildiğinde

T(n)=2T(n2)+nlogn
Master teoremini uygulamak istiyoruz ve

nlog2(2)=n.

Şimdi ilk iki vakayı için kontrol ediyoruz ε>0,

  • nlognO(n1ε) veya
  • nlognΘ(n) .

İki dava tatmin olmamıştır. Bu yüzden üçüncü vakayı kontrol etmeliyiz,

  • nlognΩ(n1+ε) .

Üçüncü şartın da tatmin olmadığını düşünüyorum. Ama neden? Ve bu durumda Üstat teoreminin neden uygulanamayacağına dair iyi bir açıklama ne olabilir?



4
Vaka üç değil memnun çünkü değil Ω ( n ε ) herhangi biri için £ değerinin > 0 . Sınır kullan l'Hôpital kuralı günlüğü nlognΩ(nϵ)ϵ>0lognnϵ
sdcvvc

1
Her iki durumun da geçerli olmadığını gösterdiğinizde, bu, ana teoremi belirtildiği gibi uygulayamayacağınızın kanıtıdır .
Raphael

Üstat Teoremine kim ihtiyaç duyar? Özyineleme ağaçları kullanın.
JeffE

Yanıtlar:


7

Ana Teorem'in bahsettiğiniz üç vakası, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest ve Clifford Stein tarafından Algoritma Girişinde kanıtlanmıştır (2. Baskı, 2001).

Doğru söz konusu tekrarlanması bu Örnek 2, Örnek 3 arasında düştüğü görülmektedir f(n)=nlogn daha hızlı büyüyen n ama daha yavaş n1+ε herhangi ε>0 .

Bununla birlikte teorem bu tekrarlamayı kapsayacak şekilde genelleştirilebilir. Düşünmek

Durum 2A: Bazı k 0 için f(n)=Θ(nlogbalogbkn) düşünün .k0

Bu durum k=0 olduğunda Durum 2'ye düşer . Tekrarlama ağacının her dalı boyunca f(x)Θ(logbn) kez eklendiği sezgisel olarak açıktır . Daha resmi bir kanıt taslağını aşağıda bulabilirsiniz. Nihai sonuç şudur:

T(n)=Θ(nlogbalogbk+1n)
.

Gelen algoritmalara giriş bu açıklama bir egzersiz olarak bırakılmıştır.

Bu ifadeyi söz konusu tekrarlamaya uygulayarak nihayet elde ederiz

T(n)=Θ(nlog2n).

Ana Teorem hakkında daha fazla ayrıntı mükemmel (imho) Wikipedia sayfasında bulunabilir .

@Sdcvvc'in, Vaka 3'ün burada uygulanmadığını kanıtlamak için yorumlarda belirttiği gibi, L'Hospital'in şöyle diyor:

limxcf(x)g(x)=limxcf(x)g(x)

c çevresinde farklılaşabilen f(x) ve g(x) fonksiyonları için . Bu uygulama , f ( n ) = n- log n, ve g ( n ) = n- 1 + ε bir o gösterebilir log n İçeride ISTV melerin RWMAIWi'nin ( n 1 + ε ) .cf(n)=nlogng(n)=n1+εlognΘ(n1+ε).


Durum 2A için Ana Teorem Kanıtı'nın taslağı.

Bu, Algoritmalara Giriş'ten kanıtın bazı bölümlerinin gerekli değişikliklerle çoğaltılmasıdır .

İlk önce aşağıdaki Lemmayı kanıtlıyoruz.

Lemma A:

Bir işlev düşünün

g(n)=j=0logbn1ajh(n/bj)

burada h(n)=nlogbalogbkn.Sonra g(n)=nlogbalogbk+1n.

Korumalı: ikame h(n) için ifadeye g(n) bir alabilirsiniz

g(n)=nlogbalogbknj=0logbn1(ablogba)j=nlogbalogbk+1n.

QED

Eğer n , b bir nüks verdiği kesin bir kuvvetse

T(n)=aT(n/b)+f(n),T(1)=Θ(1)

biri olarak yeniden yazabilir

T(n)=Θ(nlogba)+j=0logbn1ajf(n/bj).

f(n)Θ(nlogbalogbkn)Θ

T(n)=Θ(nlogbalogbk+1n).

nb


1

Akra-Bazzi teoremi, ana teoremin katı bir genellemesidir. Bir bonus olarak, kanıtı başınızı döndürecek bir blizzard ;-)

T(n)g(n)

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.