110 likes | 447 Views
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 programlama dilinde çıkarım kuralları. Mantıktan Programlamaya. ?. p q ¬ p -------- q. Ali gelecek veya Ayşe gelecek.
E N D
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 programlama dilinde çıkarım kuralları
Mantıktan Programlamaya ... ? p q ¬p -------- q Ali gelecek veya Ayşe gelecek. Ali gelmeyecek. ------------------------------------------- Ayşe gelecek. p q p -------- q ? Ali gelir ise Ayşe gelecek. Ali gelecek. ------------------------------------------- Ayşe gelecek. ? Bütün öğrenciler gelecek. Ayşe bir öğrencidir. ------------------------------------ Ayşe gelecek. x[öğrenci(x) gelecek(x)] öğrenci(ayşe) -------------------- gelecek(ayşe)
Mantık Programlama (en genel haliyle) ÖNCÜL_1 ÖNCÜL_2 . . . ÖNCÜL_N ------------------------------------------- MANTIKSAL SONUÇ MANTIK PROGRAMI ---------------------------- MANTIK SORGUSU
Prolog’un Temel Yapıları Temel Yapılar Terimler Deyimler (Önermeler) Değişkenler Gerçekler Kurallar Sabitler Örn: ayşe öğrenci Örn: öğrenci(ayşe). Örn: gelecek(X):- öğrenci(X). Örn: X _ Bileşik Terimler Sorgular Örn: ?- gelecek(ayşe). Örn: öğrenci(ayşe)
Prolog’un Çıkarım Kuralları Çıkarım Kuralları Genelleme (Generalization) Modus Ponens Özdeşlik (Identity) Örnekleme (Instantiation) Ö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).
Gerçeklerden oluşan bir Prolog Programı • Eğer A = Bθ olan bir θ yer değiştirmesi varsa A, B’nin bir örneğidir.
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.
Evrensel Modus Ponens • Evrensel modus ponens yasası, R=(A←B1,B2, …, Bn) 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.
Mantık Programının Tanımı • Bir mantık programı sonlu kurallar kümesidir. • Varoluş niceleyicisiyle nicelenmiş G hedefi (goal), eğer B1,…, Bn mantıksal sonuçlar ve A, G’nin örneği olduğu durumda A←B1,B2, …, Bn, 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.