3.Hafta Master Teorem ve Böl-Fethet Metodu

Benzer belgeler
Algoritmalar. DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması

2.Hafta Algoritmaların Analizi. Araya Yerleştirme Sırlaması (Insert Sort) Birleştirme Sıralaması (Merge Sort ) Yinelemeler

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

Algoritmalara Giriş 6.046J/18.401J DERS 2

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir? Örnek...4 : Genel terimi w n. Örnek...1 : Örnek...5 : Genel terimi r n

İleri Diferansiyel Denklemler

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Bir özvektörün sıfırdan farklı herhangi bri sabitle çarpımı yine bir özvektördür.

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir?

Problem Set 1 Çözümler

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

Algoritmalar. Doğrusal Zamanda Sıralama. Bahar 2017 Doç. Dr. Suat Özdemir 1

HOMOGEN OLMAYAN DENKLEMLER

YZM 2116 Veri Yapıları

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Yrd. Doç. Dr. Ümit ATİLA

ÖZEL EGE LİSESİ FİBONACCİ DİZİLERİ YARDIMIYLA DEĞERİNİ HESAPLAYAN BİR FORMÜL

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

5.Hafta Alt Sınırları Sıralama Doğrusal-Zaman (linear time) Sıralaması (devam)

VERİ YAPILARI DERS NOTLARI BÖLÜM 2 ALGORİTMA ANALİZİ. Yard. Doç. Dr. Deniz KILINÇ

Math 322 Diferensiyel Denklemler Ders Notları 2012

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

Alıştırma 1: Yineleme

PERGEL YAYINLARI LYS 1 DENEME-6 KONU ANALİZİ SORU NO LYS 1 MATEMATİK TESTİ KAZANIM NO KAZANIMLAR

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

İleri Diferansiyel Denklemler

İleri Diferansiyel Denklemler

13.Konu Reel sayılar

DENKLEM DÜZENEKLERI 1

İleri Diferansiyel Denklemler

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

Dinamik Programlama. En uzun ortak altdizi En uygun altyapı Altproblemlerin çakışması

İleri Diferansiyel Denklemler

11.Konu Tam sayılarda bölünebilme, modüler aritmetik, Diofant denklemler

İKİNCİ DERECEDEN DENKLEMLER

İleri Diferansiyel Denklemler

Yrd. Doç. Dr. A. Burak İNNER

Algoritma Analizi. Özelliklerinin analizi Algoritmanın çalışma zamanı Hafızada kapladığı alan

28/04/2014 tarihli LYS-1 Matematik-Geometri Testi konu analizi SORU NO LYS 1 MATEMATİK TESTİ KAZANIM NO KAZANIMLAR 1 / 31

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

İleri Diferansiyel Denklemler

DEVRE VE SİSTEM ANALİZİ ÇALIŞMA SORULARI

13. Karakteristik kökler ve özvektörler

Özdeğer ve Özvektörler

Ayrık zamanlı sinyaller için de ayrık zamanlı Fourier dönüşümleri kullanılmatadır.

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

8.Konu Vektör uzayları, Alt Uzaylar

10. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

EĞİTİM - ÖĞRETİM YILI 10. SINIF MATEMATİK DERSİ DESTEKLEME VE YETİŞTİRME KURSU KAZANIMLARI VE TESTLERİ

İkinci Mertebeden Lineer Diferansiyel Denklemler

1 Lineer Diferansiyel Denklem Sistemleri

Elastisite Teorisi Düzlem Problemleri için Sonuç 1

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol

Projenin Adı: Metalik Oranlar ve Karmaşık Sayı Uygulamaları

Proje Adı: Sonlu Bir Aritmetik Dizinin Terimlerinin Kuvvetleri Toplamının İndirgeme Bağıntısıyla Bulunması.

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ

x 0 = A(t)x + B(t) (2.1.2)

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

Pratik Ara Sınav 1 Çözümleri

VEKTÖR UZAYLARI 1.GİRİŞ

ÖZDEĞERLER- ÖZVEKTÖRLER

İleri Diferansiyel Denklemler

2012 LYS MATEMATİK SORU VE ÇÖZÜMLERİ Niyazi Kurtoğlu

İleri Diferansiyel Denklemler

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR

İleri Diferansiyel Denklemler

Algoritma Nedir? Algoritma

NÜMER IK ANAL IZ. Nuri ÖZALP. Sabit Nokta ve Fonksiyonel Yineleme. Bilimsel Hesaplama Matemati¼gi

