Bilgisayar Bilimlerinin Kuramsal Temelleri

Slides:



Advertisements
Benzer bir sunumlar
ÜNİTE I MANTIK 1. ÖNERMELER a. Mantık
Advertisements

Doğruluğu apaçık görüldüğü için, ispatlanmadan kabul edilen ve tüm bilimlerde ortak olan genel ilkelere aksiyom adı verilir. Postülatlar da ispatlanmadan.
ÖNERMELER VE MANTIK HAZIRLAYAN: AYDIN EREN KORKMAZ
ÖNERME ANALİZİ VE YÜKLEM MANTIĞI Yılmaz KILIÇASLAN.
Hazırlayan: Hakan Bozkurt.
Algoritma ve Akış Diyagramları
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Öğretmenin Adı, Soyadı Hakan Bozkurt.
Öğretmenin Adı, Soyadı Hakan Bozkurt.
MATEMATİK.
Mantık(Lojik-Logic) Programlama Dilleri
ÖNERME ANALİZİ VE YÜKLEM MANTIĞI Yılmaz KILIÇASLAN.
Çizge Algoritmaları.
İstatistiksel Sınıflandırma
Yapısal Program Geliştirme – if, if-else
MANTIK BİLİMİNE GİRİŞ VE ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN.
MANTIK PROGRAMLAMA TEMEL YAPILARI Yılmaz KILIÇASLAN.
Bilgisayar Bilimlerinin Kuramsal Temelleri “UBİ 501: Discrete Math and Its Application to Computer Science” 2010 – 2011 Güz Dönemi İlker Kocabaş E.Ü Uluslararası.
 2006 Pearson Education, Inc. All rights reserved Kontrol İfadeleri: 2. Bölüm.
Chapter 4: Making Decisions
ALGORİTMA VE AKIŞ ŞEMASI
Bilgisayarlarda Bilgi Saklama Kapı Devreleri Flip-Flop Devreleri
MANTIK PROGRAMLARININ TEMEL YAPILARI VE BİLGİSAYIM MODELİ Yılmaz KILIÇASLAN.
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
Problemi Tanımlama Şener BÜYÜKÖZTÜRK, Ebru KILIÇ ÇAKMAK,
EŞANLI DENKLEMLİ MODELLER. Eşanlı denklem sisteminde, Y den X e ve X den Y ye karşılıklı iki yönlü etki vardır. Y ile X arasındaki karşılıklı ilişki nedeniyle.
ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN.
Bilgisayar Bilimlerinin Kuramsal Temelleri
ALGORİTMA.
MANTIK BİLİMİNE GİRİŞ VE ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN.
MANTIK VE MANTIK PROGRAMLAMA Yılmaz KILIÇASLAN.
Bilgisayar Bilimlerinin Kuramsal Temelleri
Çizge Algoritmaları Ders 2.
ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN. Önermeler Mantığı - Bağlaçlar Yalnızca doğruluk değerleri üzerinden fonksiyonel olarak tanımlanabilen bağlaçlar ve.
MANTIK BİLİMİNE GİRİŞ VE ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN.
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
Dr. Mehmet Dikmen BİL551 – YAPAY ZEKA MANTIK Dr. Mehmet Dikmen
ÖNERME ANALİZİ VE YÜKLEM MANTIĞI Yılmaz KILIÇASLAN.
DOĞRUSAL EŞİTSİZLİKLER
Biçimsel Diller ve Soyut Makineler
BİL 102 BİLGİSAYAR PROGRAMLAMA DERS 1. PROGRAM GELİŞTİRME AŞAMALARI 1- Probleme ilişkin veriler nelerdir? 2- Çözüm yöntemi nasıl olacaktır? 3- Çözüm sonucunda.
BAH TABLOSU.
IMGK 207-Bilimsel araştırma yöntemleri
Değişkenler Programda Değişken Tanımlama. Değişken nedir? (Variables) Program içinde kullanılan veri(data)nin tutulduğu alanın adıdır. Her veri bir tür.
Bölüm 15: Mantıksal Programlama Dilleri
İnternet Programlama-I
Döndürme Döndürmenin Anlamı ve Türleri Döndürme, önermelerin niteliğini bozmadan öznesini yüklem, yüklemini özne yaparak anlamca eş değer, aynı doğruluk.
MANTIK VE MANTIK PROGRAMLAMA Yılmaz KILIÇASLAN. Sunu Planı Bir bilgisayım yöntemi olarak mantıksal çıkarım Prolog programlama dilinin temel yapıları Prolog.
TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ - Sayılabilirlik - Yılmaz Kılıçaslan.
Yeşilköy Anadolu Lisesi. TANıM (KONUYA GIRIŞ) a, b, c gerçel sayı ve a ¹ 0 olmak üzere, ax 2 + bx + c = 0 biçimindeki her açık önermeye ikinci dereceden.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Algoritma ve Akış Şemaları
Prolog ile Mantık Programlamaya Giriş
MATEMATİK ÖĞRENEBİLİR
ANLAM ÇIKARTICI (KESTİRİMSEL) İSTATİSTİK
Sayı Sistemleri.
EŞANLI DENKLEMLİ MODELLER
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
İleri Algoritma Analizi
VERİ TÜRLERİ.
Excel’de VBA Programlama (Visual Basic Application)
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
2 Birinci Mertebeden Adi Diferansiyel Denklemler
Bilgisayar Bilimi Problem Çözme Süreci-2.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgi Yönetimi ve Matematik Önerme Mantığı
Discrete Mathematics (Ayrık Matematik)
Sunum transkripti:

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)  xy 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)