Title: MANTIK
1MANTIK VE MANTIK PROGRAMLAMA
Yilmaz KILIÇASLAN
2Sunu Plani
- Bir bilgisayim yöntemi olarak mantiksal çikarim
- Prolog programlama dilinin temel yapilari
- Prolog programlama dilinde çikarim kurallari
3Mantiktan Programlamaya ...
?
p ? q p -------- q
- Ali gelecek veya Ayse gelecek.
- Ali gelmeyecek.
- -------------------------------------------
- Ayse gelecek.
p ? q p -------- q
?
Ali gelir ise Ayse gelecek. Ali
gelecek. -----------------------------------------
-- Ayse gelecek.
?
Bütün ögrenciler gelecek. Ayse bir
ögrencidir. ------------------------------------ A
yse gelecek.
?xögrenci(x) ? gelecek(x) ögrenci(ayse) --------
------------ gelecek(ayse)
4Mantik Programlama (en genel haliyle)
ÖNCÜL_1 ÖNCÜL_2 . . . ÖNCÜL_N
------------------------------------------- M
ANTIKSAL SONUÇ
MANTIK PROGRAMI ---------------------------- MA
NTIK SORGUSU
5Mantik Bilimi Neyle Ugrasir?
- Mantik, akil yürütmenin bilimi olarak
tanimlanabilir.
ZIHINSEL TEMSIL
Tümevar iml i Çikar im
? P ise Q
? P ise Q
Tümdeng e l iml i Çikar im
Abduc t i ve Çikar im
REFLEK S
A L G I
GÖZLEM
AKIL YÜRÜTME
?P
? P
?P
? Q
? Q
?Q
DIS DÜNYA
6Mantiktan Programlamaya ... (Örnekler)
?
p ? q p -------- q
- Ali gelecek veya Ayse gelecek.
- Ali gelmeyecek.
- -------------------------------------------
- Ayse gelecek.
p ? q p -------- q
?
Ali gelir ise Ayse gelecek. Ali
gelecek. -----------------------------------------
-- Ayse gelecek.
?
Bütün ögrenciler gelecek. Ayse bir
ögrencidir. ------------------------------------ A
yse gelecek.
?xögrenci(x) ? gelecek(x) ögrenci(ayse) --------
------------ gelecek(ayse)
7Mantiktan Programlamaya ... (Genel)
ÖNCÜL_1 . . . ÖNCÜL_N
------------------------------------------- MANTI
KSAL SONUÇ
PROGRAM ---------------------------- SORGU
8Mantiktan Programlamaya ... (Genel)
Tümdengelimli programlama
?
P ? Q P ---------- Q
?
P ? Q P ---------- Q
?
Tümevarimli programalama
P ? Q P ---------- Q
?
?
?
9Matematikten Programlamaya ...
- Her programi bir fonksiyon (F) olarak düsünelim
Tümdengelimli programlama
?
?
I
O
?
F
I
O
F
Tümevarimli programalama
?
?
I
O
?
F
10Prologun Temel Yapilari
Terimler
Deyimler (Önermeler)
Gerçekler
Kurallar
Degiskenler
Sabitler
Örn ayse ögrenci
Örn ögrenci(ayse).
Örn gelecek(X)- ögrenci(X).
Örn X _
Sorgular
Bilesik Terimler
Örn ?- gelecek(ayse).
Örn ögrenci(ayse)
11Prologun Çikarim Kurallari
Genelleme (Generalization)
Modus Ponens
Özdeslik (Identity)
Örnekleme (Instantiation)
Örn ögrenci(ayse). ------------------- ?-
ögrenci(ayse).
Örn ögrenci(ayse). ------------------- ?-
ögrenci(X).
Örn varlik(X). ------------------- ?-
varlik(ayse).
Örn ögrenci(ayse). gelecek(X)-
ögrenci(X). ------------------- ?- gelecek(ayse).
12Gerçeklerden olusan bir Prolog Programi
- Eger A B? olan bir ? yer degistirmesi varsa A,
Bnin bir örnegidir.
13Yer degistirmeler
- Eger A B? olan bir ? yer degistirmesi varsa A,
Bnin bir örnegidir.
- C hem Anin hem Bnin bir örnegi ise A ve Bnin
ortak örnegidir (common instance) denir. Diger
bir deyisle, CA?1 olan ?1 ve ?2 yer
degistirmeleri varsa sözdizimsel olarak B?2ye
estir.
14Evrensel Modus Ponens
- Evrensel modus ponens yasasi,
- R(A?B1,B2, , Bn) kuralindan ve
- B1.
- B2.
- .
- .
- .
- Bn.
- gerçeklerinden (facts) eger,
- A ? B1,B2, , Bn
- Rnin bir örnegi ise A sonucu çikarilabilir.
15Mantik Programinin Tanimi
- Bir mantik programi sonlu kurallar kümesidir.
- Varolus niceleyicisiyle nicelenmis G hedefi
(goal), eger B1,, Bn mantiksal sonuçlar ve A,
Gnin örnegi oldugu durumda - A?B1,B2, , Bn, n 0 degiskensiz örnegi
(ground instance) P içinde bir cümlecik (clause)
ise bir P programinin mantiksal sonucudur.