YZM 2116 Veri Yapıları

Mustafa Özdemir İrtibat İçin : veya Altın Nokta Yayınevi

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

Chapter 9. Elektrik Devreleri. Principles of Electric Circuits, Conventional Flow, 9 th ed. Floyd

Özyineleme (Recursion)

Değişken Katsayılı Adi Diferensiyel Denklemler Katsayıları bağımsız(x) değişkene bağlı diferensiyel denklemlerdir. Genel ifadesi şöyledir.

Otomatik Kontrol. Kapalı Çevrim Kontrol Sistemin Genel Gereklilikleri

Bölüm Özeti. Algoritmalar. Fonksiyonların Büyümesi. Algoritmaların Karmaşıklığı. Örnek Algoritmalar Algoritmik Paradigmalar

biçimindeki ifadelere iki değişkenli polinomlar denir. Bu polinomda aynı terimdeki değişkenlerin üsleri toplamından en büyük olanına polinomun dereces

ndrgemel Dzler Ders Notlar

Doğrusal Denklemler Sis./Sys. of Linear Equations

4. BÖLÜM DOĞRUSAL DENKLEM SİSTEMLERİ

TEKİRDAĞ SOSYAL BİLİMLER LİSESİ 10. SINIF MATEMATİK DERSİ YILLIK PLANI

25. KARARLILIK KAPALI ÇEVRİM SİSTEMLERİNİN KARARLILIK İNCELENMESİ

Temel Kavramlar. (r) Sıfırdan farklı kompleks sayılar kümesi: C. (i) Rasyonel sayılar kümesi: Q = { a b

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

Dr. Fatih AY Tel: fatihay@fatihay.net

1. GRUPLAR. c (Birleşme özelliği) sağlanır. 2) a G için a e e a a olacak şekilde e G (e ye birim eleman denir) vardır.

BIP116-H14-1 BTP104-H014-1

Algoritma Analizi Big O

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

6.Hafta Bilinen Probleme İndirgeme Tasarım Yöntemi

Lineer Bağımlılık ve Lineer Bağımsızlık

10.Konu Tam sayıların inşası

İleri Diferansiyel Denklemler

Transkript:

1 3.Hafta Master Teorem ve Böl-Fethet Metodu

2 Ana Metod (The Master Method) Ana method aşağıda belirtilen yapıdaki yinelemelere uygulanır: T(n) = at(n/b) + f (n), burada a 1, b > 1, ve f asimptotik olarak pozitiftir. T(n) bir algoritmanın çalışma süresidir. n/b boyutunda a tane alt problem recursive olarak çözülür ve her biri T(n/b) süresindedir. f(n) problemin bölünmesi ve sonuçların birleştirilmesi için geçen süredir. Örnek: Merge-sort için T(n)=2T(n/2)+ (n) yazılabilir.

Ana Metod (The Master Method) Üç yaygın uygulama 3

4 Ana Metod (The Master Method) Üç yaygın uygulama c=(1-ε), ε >

Örnekler 5

Örnekler 6

Master teoremdeki düşünce 7

Master teoremdeki düşünce 8

Master teoremdeki düşünce 9

Master teoremdeki düşünce 1

Master teoremi ispat 11 Durum 2: Eğer f n = θ n log ba, ise T n = θ n log ba logn İspat: Eğer f n = θ nlogba, o zaman f n cn log ba olur T n = n logba log + σ b n 1 j= a j f n b j n logba log + c σ b n 1 j= a j n b j log b a = n logba + cn logba log σ b n 1 j= a j 1 b log b a j a = n logba + cn logba n 1 log σ b j= 1 = n log b a + cn logba log b n cn log ba log n Bu yüzden, f n = θ n log ba ise T n = O n log ba logn dir. Durum 1 ve Durum 3 te benzerdir.( Önerilen ders kitabını inceleyiniz)

12 Master teoremi Örnek: çalışma zamanını bulunuz? ise Çözüm: Durum 1:, için

13 Master teoremi Örnek: çalışma zamanını bulunuz? ise Çözüm:, ve Durum 2:

14 Master teoremi Örnek: ise çalışma zamanını bulunuz? Çözüm:, ve Durum 3: için düzenlilik koşulu,, burada için

15 Master teoremi ispat

