600 likes | 1.09k Views
Discrete Math and Its Application to Computer Science. UBİ 501 Lecture - 5 İlker Kocabaş E.Ü Uluslararası Bilgisayar Enstitüsü Bornova - İzmir. Akış . MATEMATİKSEL TÜMEVARIM İyi Sıralılık (İng. Well-ordering) kavramı Basit Tümevarım
E N D
Discrete Math and Its Application to Computer Science UBİ 501 Lecture - 5 İlker Kocabaş E.Ü Uluslararası Bilgisayar Enstitüsü Bornova - İzmir
Akış MATEMATİKSEL TÜMEVARIM İyi Sıralılık (İng. Well-ordering) kavramı Basit Tümevarım Bütünsel/Güçlü Tümevarım (İng.Complete/Strong Induction) ÖZYİNELEMELİ (İNG. RECURSİVE) TANIMLAMALAR Yapısal Tümevarım ÖZYİNELEMELİ ALGORİTMALAR
İyi Sıralılık • Tanım:Bir S kümesinin eğer tüm alt-kümelerinde en küçük eleman tanımlanabiliyor ise bu küme iyi sıralı olmaktadır. • Örnekler: • N iyi sıralıdır. (≤ ilişkisi altında) • Herhangi sayılabilir sonsuz bir küme iyi sıralı olabilmektedir. Z tam sayılar kümesi gibi.. • Z ≤ ilişkisi altında iyi sıralı değildir? • [0 5] Real sayılar kümesi?
MATEMATİKSEL TÜMEVARIM • Kanıtlamak istediğimiz P(0), P(1),….,P(n) gibi sıralı önermeler olduğunu düşünelim. • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • P(0) = 0 • P(1) = 1, P(2) = 1+3 =4, P(3) = 1+3+5 = 9 gibi…. • Her bir önermeyi bir domino taşı olarak gösterebiliriz. P (n)
MATEMATİKSEL TÜMEVARIM • Böylece önermelerin sırası görsel olarak: P (0) P (1) P (2) P (n) P (n+1) …
MATEMATİKSEL TÜMEVARIM • Domino taşının sağa yıkılması, ilgili önermenin doğru olarak kabul edildiğini gösterir. P (n) P (n) true
MATEMATİKSEL TÜMEVARIM • Dominoların iki kısıtlamayı karşıladığını farz edelim: • İyi-pozisyonlu: Eğer herhangi bir domino yıkılırsa, sonraki domino da yıkılmalıdır. • İlk domino sağa yıkılmaktadır. P (n) P (n+1) P (0) true
MATEMATİKSEL TÜMEVARIM • Dominoların iki kısıtlamayı karşıladığını farz edelim: • İyi-pozisyonlu: Eğer herhangi bir domino yıkılırsa, sonraki domino da yıkılmalıdır. • İlk domino sağa yıkılmaktadır. P (n) true P (n+1) true P (0) true
MATEMATİKSEL TÜMEVARIM • Böylece tüm dominoların yıkılacağı sonucu çıkar. P (0) P (1) P (2) P (n) P (n+1) …
MATEMATİKSEL TÜMEVARIM • Böylece tüm dominoların yıkılacağı sonucu çıkar. P (0) P (1) P (2) P (n) P (n+1) …
MATEMATİKSEL TÜMEVARIM • Böylece tüm dominoların yıkılacağı sonucu çıkar. P (1) P (2) P (n) P (n+1) P (0) true …
MATEMATİKSEL TÜMEVARIM • Böylece tüm dominoların yıkılacağı sonucu çıkar. P (2) P (n) P (n+1) P (0) true P (1) true …
MATEMATİKSEL TÜMEVARIM • Böylece tüm dominoların yıkılacağı sonucu çıkar. P (n) P (n+1) P (0) true P (1) true P (2) true …
MATEMATİKSEL TÜMEVARIM • Böylece tüm dominoların yıkılacağı sonucu çıkar. P (n) P (n+1) P (0) true P (1) true P (2) true …
MATEMATİKSEL TÜMEVARIM • Böylece tüm dominoların yıkılacağı sonucu çıkar. P (n+1) P (0) true P (1) true P (2) true … P (n) true
MATEMATİKSEL TÜMEVARIM • Böylece tüm dominoların yıkılacağı sonucu çıkar. P (0) true P (1) true P (2) true … P (n) true P (n+1) true
BASİT TÜMEVARIM • Tümevarım Problemi:İyi sıralı bir S kümesi üzerinde tanımlanmış bir P(x) yüklemi için x P(x)’in doğruluğunu göstermek. • Hipotezler: • H1: P(0), Temel Adım • H2: P(n) P(n+1), Tümevarım Adımı P(0) P(n) P(n+1) x P(x) • Tümevarım adımının ispatında doğrudan ispat yöntemi kullanılır.
BASİT TÜMEVARIM • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Görsel Olarak:
BASİT TÜMEVARIM • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Görsel Olarak: 1 =12
BASİT TÜMEVARIM • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Görsel Olarak: 1 +3 =22
BASİT TÜMEVARIM • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Görsel Olarak: 1 +3 +5 =32
BASİT TÜMEVARIM • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Görsel Olarak: 1 +3 +5 +7 =42
BASİT TÜMEVARIM • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Görsel Olarak: 1 +3 +5 +7 =52 +9
BASİT TÜMEVARIM • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Görsel Olarak: 1 +3 +5 +7 +9 =62 +11
BASİT TÜMEVARIM • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Görsel Olarak: 1 +3 +5 +7 +9 +11 +13 = 72
BASİT TÜMEVARIM • Örnek: P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Temel Adım: n’nin en küçük değeri için önermenin doğruluğunun gösterilmesi. • Hiç bişeyin toplamı 0’dır!!!
BASİT TÜMEVARIM • Örnek:P(n) = pozitif ilk n tek sayının toplamı n’in tam karesidir. • Tümevarım Adımı: eğer bildirim n için geçerliyse, n+1 için de bildirimin geçerliliğinin gösterilmesi.
BASİT TÜMEVARIM • Örnek:3n + 5 = O(n2) olduğunu gösteriniz. • İspat: • 3n + 5 ≤ Cn2 , n ≥ k (Big-O tanımı) • C=1 için k=5. (n2-3n ≥ 5 = n(n-3) ≥ 5 → n ≥ 5 = k) • n (n ≥ 5 → 3n + 5 ≤ n2) tümevarım ile ispat edilir. • Temel: n = 5 için 3n + 5 ≤ n2 • Tümevarım: 3n + 5 ≤ n2 → 3(n+1) + 5 ≤ (n+1)2
BÜTÜNSEL(GÜÇLÜ) TÜMEVARIM • Örnek:Fibonacci serisini ve 2nserisini ele alalım. {fn} =0, 1, 1, 2, 3, 5, 8, 13, 21, 34 {2n} =1, 2, 4, 8, 16, 32, 64, 128, 256, 512 • LEMMA:Tüm n değerleri için ,fn < 2n
BÜTÜNSEL(GÜÇLÜ) TÜMEVARIM • LEMMA:Tüm n değerleri için ,fn < 2n • İspat. • Temel:n = 0 içinf0 = 0 < 1 = 20 • Tümevarım:n > 0 için hipotezi n-1 ile uygularsak fn= fn-1+fn-2 <2n-1+fn-2 Soru: Şimdi?
BÜTÜNSEL(GÜÇLÜ) TÜMEVARIM • Basit tümevarım veya tümevarımın 1. prensibi: • Sadece n’nin bir önceki değerini dikkate alır!!! • 1’den fazla değere ihtiyaç duyulan durumlar için tümevarımın daha güçlü bir versiyonuna ihtiyaç vardır. • 2. prensibi: • Temel:P(0),.. ihtiyaç duyulan tüm temel durumlar. • Bütünsel Tümevarım: n [P (0)P (1) … P (n)] P(n+1)
BÜTÜNSEL(GÜÇLÜ) TÜMEVARIM • LEMMA:Tüm n değerleri için ,fn < 2n • Tümevarım: n > 0 için fn= fn-1+fn-2 f1= f0+f-1 f2=f1+f0 • İspat. • Temel:n = 0 içinf0 = 0 < 1 = 20 n = 1 içinf1 = 1 < 2 = 21
BÜTÜNSEL(GÜÇLÜ) TÜMEVARIM • LEMMA:Tüm n değerleri için ,fn < 2n • İspat. • Temel:n = 0 içinf0 = 0 < 1 = 20 n = 1 içinf1 = 1 < 2 = 21 • Tümevarım: n > 0 için fn= fn-1+fn-2 <2n-1+ 2n-2=2.2n-2+ 2n-2 fn= 3.2n-2<222n-2 <2n
TÜMEVARIM TEHLİKELERİ • Örnek:P (n) = “n tane attan oluşan herhangi bir gruptaki tüm atlar aynı renkte olmalıdır. • İspat. • Temel: n=1 için bildirim doğru • Tümevarım: n için doğruyken n+1 için de doğru PROBLEM NEREDE?
Özyinelemeli Tanımlamalar • Kümelerin ve fonksiyonların özyinlemeli tanımlamaları benzerdir. • İlkleme (Temel) Adımı: • Kümeler için: Temel yapı bloklarının ifade edilmesi. • Fonksiyonlar için: Temel yapı bloklarındaki fonksiyon değerlerinin ifade edilmesi. • Özyineleme (Tümevarım) Adımı: • Kümeler için: Yeni elemanların eskilerden nasıl olacağının gösterilmesi. • Fonksiyonlar için: Yeni elemanların fonksiyon değerlerinin eski elamanların değerlerinden nasıl hesaplanacağının gösterilmesi.
Özyinelemeli Tanımlamalar • Küme Örnek: Sonlu bir alfabe () ile oluşturulan dizilerin kümesi. : Tüm dizilerin kümesi (Boş dizi da dahil!) • için özyinlemeli tanım: • İlkleme: boş dizisi nin içinde. • Özyineleme: Eğerwdizisi nin içinde veasembolü nin içinde ise wadizini nin içindedir.
Özyinelemeli Tanımlamalar • Küme Örnek (devam):ile oluşturulan nin özyinelemeli tanımı. Soru:= {a, b} olursa aab?
Özyinelemeli Tanımlamalar • Küme Örnek: Doğru oluşturulmuş parantezler dizilerinin kümesi P nin özyinelemeli tanımı. • için özyinlemeli tanım: • İlkleme: ( )P • Özyineleme: EğerwP ise ( )w P, (w) P, ve w( ) P. Soru:(( )( )) P ?
Özyinelemeli Tanımlamalar • Fonksiyon Örnek: Fibonacci serisi {fn } = 0,1,1,2,3,5,8,13,21,34,55,… • fn için özyinlemeli tanım: • İlkleme: f0= 0, f1 = 1 • Özyineleme: fn= fn-1+fn-2 ,n > 1.
Özyinelemeli Tanımlamalar • Fonksiyon Örnek: Faktoryal fonsiyon {fn } = n! = 1· 2· 3· 4 ···(n –2)·(n –1)·n • fn için özyinlemeli tanım: • İlkleme: f0= 0!= 1 • Özyineleme: fn= n != n ·(n -1)! = n · fn-1 ,n > 0.
Özyinelemeli TanımlamalarGeometrik Örnek • Bir düzlemde n doğru ile gerçekleştirilebilecek kesişim noktalarının maksimum sayısının formülü?
Özyinelemeli TanımlamalarGeometrik Örnek • Bir düzlemde n doğru ile gerçekleştirilebilecek kesişim noktalarının maksimum sayısı: f (1) = 0
Özyinelemeli Tanımlamalar Geometrik Örnek • Bir düzlemde n doğru ile gerçekleştirilebilecek kesişim noktalarının maksimum sayısı: f (2) = 1
Özyinelemeli TanımlamalarGeometrik Örnek • Bir düzlemde n doğru ile gerçekleştirilebilecek kesişim noktalarının maksimum sayısı: f (3) = 3
Özyinelemeli TanımlamalarGeometrik Örnek • Bir düzlemde n doğru ile gerçekleştirilebilecek kesişim noktalarının maksimum sayısı: f (4) = 6
Özyinelemeli TanımlamalarGeometrik Örnek • Bir düzlemde n doğru ile gerçekleştirilebilecek kesişim noktalarının maksimum sayısı: f (5) = 10
Özyinelemeli TanımlamalarGeometrik Örnek • Bir düzlemde n doğru ile gerçekleştirilebilecek kesişim noktalarının maksimum sayısınıf(n)ile gösterirsek: n = 1, 2, 3, 4, 5 f (n) = 0, 1, 3, 6, 10 • Soru:f (n)fonksiyonunu önceki terimleri kullanarak, yani özyineleme gösterimi ile tanımlayan bir formül?
Özyinelemeli TanımlamalarGeometrik Örnek • Cevap:f (n) = f (n-1) + (n –1) • Soru: Kapalı bir formül nasıl bulabiliriz?
Özyinelemeli TanımlamalarGeometrik Örnek • Cevap:Özyinelemeli formüle n’in daha küçük değerleri tekrarlı biçimde n=1’e (veya n’nin minimum değerine kadar) düşünceye kadar eklenir.
Özyinelemeli TanımlamalarGeometrik Örnek • Cevap:Özyinelemeli formüle n’in daha küçük değerleri tekrarlı biçimde n=1’e (n’nin min değerine kadar) düşünceye kadar eklenir. • f (n) = f (n-1) + n–1