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.

Benzer bir sunumlar


... konulu sunumlar: "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."— Sunum transkripti:

1 MANTIK VE MANTIK PROGRAMLAMA Yılmaz KILIÇASLAN

2 Sunu Planı Bir bilgisayım yöntemi olarak mantıksal çıkarım Prolog programlama dilinin temel yapıları Prolog programlama dilinde çıkarım kuralları

3 Mantık Bilimi Neyle Uğraşır? Mantık, akıl yürütmenin bilimi olarak tanımlanabilir. ZİHİNSEL TEMSİL GÖZLEMAKIL YÜRÜTME DIŞ DÜNYA ALGIALGI REFLEKSREFLEKS ✓P✓P ✓Q✓Q ? P ise Q ✓ P ise Q ✓P✓P ? Q ? P ✓ Q TümevarımlıÇıkarımTümevarımlıÇıkarım TümdengelimliÇıkarımTümdengelimliÇıkarım AbductiveÇıkarımAbductiveÇıkarım

4 Mantıktan Programlamaya... (Genel) Modus Ponens: 4 Tümdengelimli programlama: Tümevarımlı programalama: P  Q P ---------- Q P  Q P ---------- Q ✓ ✓ ? P  Q P ---------- Q ✓ ✓ ?

5 Matematikten Programlamaya... Her programı bir fonksiyon (F) olarak düşünelim: 5 Tümdengelimli programlama: IO F IO F Tümevarımlı programalama: IO F ? ✓ ✓ ✓ ✓ ?

6 Mantıktan Programlamaya... (Örnekler) Ali gelecek veya Ayşe gelecek. Ali gelmeyecek. ------------------------------------------- Ayşe gelecek. p  q ¬p¬p -------- q ? Ali gelir ise Ayşe gelecek. Ali gelecek. ------------------------------------------- Ayşe gelecek. p  q p -------- q Bütün öğrenciler gelecek. Ayşe bir öğrencidir. ------------------------------------ Ayşe gelecek.  x[öğrenci(x)  gelecek(x)] öğrenci(ayşe) -------------------- gelecek(ayşe) ? ?

7 Mantıktan Programlamaya... (Genel) ÖNCÜL_1... ÖNCÜL_N ------------------------------------------- MANTIKSAL SONUÇ PROGRAM ---------------------------- SORGU

8 Prolog’un Temel Yapıları Temel Yapılar Terimler Önermeler Gerçekler Sorgular KurallarDeğişkenler Sabitler Bileşik Terimler Örn: ayşe öğrenci Örn: X _ Örn: öğrenci(ayşe) Örn: öğrenci(ayşe). Örn: gelecek(X):- öğrenci(X). Örn: ?- gelecek(ayşe).

9 Prolog’un Çıkarım Kuralları Çıkarım Kuralları Özdeşlik (Identity) Genelleme (Generalization) Örnekleme (Instantiation) Modus Ponens Örn: öğrenci(ayşe). ------------------- ?- öğrenci(ayşe). Örn: öğrenci(ayşe). ------------------- ?- öğrenci(X). Örn: varlık(X). ------------------- ?- varlık(ayşe). Örn: öğrenci(ayşe). gelecek(X):- öğrenci(X). ------------------- ?- gelecek(ayşe).

10 Gerçeklerden oluşan bir Prolog Programı Eğer A = Bθ olan bir θ yer değiştirmesi varsa A, B’nin bir örneğidir.

11 Yer değiştirmeler Eğer A = Bθ olan bir θ yer değiştirmesi varsa A, B’nin bir örneğidir. C hem A’nın hem B’nin bir örneği ise A ve B’nin ortak örneğidir (common instance) denir. Diğer bir deyişle, C=Aθ 1 olan θ 1 ve θ 2 yer değiştirmeleri varsa sözdizimsel olarak Bθ 2 ’ye eştir.

12 Evrensel Modus Ponens Evrensel modus ponens yasası, R=(A←B 1,B 2, …, B n ) kuralından ve B’ 1. B’ 2.. B’ n. gerçeklerinden (facts) eğer, A’ ← B’ 1,B’ 2, …, B’ n R’nin bir örneği ise A’ sonucu çıkarılabilir.

13 Mantık Programının Tanımı Bir mantık programı sonlu kurallar kümesidir. Varoluş niceleyicisiyle nicelenmiş G hedefi (goal), eğer B 1,…, B n mantıksal sonuçlar ve A, G’nin örneği olduğu durumda A←B 1,B 2, …, B n, n ≥ 0 değişkensiz örneği (ground instance) P içinde bir cümlecik (clause) ise bir P programının mantıksal sonucudur.


"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." indir ppt
Google Reklamları