16 Karakteristik denklemler kullanarak yinelemeleri çözme Doğrusal Yineleme (Rekürans) Bağıntısı Bir yinelemeli bağıntıda t n, dizinin önceki terimlerinin katlarının toplamına eşitse doğrusal (lineer) dır. (t n T(n) ) t n = t n-1 + t n-2 doğrusal t n = t n-1 + t 2 n-2 doğrusal değildir, t 2 n-2 önceki terimin katı değildir. Homojen Yineleme (Rekürans) Bağıntısı: t n sadece önceki terimlerin katlarına bağlı ise homojen (türdeş) olarak adlandırılır. t n = t n-1 + t n-2 homojen t n = 2t n-1 +1 homojen değildir. "+1" terimi t j katı değildir.

17 Karakteristik denklemler kullanarak özyinelemeleri çözme Yinelemeli bağıntıdaki terimlerin katsayıları sabit ise; sabit katsayılı homojen doğrusal yineleme formu aşağıdaki gibidir. c t n +c 1 t n-1 + +c k t n-k = Burada, t i : özyinelemeli bağıntının değerlerini, c i : sabit katsayılı terimlerini ifade eder. c i,reel sayılardır ve c i. k : ise özyinelemeli bağıntının derecesidir.

18 Karakteristik denklemler kullanarak özyinelemeleri çözme Doğrusal özyinelemelerde t i+j, t i2 şeklinde terimler bulunmaz. Öz yineleme homojendir, çünkü t i nin doğrusal kombinasyonundan dolayı (sıfır) a eşittir. Bu öz yinelemeler k başlangıç koşullarını içerir. t n =c t 1 =c 1 t k =c k Fibonacci dizisi için özyineleme f n =f n-1 +f n-2, f n -f n-1 -f n-2 =, burada k=2, c =1 ve c 1 = c 2 = -1 dir.

19 Karakteristik denklemler kullanarak özyinelemeleri çözme Sabit katsayılı homojen doğrusal yineleme bağıntılarını çözmek için basit bir yöntem vardır. Bu yöntem; k bir sabit olmak üzere, t k = x k ; t n =c 1 t n-1 +c 2 t n-2 + +c k t n-k nın bir çözümü kabul edilir ve bağıntıda yerine konulursa x n =c 1 x n-1 + c 2 x n-2 + +c k x n-k elde edilir. Burada, x bilinmeyen bir sabit ve x dır. Bu ifadenin her iki yanını x n-k ile bölersek: x k -c 1 x k-1 -c 2 x k-2 - -c k = bulunur ve derecesi k olan ve genelde k adet kökü olan bu polinoma yineleme bağıntısının karakteristik denklemi (characteristic equation) adı verilir. Bu denklemin kökü birden fazla veya karmaşık olabilir.

2 Karakteristik denklemler kullanarak özyinelemeleri çözme

21 Karakteristik denklemler kullanarak özyinelemeleri çözme t n için genel çözümü yaz

22 Karakteristik denklemler kullanarak özyinelemeleri çözme

23 Karakteristik denklemler kullanarak özyinelemeleri çözme

24 Karakteristik denklemler kullanarak özyinelemeleri çözme

25 Karakteristik denklemler kullanarak özyinelemeleri çözme

26 Karakteristik denklemler kullanarak yinelemeleri çözme Homojen Olmayan Yineleme Bağıntıları t n sadece önceki terimlerin katlarına bağlı değil ise homojen olmayan bağıntı olarak adlandırılır. t n = t n-1 + t n-2 homojen t n = 2t n-1 +1 homojen değildir. "+1" terimi t j katı değildir. Yinelemeli bağıntıların genel formu c t n +c 1 t n-1 + +c k t n-k =f(n) şeklinde ifade edilir. f(n) = eşit ise homojen, sıfırdan farklı ise homojen olmayan yinelemeli bağıntıdır. f(n) = b n p(n) şeklinde ifade edilirse b sıfırdan farklı bir sabiti p(n) ise d. dereceden n nin bir polinomudur.

27 Karakteristik denklemler kullanarak yinelemeleri çözme Örnek: Aşağıda verilen reküransı çözünüz t n - 2t n-1 = 3 n burada b=3, p(n) d =1 ve polinom derecesi d= dır. İlk olarak her iki tarafı 3 ile çarpalım: 3t n - 6t n-1 = 3 n+1 Eğer n, n+1 ile yer değiştirirsek: t n+1-2t n = 3 n+1 denklemini elde ederiz. Her iki denklemi bir birinden çıkarırsak yeni denklem t n+1-5t n + 6t n-1 = olur.

