P (n+1) - Uluslararası Bilgisayar Enstitüsü
Download
Report
Transcript P (n+1) - Uluslararası Bilgisayar Enstitüsü
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
2
İ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?
3
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)
4
MATEMATİKSEL TÜMEVARIM
•
P (0)
Böylece önermelerin sırası görsel olarak:
P (1)
P (2)
P (n)
P (n+1)
…
5
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
L14
6
MATEMATİKSEL TÜMEVARIM
•
Dominoların iki kısıtlamayı karşıladığını
farz edelim:
1. İyi-pozisyonlu: Eğer herhangi bir domino
yıkılırsa, sonraki domino da yıkılmalıdır.
P (n)
P (n+1)
2. İlk domino sağa yıkılmaktadır.
P (0)
true
7
MATEMATİKSEL TÜMEVARIM
•
Dominoların iki kısıtlamayı karşıladığını
farz edelim:
1. İyi-pozisyonlu: Eğer herhangi bir domino
yıkılırsa, sonraki domino da yıkılmalıdır.
P (n)
true
P (n+1)
true
2. İlk domino sağa yıkılmaktadır.
P (0)
true
8
MATEMATİKSEL TÜMEVARIM
•
P (0)
Böylece tüm dominoların yıkılacağı
sonucu çıkar.
P (1)
P (2)
P (n)
P (n+1)
…
L14
9
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)
…
L14
10
MATEMATİKSEL TÜMEVARIM
•
Böylece tüm dominoların yıkılacağı
sonucu çıkar.
P (1)
P (0)
true
L14
P (2)
P (n)
P (n+1)
…
11
MATEMATİKSEL TÜMEVARIM
•
Böylece tüm dominoların yıkılacağı
sonucu çıkar.
P (2)
P (0)
true
L14
P (1)
true
P (n)
P (n+1)
…
12
MATEMATİKSEL TÜMEVARIM
•
Böylece tüm dominoların yıkılacağı
sonucu çıkar.
P (n)
P (0)
true
L14
P (1)
true
P (2)
true
P (n+1)
…
13
MATEMATİKSEL TÜMEVARIM
•
Böylece tüm dominoların yıkılacağı
sonucu çıkar.
P (n)
P (0)
true
L14
P (1)
true
P (2)
true
P (n+1)
…
14
MATEMATİKSEL TÜMEVARIM
•
Böylece tüm dominoların yıkılacağı
sonucu çıkar.
P (n+1)
P (0)
true
L14
P (1)
true
P (2)
true
…
P (n)
true
15
MATEMATİKSEL TÜMEVARIM
•
Böylece tüm dominoların yıkılacağı
sonucu çıkar.
P (0)
true
L14
P (1)
true
P (2)
true
…
P (n)
true
P (n+1)
true
16
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.
P(0)
P(n) P(n+1)
x P(x)
• Hipotezler:
• H1: P(0), Temel Adım
• H2: P(n) P(n+1),
Tümevarım Adımı
•
Tümevarım adımının ispatında
doğrudan ispat yöntemi kullanılır.
17
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
+9
=52
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
=62
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.
n
(2i 1) n
2
i 1
1. Temel Adım: n’nin en küçük değeri için önermenin
doğruluğunun gösterilmesi.
0
(2i 1) 0
i 1
2
•
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.
2. Tümevarım Adımı:
eğer bildirim n için geçerliyse, n+1
için de bildirimin geçerliliğinin gösterilmesi.
n 1
n
i 1
i 1
(2i 1) (2i 1) [2(n 1) 1]
n 2 [2n 1]
(n 1) 2
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 2n serisini 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çin f0 = 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:
1. Temel: P(0),.. ihtiyaç duyulan tüm temel durumlar.
2. 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
• İspat.
fn = fn-1 + fn-2 f1 = f0 + f-1 f2 = f1 + f0
– Temel: n = 0 için f0 = 0 < 1 = 20
n = 1 için f1 = 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çin f0 = 0 < 1 = 20
n = 1 için f1 = 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.
1.İ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.
2.Ö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ğer w dizisi nin içinde ve a sembolü
nin içinde ise wa dizini 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:
w( ) P .
Eğer w P ise ( )w P , (w) P , ve
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ımlamalar
Geometrik Örnek
• Bir düzlemde n doğru ile gerçekleştirilebilecek
kesişim noktalarının maksimum sayısının
formülü?
41
Özyinelemeli Tanımlamalar
Geometrik Örnek
• Bir düzlemde n doğru ile gerçekleştirilebilecek
kesişim noktalarının maksimum sayısı:
f (1) = 0
42
Ö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
L14
43
Özyinelemeli Tanımlamalar
Geometrik Örnek
• Bir düzlemde n doğru ile gerçekleştirilebilecek
kesişim noktalarının maksimum sayısı:
f (3) = 3
L14
44
Özyinelemeli Tanımlamalar
Geometrik Örnek
• Bir düzlemde n doğru ile gerçekleştirilebilecek
kesişim noktalarının maksimum sayısı:
f (4) = 6
L14
45
Özyinelemeli Tanımlamalar
Geometrik Örnek
• Bir düzlemde n doğru ile gerçekleştirilebilecek
kesişim noktalarının maksimum sayısı:
f (5) = 10
L14
46
Özyinelemeli Tanımlamalar
Geometrik Ö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?
L14
47
Özyinelemeli Tanımlamalar
Geometrik Örnek
• Cevap:
f (n) = f (n-1) + (n –1)
• Soru: Kapalı bir formül nasıl bulabiliriz?
L14
48
•
L14
Özyinelemeli Tanımlamalar
Geometrik Ö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.
49
•
1.
L14
Özyinelemeli Tanımlamalar
Geometrik Ö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
50
•
1.
2.
L14
Özyinelemeli Tanımlamalar
Geometrik Ö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
f (n-1) = f (n-2) + n–2
51
•
1.
2.
3.
L14
TÜMEVARIM
Geometrik Ö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
f (n-1) = f (n-2) + n–2
(2)’yi (1)’in içine eklersek: f (n) = f (n-2) + n–2 + n–1
52
•
1.
2.
3.
4.
L14
TÜMEVARIM
Geometrik Ö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
f (n-1) = f (n-2) + n–2
(2)’yi (1)’in içine eklersek: f (n) = f (n-2) + n–2 + n–1
İşlemi tekrar edersek, f (n-2) için eklersek:
f (n) = f (n-3) + n-3 + n–2 + n–1
53
•
1.
2.
3.
4.
5.
L14
Özyinelemeli Tanımlamalar
Geometrik Ö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
f (n-1) = f (n-2) + n–2
(2)’yi (1)’in içine eklersek: f (n) = f (n-2) + n–2 + n–1
İşlemi tekrar edersek, f (n-2) için eklersek:
f (n) = f (n-3) + n-3 + n–2 + n–1
İşlemi i defa tekrar edersek:
f (n) = f (n-i) + n-i + … + n-3 + n–2 + n–1
54
Özyinelemeli Tanımlamalar
Geometrik Örnek
1.
2.
3.
4.
f (n) = f (n-1) + n–1
5.
İşlemi i defa tekrar edersek:
f (n) = f (n-i) + n-i + … + n-3 + n–2 + n–1
6.
n = 1:
f (n) = f (1) + 1 + 2 + … + n-3 + n–2 + n–1
f (n-1) = f (n-2) + n–2
(2)’yi (1)’in içine eklersek: f (n) = f (n-2) + n–2 + n–1
İşlemi tekrar edersek, f (n-2) için eklersek:
f (n) = f (n-3) + n-3 + n–2 + n–1
=
L14
( n 1)n
0 i 1 i
2
n 1
55
Özyineleme Devam
• Ek Notlar ve Özyinelemeli algoritmalar.