Introduction to Algorithms (2nd edition)

Slides:



Advertisements
Benzer bir sunumlar
Karmaşıklık Giriş.
Advertisements

Karmaşıklık Giriş.
Ayrık Yapılar Algoritma Analizi.
LİMİT.
KÜMELER BİRLEŞİM KESİŞİM FARK.
Kofaktör Matrisler Determinantlar Minör.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
MATEMATİK ÖĞRENEBİLİR
TBF Genel Matematik II DERS – 8 : Çift Katlı İntegral
DERS : KONU : DERS ÖĞ.: MATEMATİK SÜREKLİLİK.
ÖNERME ANALİZİ VE YÜKLEM MANTIĞI Yılmaz KILIÇASLAN.
Algoritmalar En kısa yollar I En kısa yolların özellikleri
Algoritmalar DERS 2 Asimptotik Notasyon O-, Ω-, ve Θ-notasyonları
ÖZEL TANIMLI FONKSİYONLAR
RASYONEL SAYILAR.
Sorting Methods Basics of Sorting Elementary Sorting Algorithms
Prof. Dr. Halil İbrahim Karakaş
FONKSİYONLAR ve GRAFİKLER
ÖĞRENCİNİN; ADI: SOYADI: ÖĞETMENİN;
TBF Genel Matematik I DERS – 3 : Limit ve Süreklilik
BAĞINTI T ANIM: Boş olmayan A ve B kümeleri için, A×B nin her alt kümesine, Adan B ye bir bağıntı denir.A×B nin her alt kümesine de A dan A ya bir bağıntı.
Algoritmalar Ders 14 En Kısa Yollar II Bellman-Ford algoritması
Batuhan Özer 10 - H 292.
TBF - Genel Matematik I DERS – 8 : Grafik Çizimi
KESİRLİ FONKSİYONLARIN GRAFİKLERİ
HER ÖĞRENCİ MATEMATİK ÖĞRENEBİLİR MURAT GÜNER ATAŞEHİR
İŞLEM TANIM: A boş olmayan bir küme olmak üzere,A×A nın bir R alt kümesinden A ya tanımlanan her fonksiyona, işlem denir.İşlemi tanımlarken,’’
FONKSİYONLARIN GRAFİKLERİ
BİRİNCİ DERECEDEN BİR BİLİNMEYENLİ EŞİTSİZLİKLER
FONKSİYONLAR.
YMT219: Veri Yapıları Ders Saatleri: Pazartesi 9:15-12, 17:30-20:15
DOĞRUSAL DENKLEM SİSTEMLERİ ve MATRİSLER
KONU: FONKSİYONLARIN LİMİTİ
TEMEL KAVRAMLAR.
TEK FONKSİYON-ÇİFT FONKSİYON
FONKSİYON TARİHİ FONKSİYON
10-14 Şubat Fonksiyonların Grafiği
BAĞINTI & FONKSİYONLAR.
TAM SAILAR İÇİNDEKİLER TAM SAYI KAVRAMI MUTLAK DEĞER
İçinde değişken bulunduran ifadelere cebirsel ifadeler denir. Örnek: 3x+1, 6x²+23x+7, 2xy+y gibi….
İÇİNDEKİLER: TÜREV KAVRAMI TÜREV ALMA KURALLARI FONKSİYON TÜREVLERİ TÜREV UYGULAMALARI.
MATEMATİK DÖNEM ÖDEVİ.
Tanım: Bir x 0  A = [a,b] alalım. f : A  R ye veya f : A -{x 0 }  R ye bir Fonksiyon olsun Terimleri A - {x 0 } Cümlesine ait ve x 0 ’a yakınsayan.
Geçen hafta anlatılanlar Değişmez küme Değişmez kümelerin kararlılığı Bildiğimiz diğer kararlılık tanımları ve değişmez kümenin kararlılığı ile ilgileri.
Dinamik sistemin kararlılığını incelemenin kolay bir yolu var mı? niye böyle bir soru sorduk? Teorem 1: (ayrık zaman sisteminin sabit noktasının kararlılığı.
İLERİ GERİ Sayfa:2 GERİ Tanım: Bir x 0  A = [a,b] alalım. f : A  R ye veya f : A -{x 0 }  R ye bir Fonksiyon olsun Terimleri A - {x 0 } Cümlesine.
Bir örnek : Sarkaç. Gradyen Sistemler E(x)’in zamana göre türevi çözümler boyunca Gradyen sistemlere ilişkin özellikler Teorem 6: (Hirsh-Smale-Devaney,
Algoritma Analizi Algoritma Algoritma bir problemi çözmek için izlenen komutlar kümesidir. Verilen bir problemin birden fazla çözümü dolayısıyla.
ALGORİTMA KARMAŞIKLIĞI
Bölüm10 İteratif İyileştirme Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Dinamik Sistem Dinamik sistem: (T, X, φt ) φt : X X a1) φ0=I
Özdeğerler, Sıfırlar ve Kutuplar
Insertion Sort Fikir: Oyun kartlarını sıralamaya benzer.
TBF Genel Matematik II DERS – 8 : Doğrusal Eşitsizlikler
İleri Algoritma Analizi
İleri Algoritma Analizi
İleri Algoritma Analizi
Diziler.
TÜREV ve TÜREV UYGULAMALARI
İleri Algoritma Analizi
Chapter 6 Dönüştür ve Yönet (Transform-and-Conquer)
İleri Algoritma Analizi
NİŞANTAŞI ÜNİVERSİTESİ
İleri Algoritma Analizi
NİŞANTAŞI ÜNİVERSİTESİ
Konu : Fonksiyonların Lİmiti
TBF Genel Matematik II DERS – 8 : Doğrusal Eşitsizlikler
Rekürensler Rekürens aranan fonksiyonun ve onun daha önceki girişlerdeki değerinin bir arada bulunduğu denklem veya eşitsizliktir. Örneğin, MERGE-SORT.
Sunum transkripti:

Introduction to Algorithms (2nd edition) by Cormen, Leiserson, Rivest & Stein Bölüm 3 : Fonksiyonların artışı

Asimptotik karmaşıklık Giriş değişkenlerinin sayısı çok fazla ise algoritmanın çalışma zamanı Kesin çalışma zamanının baş terimi ile ifade edilir. Kesin çalışma zamanı yerine, örneğin Q(n2) Fonksiyonların limit durumundaki davranışını ifade eder Asimtotik kavramlar yardımıyla ifade edilir.

Asimptotik kavramlar Q, O, W, o, w Bu kavramlar doğal sayılar kümesinde tanımlı fonksiyonlar için tanımlanmıştır. Örnek: f(n) = Q(n2). f(n) ile n2 nin artışlarını karşılaştırıyor Fonksiyonlar kümesi tanımlarlar, ama pratikte 2 fonksiyonu karşılaştırmak için kullanılır.

-kavramı g(n) fonksiyonu için, (g(n)) aşağıdaki gibi tanımlanır: (g(n)) = {f(n):  c1, c2 pozitif sabitleri ve n0 sabiti vardır ki 0  c1g(n)  f(n)  c2g(n), n  n0 } g(n) fonksiyonu ile aynı tür artan fonksiyonlar kümesidir g(n) fonksiyonu f(n) için asimptotik sıkı sınırdır

O -kavramı g(n) fonksiyonu için, O(g(n)) aşağıdaki gibi tanımlanır: O(g(n)) = {f(n):  pozitif c ve n0 sabitleri vardır ki 0  f(n)  cg(n), n  n0 } Artış hızları g(n) ile aynı veya daha az olan fonksyonların kümesidir g(n) fonksiyonu f(n) için asimptotik üst sınırdır. f(n) = (g(n))  f(n) = O(g(n)). (g(n))  O(g(n)).

 -kavramı g(n) fonksiyonu için, (g(n)) aşağıdaki gibi tanımlanır: (g(n)) = {f(n):  pozitif c ve n0 sabitleri vardır ki 0  cg(n)  f(n), n  n0 } Artış hızı g(n) fonksiyonu ile aynı veya daha çok fonksiyonlar kümesidir g(n) fonksiyonu f(n) için asimptotik alt sınırdır f(n) = (g(n))  f(n) = (g(n)). (g(n))  (g(n)).

Q, O, W

Üst Sınır Kavramı InsertionSort un çalışma zamanı O(n2) Formal olarak Daha doğrusu çalışma zamanı O(n2) içindedir “Büyük-O” diye okunur f(n) O(g(n)) dir eğer pozitif c ve n0 sabitleri varsa ki f(n)  c  g(n) her n  n0 Formal olarak O(g(n)) = { f(n):  pozitif c ve n0 sabitleri vardır ki f(n)  c  g(n)  n  n0}

Insertion Sort O(n2) dir ispat Çalışma zamanı an2 + bn + c idi Eğer a, b, ve c 0 dan küçükse bu sabitleri onların mutlak değerleri ile değiştiririz an2 + bn + c  (a + b + c)n2 + (a + b + c)n + (a + b + c)  3(a + b + c)n2 her n  1 c’ = 3(a + b + c) ve n0 = 1 olsun InsertionSort O(n3) müdür? InsertionSort O(n) midir?

Büyük O gerçeği k dereceli bir polinom O(nk) dır. ispat: f(n) = bknk + bk-1nk-1 + … + b1n + b0 ai = | bi | olsun f(n)  aknk + ak-1nk-1 + … + a1n + a0

Alt Sınır Kavramı InsertionSort’un çalışma zamanı (n) dur. İspat: f(n) fonksiyonu (g(n)) dir eğer  pozitif c ve n0 sabitleri vardır ki 0  cg(n)  f(n)  n  n0 İspat: En iyi durumda çalışma süresi an + b olsun. a ve b pozitif olsun ( b negatif olursa?) an  an + b

Asimptotik sıkı sınır f(n) fonksiyonu (g(n)) dir eğer  pozitif c1, c2, ve n0 sabitleri varsa ki c1 g(n)  f(n)  c2 g(n)  n  n0 Teorem f(n) fonksiyonu (g(n)) dir ancak ve ancak f(n) fonksiyonu O(g(n)) ve (g(n)) dir

Pratik Karmaşıklık

Pratik karmaşıklık

Pratik Karmaşıklık

Pratik Karmaşıklık

Diğer asimptotik kavramlar f(n) fonksiyonu o(g(n)) dir eğer her c>0 için öyle bir n0 >0 sabiti vardır ki 0≤f(n) < c g(n)  n  n0 f(n) fonksiyonu (g(n)) dur eğer her c>0 için öyle n0 >0 sabiti vardır ki c g(n) < f(n)  n  n0 o() benzerdir < O() benzerdir  () benzerdir > () benzerdir  () benzerdir =

Θ-kavramı Θ(g(n)) = { f(n) : ∃c1, c2 > 0, n0 > 0 s.t. ∀n ≥ n0: c1 · g(n) ≤ f(n) ≤ c2 ⋅ g(n) } f c1 ⋅ g n0 c2 ⋅ g

O-Kavramı O(g(n)) = { f(n) : ∃c > 0, n0 > 0 s.t. ∀n ≥ n0: f(n) ≤ c ⋅ g(n) } f c ⋅ g n0

Ω-Kavramı Ω(g(n)) = { f(n) : ∃c > 0, n0 > 0 s.t. ∀n ≥ n0: f(n) ≥ c ⋅ g(n) } f c ⋅ g n0

o-kavramı o(g(n)) = { f(n) : ∀c > 0 ∃n0 > 0 s.t. ∀n ≥ n0: f(n) ≤ c ⋅ g(n) } f c1 ⋅ g n1 c2 ⋅ g c3 ⋅ g n2 n3

ω-kavramı ω(g(n)) = { f(n) : ∀c > 0 ∃n0 > 0 s.t. ∀n ≥ n0: f(n) ≥ c ⋅ g(n) } f c1 ⋅ g n1 c2 ⋅ g c3 ⋅ g n2 n3

Özellikler Geçişkenlik f(n) = O(g(n)) and g(n) = O(h(n)) ⇒ f(n) = O(h(n)) f(n) = Ω(g(n)) and g(n) = Ω(h(n)) ⇒ f(n) = Ω(h(n)) f(n) = Θ(g(n)) and g(n) = Θ(h(n)) ⇒ f(n) = Θ(h(n)) f(n) = O(f(n)) f(n) = Ω(f(n)) f(n) = Θ(f(n)) Geçişkenlik Yansıma

Özellikler f(n) = Θ(g(n)) ⇐⇒ g(n) = Θ(f(n)) Simetri f(n) = O(g(n)) ⇐⇒ g(n) = Ω(f(n)) f(n) = o(g(n)) ⇐⇒ g(n) = ω(f(n)) f(n) = O(g(n)) and f(n) = Ω(g(n)) ⇒ f(n) = Θ(g(n)) Simetri Devrik simetri Teorem

Asimptotik Analiz ve Limitler

Özellikler f1(n) = O(g1(n)) ve f2(n) = O(g2(n)) ⇒ f1(n) + f2(n) = O(g1(n) + g2(n)) f(n) = O(g(n)) ⇒ f(n) + g(n) = O(g(n))

Standart Fonksiyon Özellikleri Önemli bağıntılar a ve b reel sayıları için a>1, nb = o(an) yani her üstel fonksiyon her polinomdan daha hızlıdır. a ve b reel sayıları için a>0, lgbn = o(na) yani her polinom fonksiyonu her logaritmadan daha hızlıdır .

Standart fonksiyon özellikleri Faktorial n! = n  (n1)  (n  2)  (n  3)  …  2  1 n! = o(nn) n! = (2n)

Algoritmaların çalışma zamanları A algoritması B algoritmasından iyidir eğer TA(n) = o(TB(n)) Az sayıdaki verileri niye ihmal edebiliyoruz? Sabitler neden önemli değil? Asimptotik kavramlar bize ne kazandırır?