28 Karakteristik denklemler kullanarak yinelemeleri çözme Homojen durumda olduğu gibi çözüm yaparsak karakteristik denklem x 2-5x+6 =, (x-2)(x-3)= Dikkat edilecek olursa (x-2) değeri orijinal rekürans ta sol tarafı, x-3 ise sağ taraftaki polinomu ifade etmekte. Buna göre karakteristik denklemin basit genel formunu aşağıdaki şekilde ifade edebiliriz: (c x k +c 1 x k-1 +c 2 x k-2 + +c k )(x-b) d+1 =, burada d, p(n) polinomunun derecesidir. Bu denklem elde edildikten sonra homojen durumunda olduğu gibi çözüm yapılır.

29 Karakteristik denklemler kullanarak yinelemeleri çözme

3 Karakteristik denklemler kullanarak yinelemeleri çözme c t n +c 1 t n-1 + +c k t n-k =b n p(n) homojen olmayan denklemler için verilen basit genel formu daha da genelleştirirsek c t n +c 1 t n-1 + +c k t n-k =b 1n p 1 (n)+b 2n p 2 (n)+ formunu elde ederiz. Buna göre karakteristik denklem: (c x k +c 1 x k-1 +c 2 x k-2 + +c k )(x-b 1 ) d1+1 (x-b 2 ) d2+1 =,

31 Karakteristik denklemler kullanarak yinelemeleri çözme d 1 =1,d 2 =

32 Karakteristik denklemler kullanarak yinelemeleri çözme Çözüm yolu: Gaus yok etme yöntemi, bilinmeyenlerin ileriye doğru elenmesi. İlk adım ilk bilinmeyeni (c 1 ), 2. denklemden n. Denkleme kadar elemektir. 2.denklem a 21 -(a 21 /a 11 )*a 11 + a 22 -(a 21 /a 11 )*a 12 +..+ a 2n -(a 21 /a 11 )*a 1n = c 2 -(a 21 /a 11 )*c 1 3. denklem a 31 -(a 31 /a 11 )*a 11 + a 32 -(a 31 /a 11 )*a 12 +..+ a 3n -(a 31 /a 11 )*a 1n = c 3 -(a 31 /a 11 )*c 1 n.denklem a n1 -(a n1 /a 11 )*a 11 + a n2 -(a n1 /a 11 )*a 12 +..+ a nn -(a n1 /a 11 )*a 1n = c n -(a n1 /a 11 )*c 1 Buna göre ilk durumda matrisimiz 1 1 1 1 1 2 3 1 2 2 4 8 8 24 c 1 c 2 c 3 c 4 = 3 12 35 1 1 2 3 1 1 3 7 2 8 24 c 1 c 2 c 3 c 4 = 3 12 35

Karakteristik denklemler kullanarak yinelemeleri çözme 33 İkinci adım ikinci bilinmeyeni (c 2 ), 3. denklemden n. denkleme kadar elemektir. 3.denklem a 32 -(a 32 /a 22 )*a 22 + a 33 -(a 32 /a 22 )*a 23 +..+ a 3n -(a 32 /a 22 )*a 2n = c 3 -(a 32 /a 22 )*c 2 n.denklem a n2 -(a n2 /a 22 )*a 22 + a n3 - (a n2 /a 22 )* a 23 +..+ a nn -(a n2 /a 22 )*a 2n = c n - (a n2 /a 22 )* c 2 1 1 2 3 1 1 2 3 8 7 24 c 1 c 2 c 3 c 4 = 3 12 35 1 1 1 1 1 4 2 4 18 c 1 c 2 c 3 c 4 = 3 6 26

34 Karakteristik denklemler kullanarak yinelemeleri çözme Diğer adımlarda benzer şekilde yapılır. 1 1 1 1 2 1 4 4 18 c 1 c 2 c 3 c 4 = 3 6 26 1 1 1 1 1 2 4 2 c 1 c 2 c 3 c 4 = 3 6 2 c 4 = 1, c 3 = 2, c 2 = 1, c 1 = 2 olur. T n = 2 n + 2 n+2 + n2 n T(n) θ(n2 n )

35 Karakteristik denklemler kullanarak yinelemeleri çözme

36 Karakteristik denklemler kullanarak yinelemeleri çözme 2

37 Karakteristik denklemler kullanarak yinelemeleri çözme

