Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


Google Reklamları