Bilgisayar Bilimlerinin Kuramsal Temelleri UB 501 Discrete Math
Bilgisayar Bilimlerinin Kuramsal Temelleri “UBİ 501: Discrete Math and Its Application to Computer Science” 2015 Güz Dönemi İlker Kocabaş E. Ü Uluslararası Bilgisayar Enstitüsü Bornova - İzmir
Notlar • Web adresi: http: //www. ube. ege. edu. tr/~ikocabas • Ofis Saati : Çarşamba 15: 00 -17: 00 • Değerlendirme: • 9: 00 -9: 15 arası kısa sınav • Ara sınav (1 veya 2) • Final Sınavı
Akış • Mantık • Yüklemler & Niceleyiciler (Predicates & Quantifiers) • Çıkarsama (Inference) kuralları • Matematiksel İspatlar • İspat Yöntemleri ve Stratejileri
Mantık Önerme (Proposition) • Önerme : Doğru= T (or 1) veya Yanlış = F (or 0) (binary logic) • ‘Bugün dersim var. ’ – bildirim cümlesi • ‘Kapat kapıyı!’ X – emir cümlesi • ‘Saat kaç? ’ X – soru cümlesi • ‘X+1=2’ X – T? Veya F? • • Önerme değişkenleri: P, Q, R, S, . . . Yeni önermeler: Bileşik önermeler: Mantıksal işlemler ile var olan bir veya daha fazla önermeyi birleştirme
Mantıksal İşlemler Olumsuzlama (İng. Negation) • ‘not’ • Sembol: “ ” • Örnek: P: Okula gideceğim. P: Okula gitmeyeceğim. Q: I am going to school. Q: I am not going to school. • Doğruluk tablosu:
Mantıksal İşlemler Birleşme (İng. Conjuction) • “and”, “ve” • Sembol: “ ” • Örnek: P: Okula gideceğim. Q: Yağmur yağacak. P Q : Okula gideceğim ve yağmur yağacak. q. Doğruluk Tablosu
Mantıksal İşlemler Ayrılım (İng. Disjunction) • “or”, “veya” • Sembol: “ ” • Örnek: P: Okula gideceğim. Q: Yağmur yağacak. P Q : Okula gideceğim veya yağmur yağacak. q. Doğruluk Tablosu
Mantıksal İşlemler Exculsive OR • “either…. or …. ”, “ya… ya da …” • Sembol: “ ” • Örnek: P: Okula gideceğim. Q: Yağmur yağacak. P Q : Ya “okula gideceğim” ya da “yağmur yağacak”. q. Doğruluk Tablosu
Mantıksal İşlemler Şartlı Cümle (İng. Implication) • • • “If…. , then …. ”, “Eğer … ise …” Sembol: “ ” Örnek: P: Okula gideceğim. Q: Yağmur yağacak. P Q : Eğer “okula gidecek” isem, “yağmur yağacak”’tır. q. Doğruluk Tablosu q. Eğer 4<3 ise 1>4. (Doğru)
Mantıksal İşlemler Şartlı Cümle (İng. Implication) q. P Q : Eğer “okula gidecek” isem, “yağmur yağacak”tır. q Tersi (İng. Inverse) = P Q q. Eğer okula gitmeyecek isem, yağmur yağmayacaktır. q Karşıtı (İng. Converse) = Q P q. Eğer yağmur yağacak ise, okula gideceğim. q Ters Karşıtı (İng. Contrapositive) = Q P q. Eğer yağmur yağmayacak ise okula gitmeyeceğim.
Mantıksal İşlemler İki-koşullu (İng. Biconditional) • “If and only if”, “ancak ve ancak” • Sembol: “ ” • Örnek: P: Okula gideceğim. Q: Yağmur yağacak. P Q : Ancak ve ancak “okula gidecek” isem, “yağmur yağacak”’tır. q. Doğruluk Tablosu
Yüklemler ve Niceleyiciler Yüklemler • Yüklem : Önermelerin genel durumu – Değişken(ler) içeren önerme fonksiyonları • P(x): x > 0 ; U = {…. , -2, -1, 0, 1, 2, …. } = Z • U: Söylem Evreni ( İng. Universe of Discourse) • Yüklem → Önerme – Değişken(ler)’e değer atamak • P(2) : ‘ 2 > 0’ • P(-1) : ‘-1 > 0’ (T) (F) – Niceleyerek, değişkenin alabileceği değerleri kısıtlayarak • P(x) ; U = Z+ • P(x) ; U = Z- (T) (F)
Yüklemler ve Niceleyiciler • Niceleyici : Değişken değerleri kısıtlamaları • Evrensel Niceleyici ( ) – tüm x değerleri için P(x) = for all x, P(x) = x P(x) • Varoluşsal Niceleyici ( ) – Bazı x değerleri için P(x) = some of x, P(x) = x P(x) • Benzersizlik Niceleyicisi ( !) – Yalnızca bir x değeri için P(x) = For exactly one x, P(x) = !x P(x)
Yüklemler ve Niceleyiciler • Yüklem: – P(x) : x 2 < 10, U = {1, 2, 3 , 4} • Evrensel Niceleyici ( ) – x P(x) : (T/F)? – P(1) P(2) P(3) P(4) = P(1) P(2) P(3) F = F – Yanlış olduğunu ispat için tek bir karşıt örnek [P(4)] bulunması yeterlidir. • Varoluşsal Niceleyici ( ) – x P(x) : (T/F)? – P(1) P(2) P(3) P(4) = T – Doğru olduğunu ispat için tek bir örnek [P(1)] bulunması yeterlidir.
Yüklemler ve Niceleyicilerin Olumsuzlanması • Yüklem: – P(x) : x 2 < 10 ve P(x) : x 2 ≥ 10, U = {1, 2, 3 , 4} • Evrensel Niceleyici ( ) – x P(x) : “tüm x değerleri için P(x) [x 2 < 10]” durumu yoktur. – = ‘Bazı x değerleri için P(x) [x 2 ≥ 10] olmaktadır. ’ – x P(x) = [ P(x)] – x P(x) : “tüm x değerleri için P(x); yani [x 2 ≥ 10]” durumu vardır. ” – Not: x P(x) ≠ x P(x)
Yüklemler ve Niceleyicilerin Olumsuzlanması • Yüklem: – P(x) : x 2 < 10 ve P(x) : x 2 ≥ 10, U = {1, 2, 3 , 4} • Varoluşsal Niceleyici ( ) – – x P(x) : “bazı x değerleri için P(x) [x 2 < 10]” durumu yoktur. = ‘Hiçbir x değeri için P(x) [x 2 < 10]” durumu vardır. = ‘Tüm x değeri için P(x) [x 2 ≥ 10]” olmaktadır. ’ x P(x) = x [ P(x)] – x P(x) : “bazı x değerleri için P(x); yani [x 2 ≥ 10]” – Not: x P(x) ≠ x P(x)
Yüklemler ve Niceleyiciler Çoklu Niceleyiciler • Yüklem: – P(x, y) : x. y = 0, U = R – Q(x, y) : x/y = 1, U = • Okuma soldan sağa: – – • R x y P(x, y) : Tüm x ve y değerleri için x. y = 0 x y P(x, y) : Tüm x değerlerinde bazı y’ler için x. y = 0 x y P(x, y) : Bazı x değerlerinde tüm y’ler için x. y = 0 x y P(x, y) : Bazı x değerlerinde bazı y’ler için x. y = 0 (F) (T) (T) Yanlış! : x y Q(x, y) ↔ y x Q(x, y) – x y Q(x, y): Tüm x değerlerinde bazı y’ler için x/y = 1 – y x Q(x, y): Bazı y değerlerinde tüm x’ler için x/y = 1 (y=x için Doğru) (Yanlış)
Çıkarsama Kuralları Tanımlar • Hipotez(kıs. H) / Öncül (Premise): – Başlangıç ifadeleri • Sonuç ifadesi (S) • Argüman: – Hipotezlerle başlayıp sonuç ifadesiyle biten İFADELER DİZİSİ. – Gösterim: – Geçerli Argüman: Hipotezlerin doğru olduğu H-1 durumda sonuç ifadesinin doğru olması: + “H-1 H-2 …. H-N→ Q” H-2 + “Eğer H-1 ve H-2 ve …. ve H-N ise Q” : Totoloji ise argüman geçerlidir. H-N Sonuç ifadesi Q doğrudur. S
Çıkarsama Kuralları Modus Ponens • Problem: Argüman Geçerlimi? Çıkarsama sonucu geçerlimi? H-1: H-2: S: P P→Q Q – P (P Q) Q Totoloji mi? Evet P 0 0 1 1 Q P→Q 0 1 1 1 0 0 1 1 P (P → Q) 0 0 0 1 Q P (P → Q) → Q 0 1 1 1 – Ne zaman P doğru ve (P Q) doğru olursa, mantıksal olarak Q’nun doğru olduğu sonucuna varabiliriz.
Çıkarsama Kuralları Kurallar • • Çıkarsama için Totoloji olduğunun ispatı yeterli ise çıkarsama kurallarına neden ihtiyaç? Hipotez ifadelerde toplam 10 önerme var ise 210=1024 ihtimal var!!! Doğruluk tablosunu oluşturmak çok zor hatta imkansız olabiliyor.
Çıkarsama Kuralları Problem • Problem: – – – • H-1: Bugün hava güneşli değil ve hava dünden daha soğuk. H-2: Eğer hava güneşli ise yüzmeye gideceğim. H-3: Eğer yüzmeye gitmeyeceksem, kano ile gezeceğim. H-4: Eğer kano ile gezeceksem, öğlen evde olacağım. S : Öğlen evde olacağım. Önermeler: – – – P: Bugün hava güneşli Q: Hava dünden daha soğuk R: Yüzmeye gideceğim T: Kano ile gezeceğim U: Öğlen evde olacağım
Çıkarsama Kuralları Problem (dvm) • Problem: – – – • H-1: P Q H-2: R P H-3: R T H-4: T U S: U Çıkarsama: 1. 2. 3. 4. 5. 6. 7. 8. P Q H-1 P R Simplification (H-5) H-2 Modus Tollens (H-6) R T H-3 T T U U Modus Ponens (H-7) H-4 Modus Ponens (H-7)
Çıkarsama Kuralları Çözümleme (Resolution) H-1: H-2: P Q P R S: Q R – İspat: [(P Q) ( P R) (Q R)] Totoloji – !!!Önemli: + Bilgisayar sistemlerinde mantık problemleri Çözümleme ile yapılmaktadır.
Çıkarsama Kuralları Nicelenmiş İfadeler – UG için c’nin gelişigüzel seçilmiş olması gerekir. Genellikle ispatlarda kullanılmaz.
Çıkarsama Kuralları Nicel İfadeler Problem • Problem: – H-1: Bu sınıftaki bir öğrenci ödev vermedi. : x [C(x) B(x)] – H-2: Sınıftaki tüm öğrenciler kısa sınavı başarıyla geçti. : x [C(x) P(x)] – S : Kısa sınavı başarıyla geçen öğrencilerden biri ödev vermedi. : x [P(x) B(x)] • Önermeler: – C(x): x sınıfta bulunmaktadır. – B(x): x ödevi vermiştir. – P(x): x kısa sınavı başarıyla geçmiştir.
Çıkarsama Kuralları Nicel İfadeler Problem (dvm) • Çözüm: – – – – – x [C(x) B(x)] C(a) B(a) C(a) H-1: Öncül H-3: H-1’den Varoluşsal Örnekleme (EI) H-4: Basitleştirme/Simplification ( H-3) x [C(x) P(x)] H-2: Öncül C(a) P(a) B(a) P(a) B(a) H-5: H-6: H-7: H-8: H-2’den Evrensel Örnekleme (UI) Modus Ponens (H-4 ve H-5) Basitleştirme/Simplification ( H-3) Birleşim/Conjunction (H-7 ve H-8) x [P(x) B(x)] S: H-8’den Varoluşsal Genelleme (UG)
İspatlar Tanımlar • • • Teorem: (İng. Theorem) – Doğru olduğu kanıtlanmış ifade veya önerme Aksiyom: (İng. Axiom) – Öncül/hipotez: önceden kabul edilmiş ifadeler İspat: (İng. Proof) – Teoremin doğruluğunu gösteren “geçerli argüman” • • Doğal Sonuç: (İng. Corollary) – İspat edilmiş önceki bir teoremden doğrudan kanıtlanan teorem Konjektür: (İng. Conjecture) – Doğru gibi görünen fakat kanıtlanmamış önermeler
İspatlar Teorem İspat Yöntemleri • Doğrudan İspat (İng. Direct Proof) – P Q önermesinin doğruluğu ispat edilir • P doğru kabul edilir • Adım adım çıkarsamalar yapılır. • Sonuç Q doğru bulunursa önerme doğru olmaktadır. – Problem: “Eğer tam sayı n bir tek sayı ise, n 2 tek sayıdır. ” teoreminin dorudan ispatını gösteriniz? • Tanım: n tek sayı ise n=2 k+1 ve çift ise n=2 k olarak ifade edilebilir. n, k Tam sayılar. • Dolaylı İspat : (İng. İndirect Proof) – Hipotezlerle başlayıp, sonuç ile bitmeyen ispat yöntemleri
İspatlar Teorem İspat Yöntemleri Dolaylı İspat : (İng. İndirect Proof) • Zıtlık ile İspat: (İng. Proof by Contraposition) • • P Q Q P “ Q P” doğru olduğunun ispatı Q doğru kabul edilir ve çıkarsama ile P önermesinin doğru olduğu bulunur. Problem: “Tam sayı n için; Eğer 3 n+2 tek sayı ise, n tek sayıdır. ” • • P: “ 3 n+2 tek sayıdır” Q: “n tek sayıdır. ”
İspatlar Teorem İspat Yöntemleri Dolaylı İspat : (İng. İndirect Proof) • İfadelerin Çelişki ile İspatı: (İng. Proof by Contradiction) • • • P P F P (Q Q) “ P” = T , doğru kabul edilecek Eğer bir çelişki sonucuna varılırsa (Q Q) = F olur. P (Q Q) ise T F = F olur. Bu önerme yanlış ise P = F ; yani P = T olması sonucunu doğurur. Problem: “ 2 irrasyonel bir sayıdır. ”
İspatlar Teorem İspat Yöntemleri Dolaylı İspat : (İng. İndirect Proof) • Koşullu İfadelerin Çelişki ile İspatı: • • • P R (P R) F (P R) (Q Q) “ R” = T , doğru kabul edilecek Eğer bir çelişki sonucuna varılırsa (Q Q) = F olur. (P R) (Q Q) ise T F = F olur. Bu önerme yanlış ise R= F ; yani P = T olması sonucunu doğurur. • Problem: “Tam sayı n için; Eğer 3 n+2 tek sayı ise, n tek sayıdır. ” • İki koşullu ifadelerin ispatı – P ↔ R (P R) (R P)
İspatlar Teorem İspat Yöntemleri • Tembel ispat: (İng. Vacuous Proof) • • • P Q “P” = F ise P Q = T Apaçık ispat: (İng. Trivial Proof) • P Q • • • “Q” = T olarak ispat edilirse P Q = T Örnek: R(n): Eğer P: “a ≥ b” ise Q: “an ≥ bn “ R (n=0) için Q = T ve R(n) = T
İspatlar İspat Stratejileri • Tüm olası durumlar tek bir argümanla ifade edilemediği durumlar vardır. • • P = P 1 ˅ P 2 ˅ …. . ˅ Pn P Q (P 1 ˅ P 2 ˅ …. . ˅ Pn) Q (P 1 Q) …………. . (Pn Q) Bütün İspat: (İng. Exhaustive Proof) • Problem: Eğer n beşten küçük pozitif bir tam sayı ise (n+1)3 ≥ 3 n • Durumlar ile ispat : (İng. Proof by Cases) • Problem: “Eğer n tam sayı ise, n 2 ≥ n. ”
İspatlar İspat Stratejileri • • Varoluş İspatları: (İng. Existance Proofs) • x P(x) ifadelerinin ispatı Yapıcı Varoluş İspatı: (İng. Constructive Exhaustive Proof) • P(a)’yı doğru yapan a gibi bir elemanın bulunması • Problem: x x = (a)3 + (b)3 x = (c)3 + (d)3 ; a, b, c, d farklı pozitif tamsayılar. • Çözüm: 1729 : (10, 9) ve (12, 1)
İspatlar İspat Stratejileri • • Varoluş İspatları: (İng. Existance Proofs) • x P(x) ifadelerinin ispatı Yapıcı olmayan Varoluş İspatı : (İng. Unconstructive Exhaustive Proof) • P(a)’yı doğru yapan a gibi bir eleman bulunmadan ispat • Problem: x y (Eğer x ve y irrasyonel sayılar ise xy rasyonel sayıdır. ) • Çözüm: • x, y için ( 2, 2) alınacak olursa ( 2 irrasyonel ispat edildi) • xy = 2 2 olur; Eğer bu sayı rasyonelse önerme doğrudur. • Eğer rasyonel değilse: x, y için (2 2, 2) alınacak olursa xy = 2 2. 2 =2 rasyoneldir.
Haftaya • Ara-sınav • Çalışma soruları web sayfasında • Ders kitabından ilgili bölümleri okuyun. • Çıkarsama Kuralları
- Slides: 37