38 Karakteristik denklemler kullanarak yinelemeleri çözme Aralık dönüşümleri (Range Transformations): Yinelemelerin çözümünde değişkenlerin değişimi yerine bazen aralık dönüşümü kullanmak daha faydalı olabilir. Örnek: T(n)= nt(n/2) 2, n>1, T(1)=6 n, değerini 2 k (burada k=logn dir) ile yer değiştirirsek T(2 k )=2 k T(2 k-1 ) 2, elde ederiz. t k =T(2 k ) =T(n) ise, t k =2 k t 2 k-1, k> için t =6 İlk bakışta gördüğümüz tekniklerin hiç biri bu yineleme için uygulanamaz çünkü hem doğrusal değil, hem de katsayılardan biri sabit değildir. Aralık dönüşümü yapmak için V k =log t k koyarak yeni bir yineleme oluşturulur.

39 Karakteristik denklemler kullanarak yinelemeleri çözme

4 Karakteristik denklemler kullanarak yinelemeleri çözme

41 Böl-ve-Fethet (Divide & Conquer) Böl ve fethet tekniğiyle algoritma tasarımı: Problem kendisine benzer küçük boyutlu alt problemlere bölünür. Alt problemler çözülür ve bulunan çözümler birleştirilir. Divide: Problem iki veya daha fazla alt problemlere bölünür. Conquer: Alt problemleri özyinelemeli olarak çözüp, onları fethet. Combine: Alt problem çözümlerini birleştir.

Merge Sort (Birleştirme sıralaması) Algoritması 1. Böl: Eğer S en az iki elemana sahipse (S sıfır veya bir elemana sahipse hiçbir işlem yapılmaz), bütün elemanlar S 'e n alınır ve S 1 ve S 2 adlı iki alana yerleştirilir, her biri S dizisinin yarısına sahiptir, (örn. S 1 ilk n/2 elemana ve S 2 ise ikinci n/2 elemana sahiptir). 2. Fethet: S 1 ve S 2 Merge Sort kullanılarak sıralanır. 3. Birleştir: S 1 and S 2 içindeki sıralı elemanlar tekrar S içerisine tek bir sıralı dizi oluşturacak şekilde aktarılır. 42

43 Birleştirme sıralaması 1. Bölmek: Kolay. 2. Hükmetmek: 2 alt dizilimi özyinelemeli sıralama. 3. Birleştirmek: Doğrusal-zamanda birleştirme.

Master teoremi (hatırlatma) 44

45 İkili arama (Binary Search) Sıralı dizilimin bir elemanını bulma: 1. Böl: Orta elemanı belirle. 2. Hükmet: 1 alt dizilimde özyinelemeli arama yap. 3. Birleştir: Kolay. Örnek: 9' u bul.

İkili arama (Binary Search) 46

İkili arama için yineleme 47

48 Bir sayının üstellenmesi Problem: a n 'yi n N iken hesaplama. Saf (Naive) algorithm: Θ(n). Böl-ve-fethet algoritması:

Fibonacci sayıları 49

5 Fibonacci sayılarını hesaplama

51 Özyineleme ile kare alma (Recursive squaring)

52 Özyineleme ile kare alma (Recursive squaring)

53 Matrislerde çarpma

54 Matrislerde çarpma Standart algoritma

Böl-ve-fethet algoritması 55

56 Böl-ve-Fethet algoritmasının çözümlemesi

57 Strassen in fikri 2 2 matrisleri yalnız 7 özyinelemeli çarpmayla çöz.

58 Strassen in fikri 2 2 matrisleri yalnız 7 özyinelemeli çarpmayla çöz.

59 Strassen in algoritması 1. Böl: A ve B'yi (n/2) (n/2) altmatrislere böl. + ve kullanarak çarpılabilecek terimler oluştur. (Θ(n 2 )) 2. Fethet: (n/2) (n/2) altmatrislerde özyinelemeli 7 çarpma yap (P 1, P 2, P 3, P 7.) 3. Birleştir: + ve kullanarak (n/2) (n/2) altmatrislerde C 'yi oluştur. (Θ(n 2 )) T(n) = 7 T(n/2) + Θ(n 2 )

6 Strassen in algoritması 2.81 değeri 3' den çok küçük görünmeyebilir ama, fark üstelde olduğu için, yürütüm süresine etkisi kayda değerdir. Aslında, n 32 değerlerinde Strassen in algoritması günün makinelerinde normal algoritmadan daha hızlı çalışır. Bugünün en iyi değeri (teorik merak açısından): Θ(n 2.376 )

Böl ve Fethet VLSI (Very Large Scale Integration) yerleşimi (Çok Büyük Çapta Tümleşim) Bilgisayar çipleri yada yongaları bildiğiniz gibi çok büyük çapta tümleşim kullanırlar. Elimizde bir devre olduğunu düşünelim ve bu devrenin de bir ikili ağaç olduğunu kabul edelim. Ama şimdilik bu devrenin bir kısmını ele alalım ama siz bunu tüm devre kabul edin. 61 Problem: n yaprağı olan tam bir ikili ağacı en az alan kullanarak bir ızgaraya gömmek.

