Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Algoritmalar D ERS 2 Asimptotik Notasyon O-, Ω-, ve Θ-notasyonları Yinelemeler Yerine koyma metodu Yineleme döngüleri Özyineleme ağacı Ana Metot (Master.

Benzer bir sunumlar


... konulu sunumlar: "Algoritmalar D ERS 2 Asimptotik Notasyon O-, Ω-, ve Θ-notasyonları Yinelemeler Yerine koyma metodu Yineleme döngüleri Özyineleme ağacı Ana Metot (Master."— Sunum transkripti:

1 Algoritmalar D ERS 2 Asimptotik Notasyon O-, Ω-, ve Θ-notasyonları Yinelemeler Yerine koyma metodu Yineleme döngüleri Özyineleme ağacı Ana Metot (Master metod) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.1

2 Asimptotik notasyon O-notasyonu (üst sınırlar): September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.2 Tüm n ≥ n 0 değerleri için sabitler c > 0, n 0 > 0 ise 0 ≤ f(n) ≤ cg(n) durumunda f(n) = O(g(n)) yazabiliriz.

3 September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.3 Ö RNEK :2n 2 = O(n 3 ) (c = 1, n 0 = 2) Tüm n ≥ n 0 değerleri için sabitler c > 0, n 0 > 0 ise 0 ≤ f(n) ≤ cg(n) durumunda f(n) = O(g(n)) yazabiliriz. Asimptotik notasyon O-notasyonu (üst sınırlar):

4 September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.4 Ö RNEK :2n 2 = O(n 3 ) (c = 1, n 0 = 2) Tüm n ≥ n 0 değerleri için sabitler c > 0, n 0 > 0 ise 0 ≤ f(n) ≤ cg(n) durumunda f(n) = O(g(n)) yazabiliriz. Asimptotik notasyon O-notasyonu (üst sınırlar): fonksiyonlar, değerler değil

5 September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.5 Ö RNEK :2n 2 = O(n 3 ) (c = 1, n 0 = 2) Tüm n ≥ n 0 değerleri için sabitler c > 0, n 0 > 0 ise 0 ≤ f(n) ≤ cg(n) durumunda f(n) = O(g(n)) yazabiliriz. Asimptotik notasyon O-notasyonu (üst sınırlar): fonksiyonlar, değerler değil (c = 1, n 0 = 2) komik, “tek yönlü” eşitlik

6 O-notasyonunun tanımı September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.6 O(g(n))= { f(n) : tüm n ≥ n 0 değerlerinde c > 0, n 0 > 0 ise ve 0 ≤ f(n) ≤ cg(n) }

7 O-notasyonunun tanımı September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.7 O(g(n))= { f(n) : tüm n ≥ n 0 değerlerinde c > 0, n 0 > 0 ise ve 0 ≤ f(n) ≤ cg(n) } Ö RNEK :2n 2 ∈ O(n 3 )

8 Ω-notasyonu (alt sınırlar) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.8 O-notasyonu bir üst-sınır notasyonudur. f(n) en az O(n 2 )'dir demenin bir anlamı yoktur.

9 Ω-notasyonu (alt sınırlar) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.9 O-notasyonu bir üst-sınır notasyonudur. f(n) en az O(n 2 )'dir demenin bir anlamı yoktur. Ω(g(n))= { f(n) : tüm n ≥ n 0 değerlerinde c > 0, n 0 > 0 ise ve 0 ≤ cg(n) ≤ f(n) }

10 Ω-notasyonu (alt sınırlar) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.10 O-notasyonu bir üst-sınır notasyonudur. f(n) en az O(n 2 )'dir demenin bir anlamı yoktur. Ω(g(n))= { f(n) : tüm n ≥ n 0 değerlerinde c > 0, n 0 > 0 ise ve 0 ≤ cg(n) ≤ f(n) } Ö RNEK :(c = 1, n 0 = 16) n = Ω (lg n)

11 Θ -notasyonu(sıkı sınırlar) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.11 Θ(g(n)) = O(g(n)) ∩ Ω(g(n))

12 Θ -notasyonu(sıkı sınırlar) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.12 Θ(g(n)) = O(g(n)) ∩ Ω(g(n)) 1 n 2 − 2n = Θ (n 2 ) 2 Ö RNEK :

13 Θ, Ω ve O notasyonlarının grafik üzerinde örneklenmesi September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.13

14 ο ve ω notasyonları O-notasyonu ve Ω-notasyonu ≤ ve ≥ gibidir. o-notasyonu ve ω -notasyonu gibidir.. September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.14 Ö RNEK :(n 0 = 2/c) 2n2 = o(n3)2n2 = o(n3) o(g(n))= { f(n) : tüm n ≥ n 0 değerlerinde c > 0 sabiti için n 0 sabiti varsa 0 ≤ f(n) ≤ cg(n) }

15 ο ve ω notasyonları O-notasyonu ve Ω-notasyonu ≤ ve ≥ gibidir. o-notasyonu ve ω -notasyonu gibidir.. September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.15 o(g(n))= { f(n) : tüm n ≥ n 0 değerlerinde c > 0 sabiti için n 0 sabiti varsa 0 ≤ f(n) ≤ cg(n) } (n 0 = 1+1/c)Ö RNEK : n = ω (lg n)

16 Yinelemelerin çözümü September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.16 Ders 1' deki birleştirme sıralaması analizi bir yinelemeyi çözmemizi gerektirmişti. Yinelemeler integral, türev, v.s. denklemlerinin çözümlerine benzer. Ders 3: Yinelemelerin "böl-ve-fethet" algoritmalarına uygulanması.

17 Yerine koyma metodu (yöntemi) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.17 En genel yöntem: 1.Çözümün şeklini tahmin edin. 2.Tümevarım ile doğrulayın. 3.Sabitleri çözün.

18 Yerine koyma metodu (yöntemi) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.18 En genel yöntem: 1.Çözümün şeklini tahmin edin. 2.Tümevarım ile doğrulayın. 3.Sabitleri çözün. Ö RNEK :T(n) = 4T(n/2) + n T(1) = Θ (1) olduğunu varsayın. O(n 3 ) 'ü tahmin edin. (O ve Ω ayrı ayrı kanıtlayın. ) k< n için T(k) ≤ ck 3 olduğunu varsayın. T(n) ≤ cn 3 'ü tümevarımla kanıtlayın.

19 Yerine koyma örneği ≤ cn 3 = cn 3 − ((c / 2)n 3 − n) T (n) = 4T (n / 2) + n ≤ 4c(n / 2) 3 + n = (c / 2)n 3 + n istenen –kalan (c/2)n 3 – n ≥ 0 olduğu zamanlarda, örneğin, eğer c ≥ 2 ve n ≥ 1 ise. kalan istenen September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.19

20 Örnek (devamı) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.20 Başlangıç koşullarını da ele almalı,yani, tümevarımı taban şıklarına (base cases) dayandırmalıyız. Taban: T(n) = Θ (1) tüm n < n 0 için, ki n 0 uygun bir sabittir. 1 ≤ n < n 0 için, elimizde “ Θ (1)” ≤ cn 3, olur; yeterince büyük bir c değeri seçersek.

21 Örnek (devamı) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.21 Başlangıç koşullarını da ele almalı,yani, tümevarımı taban şıklarına (base cases) dayandırmalıyız. Taban: T(n) = Θ (1) tüm n < n 0 için, ki n 0 uygun bir sabittir. 1 ≤ n < n 0 için, elimizde “ Θ (1)” ≤ cn 3, olur; yeterince büyük bir c değeri seçersek. Bu, sıkı bir sınır değildir !

22 Daha sıkı bir üst sınır? September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.22 T(n) = O(n 2 ) olup olmadığını kanıtlayacağız.

23 Daha sıkı bir üst sınır? September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.23 T(n) = O(n 2 ) olduğunu kanıtlayacağız. Varsayın ki k < n için T(k) ≤ ck 2 olsun: T (n) = 4T (n / 2) + n ≤ 4c(n / 2) 2 + n = cn 2 + n = cn 2 – (– n ) ≤ cn 2 [ istenen –kalan ]

24 Daha sıkı bir üst sınır? September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.24 T(n) = O(n 2 ) olduğunu kanıtlayacağız. Varsayın ki k < n için T(k) ≤ ck 2 olsun: T (n) = 4T (n / 2) + n ≤ 4c(n / 2) 2 + n = cn 2 + n = cn 2 – (– n ) ≤ cn 2 Yanlış c > 0 için eşitsizlik doğru değildir. Kaybettik.

25 Özyineleme-ağacı metodu September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.25 Özyineleme-ağacı, bir algoritmadaki özyineleme uygulamasının maliyetini (zamanı) modeller. Özyineleme-ağacı metodu, bazen güvenilir olmayabilir. Öte yandan özyineleme-ağacı metodu "öngörü" olgusunu geliştirir. Özyineleme-ağacı metodu "yerine koyma metodu" için gerekli tahminlemelerde yararlıdır.

26 Özyineleme-ağacı örneği September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.26 T(n) = T(n/4) + T(n/2) + n 2 : çözün

27 Özyineleme-ağacı örneği September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.27 T(n) = T(n/4) + T(n/2) + n 2 : çözün T(n)

28 Özyineleme-ağacı örneği T(n) = T(n/4) + T(n/2) + n 2 : çözün n 2 September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.28 T(n/4) T(n/2)

29 Özyineleme-ağacı örneği T(n) = T(n/4) + T(n/2) + n 2 :çözün n 2 (n/4) 2 (n/2) 2 T(n/16)T(n/8) T(n/4) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.29

30 Özyineleme-ağacı örneği T(n) = T(n/4) + T(n/2) + n 2 : n 2 (n/16) 2 (n/8) 2 (n/4) 2 (n/2) 2 Θ(1) … September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.30

31 Özyineleme-ağacı örneği T(n) = T(n/4) + T(n/2) + n 2 : n2n2 n2n2 (n/16) 2 (n/8) 2 (n/4) 2 (n/2) 2 … September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.31 Θ(1)

32 Özyineleme-ağacı örneği T(n) = T(n/4) + T(n/2) + n 2 : (n/16) 2 (n/8) 2 (n/4) 2 (n/2) 2 … n 5 n n2n2 n2n2 September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.32 Θ(1)

33 Özyineleme-ağacı örneği T(n) = T(n/4) + T(n/2) + n 2 : (n/16) 2 (n/8) 2 (n/4) 2 … n 5 n n2n n n2n2 (n/2) 2 September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.33 … Θ(1)

34 Özyineleme-ağacı örneği T(n) = T(n/4) + T(n/2) + n 2 : (n/16) 2 (n/8) 2 (n/4) 2 … n 5 n n2n n … n2n2 September 12, 2005Copyright © Erik D. Demaine and Charles E. Leiserson Θ(1) (n/2) 2 Toplam

35 Ana Metod (The Master Method) September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.35 Ana method aşağıda belirtilen yapıdaki yinelemelere uygulanır: T(n) = a T(n/b) + f (n), burada a ≥ 1, b > 1, ve f asimptotik olarak pozitiftir.

36 Üç yaygın uygulama September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.36 f (n)'in log b a ile karşılaştırın: 1.f (n) = O(n log b a – ε ) ε > 0 sabiti durumunda f (n) polinomsal olarakn log b a göre daha yavaş büyür (n ε faktörü oranında). Ç ÖZÜM : T(n) = Θ(n log b a ).

37 Üç yaygın uygulama September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.37 f (n)'in log b a ile karşılaştırın: 1.f (n) = O(n log b a – ε ) ε > 0 sabiti durumunda; f (n) polinomsal olarak n log b a göre daha yavaş büyür(n ε faktörü oranında). Çözüm: T(n) = Θ(n log b a ). 2.f (n) = Θ(n log b a )durumunda; f (n) ve n log b a benzer oranlarda büyürler. Çözüm: T(n) = Θ(n log b a lgn).

38 Üç yaygın uygulama September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.38 f (n)'i n log b a ile karşılaştırın: 3.f (n) = Ω(n log b a + ε ) ε > 0 sabiti durumunda; f (n)polinomsal olarak n log b a 'ye göre daha hızlı büyür ( n ε faktörü oranında), ve f (n),düzenlilik koşulunu af (n/b) ≤ cf (n) durumunda, c < 1 olmak kaydıyla karşılar. Çözüm: T(n) = Θ(f (n)).

39 Örnekler September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.39 Örnek.T(n) = 4T(n/2) + n a = 4, b = 2 ⇒ n log b a = n 2 ; f (n) = n. Durum 1: f (n) = O(n 2 – ε ) ε = 1 için. ∴ T(n) = Θ (n 2 ).

40 Örnekler September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.40 Ör.T(n) = 4T(n/2) + n a = 4, b = 2 ⇒ n log b a = n 2 ; f (n) = n. Durum 1: f (n) = O(n 2 – ε ) ε = 1 için. ∴ T(n) = Θ (n 2 ). Ör.T(n) = 4T(n/2) + n 2 a = 4, b = 2 ⇒ n log b a = n 2 ; f (n) = n 2. Durum 2: f (n) = Θ (n 2 ) olduğu için ∴ T(n) = Θ (n 2 lg n).

41 Örnekler September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.41 Ör. T(n) = 4T(n/2) + n 3 a = 4, b = 2 ⇒ n log b a = n 2 ; f (n) = n 3. DURUM 3: f (n) = Ω (n 2 + ε ) ve 4(n/2) 3 ≤ cn 3 (düz. koş.) ∴ T(n) = Θ (n 3 ). ε = 1için c = 1/2 için.

42 Örnekler September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.42 Ör. T(n) = 4T(n/2) + n 3 a = 4, b = 2 ⇒ n log b a = n 2 ; f (n) = n 3. DURUM 3: f (n) = Ω (n 2 + ε ) ve 4(n/2) 3 ≤ cn 3 (düz. koş.) ∴ T(n) = Θ (n 3 ). ε = 1için c = 1/2 için. Ör. T(n) = 4T(n/2) + n 2 /lg n a = 4, b = 2 ⇒ n log b a = n 2 ; f (n) = n 2 /lg n. Ana metod geçerli değil.Özellikle, ε > 0 olan sabitler için n ε = ω (lg n) elde edilir.

43 Appendix/EK: Geometrik seriler 1 − x 1 + x + x x n = 1 − x n+1n+1 ; x ≠ 1için 1 − x x + x = ; |x| < 1 için September 12, 2005Copyright © Erik D. Demaine and Charles E. LeisersonL2.43


"Algoritmalar D ERS 2 Asimptotik Notasyon O-, Ω-, ve Θ-notasyonları Yinelemeler Yerine koyma metodu Yineleme döngüleri Özyineleme ağacı Ana Metot (Master." indir ppt

Benzer bir sunumlar


Google Reklamları