Bilgisayar Bilimlerinin Kuramsal Temelleri “UBİ 501: Discrete Math and Its Application to Computer Science” 2014 – 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. 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. 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”. 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. Doğruluk Tablosu Eğer 4<3 ise 1>4. (Doğru)
Mantıksal İşlemler Şartlı Cümle (İng. Implication) P Q : Eğer “okula gidecek” isem, “yağmur yağacak”tır. Tersi (İng. Inverse) = P Q Eğer okula gitmeyecek isem, yağmur yağmayacaktır. Karşıtı (İng. Converse) = Q P Eğer yağmur yağacak ise, okula gideceğim. Ters Karşıtı (İng. Contrapositive) = Q P 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. 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’ (T) P(-1) : ‘-1 > 0’ (F) Niceleyerek, değişkenin alabileceği değerleri kısıtlayarak P(x) ; U = Z+ (T) P(x) ; U = Z- (F)
Yüklemler ve Niceleyiciler 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 Niceleyiciler P(x) : x2 < 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 P(2) P(3) P(4) = T Doğru olduğunu ispat için tek bir örnek [P(1)] bulunması yeterlidir.
Yüklemler ve Niceleyiciler Niceleyicilerin Olumsuzlanması P(x) : x2 < 10 ve P(x) : x2 ≥ 10, U = {1, 2, 3 ,4} Evrensel Niceleyici () x P(x) : “tüm x değerleri için P(x) [x2 < 10]” durumu yoktur. = ‘Bazı x değerleri için P(x) [x2 ≥ 10] olmaktadır.’ x P(x) = [ P(x)] x P(x) : “tüm x değerleri için P(x); yani [x2 ≥ 10]” durumu vardır.” Not: x P(x) ≠ x P(x)
Yüklemler ve Niceleyiciler Niceleyicilerin Olumsuzlanması P(x) : x2 < 10 ve P(x) : x2 ≥ 10, U = {1, 2, 3 ,4} Varoluşsal Niceleyici () x P(x) : “bazı x değerleri için P(x) [x2 < 10]” durumu yoktur. = ‘Hiçbir x değeri için P(x) [x2 < 10]” durumu vardır. = ‘Tüm x değeri için P(x) [x2 ≥ 10]” olmaktadır.’ x P(x) = x [ P(x)] x P(x) : “bazı x değerleri için P(x); yani [x2 ≥ 10]” Not: x P(x) ≠ x P(x)
Yüklemler ve Niceleyiciler Çoklu Niceleyiciler P(x,y) : x.y = 0, U = R Q(x,y) : x/y = 1, U = R Okuma soldan sağa: x y P(x,y) : Tüm x ve y değerleri için x.y = 0 (F) x y P(x,y) : Tüm x değerlerinde bazı y’ler için x.y = 0 (T) xy P(x,y) : Bazı x değerlerinde tüm y’ler için x.y = 0 (T) x y P(x,y) : Bazı x değerlerinde bazı y’ler için x.y = 0 (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 için Doğru) y x Q(x,y): Bazı y değerlerinde tüm x’ler için x/y = 1 (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 durumda sonuç ifadesinin doğru olması: + “H-1 H-2 …. H-N→ Q” + “Eğer H-1 ve H-2 ve ….ve H-N ise Q” Totoloji ise argüman geçerlidir. Sonuç ifadesi Q doğrudur. H-1 H-2 S H-N :
Çıkarsama Kuralları Modus Ponens Problem: Argüman Geçerlimi? Çıkarsama sonucu geçerlimi? H-1: P H-2: P → Q S: Q P (P Q) Q Totoloji mi? Evet P Q P→Q P Ù (P → Q) P Ù (P → Q) → Q 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 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) H-1: P Q H-2: R P H-3: R T H-4: T U S : U Çıkarsama: P Q H-1 P Simplification (H-5) R P H-2 R Modus Tollens (H-6) R T H-3 T Modus Ponens (H-7) T U H-4 U Modus Ponens (H-7)
Çıkarsama Kuralları Çözümleme (Resolution) H-1: P Q H-2: 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 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)] H-1: Öncül C(a) B(a) H-3: H-1’den Varoluşsal Örnekleme (EI) C(a) H-4: Basitleştirme/Simplification ( H-3) x [C(x) P(x)] H-2: Öncül C(a) P(a) H-5: H-2’den Evrensel Örnekleme (UI) P(a) H-6: Modus Ponens (H-4 ve H-5) B(a) H-7: Basitleştirme/Simplification ( H-3) P(a) B(a) H-8: 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) Aksiyom: (İng. Axiom) 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, n2 tek sayıdır.” teoreminin dorudan ispatını gösteriniz? Tanım: n tek sayı ise n=2k+1 ve çift ise n=2k 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 3n+2 tek sayı ise, n tek sayıdır.” P: “3n+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 3n+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) “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 = P1 ˅ P2 ˅ ….. ˅ Pn P Q (P1 ˅ P2 ˅ ….. ˅ Pn) Q (P1 Q) (P1 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 ≥ 3n Durumlar ile ispat : (İng. Proof by Cases) Problem: “Eğer n tam sayı ise, n2 ≥ 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.
Akış Küme Teorisi (Set Theory) Fonksiyonlar Giriş Küme işlemleri Ek sunum Ek Açıklamalar Fonksiyonlar Seriler (Sequences) ve Toplamlar (Summations)