VLSI (Very Large Scale Integration) yerleşimi (Çok Büyük Çapta Tümleşim) 62 Problem: n yaprağı olan tam bir ikili ağacı en az alan kullanarak bir ızgaraya gömmek.

H-ağacını gömme 63

64 Sonuç Böl ve Fethet algoritma tasarımının güçlü tekniklerinden sadece biridir. Böl ve Fethet algoritmaları yinelemeler ve Ana (Master) metot kullanarak çözümlenebilir. Böl ve Fethet stratejisi genellikle verimli algoritmalara götürür.

65 Ortak Reküranslar Rekürans İlişkisi Kapalı Form Örnek c(1) = a c(n) = b + c(n-1) c(n) = O(n) Linear search c(n) = b*n + c(n-1) c(n) = O(n 2 ) Quicksort c(n) = b + c(n/2) c(n) = O(log(n) Binary search c(n) = b*n + c(n/2) c(n) = b + kc(n/k) c(n) = O(n) c(n) = O(n) c(n) = b*n + 2c(n/2) c(n) = O(nlog(n)) Mergesort c(n) = b*n + kc(n/k) c(n) = O(nlog(n) c(2) = b c(n) = c(n-1) + c(n-2) + d c(n) = O(2n ) Fibonacci

66 Sorular 1.T(n)=3T( 2n )+2 tekrarlı bağıntısını çözünüz. 2. T(n)=3T( n/5 )+n tekrarlı bağıntısının çözümünü iteratif yolla gerçekleştiriniz. Bu bağıntının Özyineleme ağacı nedir? 3. Özyineleme ağacını kullanarak T(n)=T(n/3)+T(2n/3)+n bağıntısının çözümünü elde ediniz. 4. b 1 bir sabit olmak üzere T(n)=T(n/b)+T(b)+n tekrarlı bağıntısının Özyineleme ağacını elde ediniz ve bu bağıntının çözümü nedir? 5. <a<1 sabit olmak üzere T(n)=T(an)+T((1-a)n)+n tekrarlı bağıntısının Özdevinim ağacını elde ediniz ve asimptotik davranışı hakkında bilgi veriniz.

67 Sorular 6. a)t n = nt n + n çalışma zamanı mertesbesininin O(nloglogn) olduğunu iterasyon veya öz yineleme ağacı ile bulunuz. b) T n = nt n/2 + n 7. Master yöntemini kullanarak aşağıdaki tekrarlı bağıntıları çözünüz. a) T(n)=3T(n/3)+n b)t(n)=3t(n/3)+n 2 c) T(n)=3T(n/3)+n 3 d) T(n)=3T(n/3)+n k 8. Aşağıdaki tekrarlı bağıntı verilmiş olsun. T(n)=2T(n/3)+lg(n) a) İteratif yöntem ile bu bağıntının mertebesini (çalışma zamanını) elde ediniz. b) Master yöntemi ile bu bağıntının mertebesini (çalışma zamanını) elde ediniz.

68 Sorular 9. Aşağıdaki tekrarlı bağıntıları karakteristik denklem ve üreten fonksiyon yöntemleri ile çözünüz. a) a n =5a n-1-6a n-2, a 1 =36 ve a = b) a n =3a n-1-2a n-2 +2 n-1 +2.3 n, a 1 =29 ve a =9 c) a n =a n-2 +4n, a 1 =4 ve a =1 d) a n =3a n-1-2a n-2 +3.2 2n-1, a 1 =12 ve a = 1. Master teoremini kullanarak aşağıdaki bağıntının mertebesini (çalışma zamanını) elde ediniz. T(n)=16T(n/4)+O(n 2 ) 11. f(n)=n 2 +4nlogn+9 ve g(n)=n 2 +45logn+h(n) fonksiyonları verilmiştir ve h(n) lineer olan bir polinomdur. f(n) ile g(n) arasındaki asimptotik ilişki nedir? f(n) ve g(n) arasındaki asimptotik ilişkiyi belirlerken h(n) polinomuna ihtiyaç var mıdır? Hangi durumlarda ihtiyaç duyulur veya duyulmaz?

4.Hafta Sıralama Algoritmaları Çabuk Sıralama, Rastgele Algoritmalar 69