Kalkulus Predikat (First Order Logic / FOL)
Kalkulus Predikat Logika proposional mengasumsikan dunia berisi fakta Kalkulus predikat (seperti bahasa alami) mengasumsikan dunia berisi: Objek: orang, rumah, angka, warna, permainan baseball, perang, … Relasi: bagian dari, berasal dari, lebih besar dari, … Fungsi: ayah dari, teman baik, lebih banyak satu daripada, …
Sintaks Konstanta KingJohn, 2,... Predikat Brother, >,... Fungsi Sqrt, LeftLegOf,... Variabel X, Y, A, B,... Konektif , , , , Kesamaan = Quantifier ,
Kalimat Atomik Kalimat atomik = predikat (term1,...,termn) atau term1 = term2 Term = fungsi (term1,...,termn) atau konstanta atau variabel Contoh: Brother(John,Richard) Married(Father(Richard),Mother(John))
Kalimat Kompleks Kalimat kompleks dibuat dari kalimat-kalimat atomik dengan menggunakan konektif S, S1 S2, S1 S2, S1 S2, S1 S2, Contoh: Sibling(KingJohn,Richard) Sibling(Richard,KingJohn) >(1,2) ≤ (1,2) >(1,2) >(1,2)
Kebenaran dalam FOL Kalimat benar jika berkaitan dengan model dan interpretasi Model berisi objek-objek dan relasi antar objek Interpretasi menspesifikasikan : Simbol konstanta → objek Simbol predikat → relasi Simbol fungsi → relasi fungsional Sebuah kalimat atomik predikat(term1,...,termn) benar jika dan hanya jika objek-objek yang menjadi acuan bagi term1,...,termn berada dalam relasi-relasi yang diacu oleh predikat
Kuantifikasi: Universal <variabel2> <kalimat> Semua mahasiswa Stttelkom pintar: x Mahasiswa(x,Stttelkom) Pintar(x) x P bernilai benar dalam sebuah model m iff P bernilai benar untuk setiap objek pada m Ekivalen dengan konjungsi dari instansiasi P: Mahasiswa(Inten, stttelkom) Pintar(Inten) Mahasiswa(Dian, stttelkom) Pintar(Dian) Mahasiswa(Dewi, stttelkom) Pintar(Dewi) ...
Kuantifikasi: Eksistensi <variabel> <kalimat> Beberapa mahasiswa STT Telkom pintar: x Mahasiswa(x,STTTelkom) Pintar(x) x P bernilai benar pada model m iff P bernilai benar untuk beberapa objek pada m Ekivalen dengan disjungsi dari instansiasi P Mahasiswa(Inten, Stttelkom) Pintar(Inten) Mahasiswa(Dian, Stttelkom) Pintar(Dian) Mahasiswa(Dewi, Stttelkom) Pintar(Dewi) ...
x Mahasiswa(x,Stttelkom) Pintar(x) Kesalahan konektif utama untuk kesalahan: menggunakan sebagai konektif utama dengan , contoh: x Mahasiswa(x,Stttelkom) Pintar(x) berarti “Setiap orang mahasiswa Stttelkom dan setiap orang pintar” konektif utama untuk kesalahan: menggunakan sebagai konektif utama untuk x Mahasiswa(x,Stttelkom) Pintar(x) bernilai benar jika ada yang bukan mahasiswa Stttelkom
Quantifier x y sama dengan y x x y sama dengan y x x y tidak sama dengan y x x y Loves(x,y) “There is a person who loves everyone” y x Loves(x,y) “Everyone is loved by at least one person” Quantifier duality: kalimat dapat diekspresikan dengan kalimat lain x Likes(x,IceCream) x Likes(x,IceCream)
Kesamaan term1 = term2 bernilai benar jika term1 dan term2 mengacu ke objek yang sama Contoh: definisi Sibling dengan menggunakan predikat Parent: x,y Sibling(x,y) [(x = y) m,f (m = f) Parent(m,x) Parent(f,x) Parent(m,y) Parent(f,y)]
Penggunaan FOL Keterkaitan domain: Brothers are siblings x,y Brother(x,y) Sibling(x,y) One's mother is one's female parent m,c Mother(c) = m (Female(m) Parent(m,c)) “Sibling” is symmetric x,y Sibling(x,y) Sibling(y,x)
Penggunaan FOL The set domain: s Set(s) (s = {} ) (x,s2 Set(s2) s = {x|s2}) x,s {x|s} = {} x,s x s s = {x|s} x,s x s [ y,s2 (s = {y|s2} (x = y x s2))] s1,s2 s1 s2 (x x s1 x s2) s1,s2 (s1 = s2) (s1 s2 s2 s1) x,s1,s2 x (s1 s2) (x s1 x s2) x,s1,s2 x (s1 s2) (x s1 x s2)
KB Kasus Wumpus Persepsi Refleks t,s,b Percept([s,b,Glitter],t) Glitter(t) Refleks t Glitter(t) BestAction(Grab,t)
Deduksi x,y,a,b Adjacent([x,y],[a,b]) [a,b] {[x+1,y], [x-1,y],[x,y+1],[x,y-1]} Properties of squares: s,t At(Agent,s,t) Breeze(t) Breezy(s) “Squares are breezy near a pit” Diagnostik ---menyimpulkan sebab dari akibat s Breezy(s) r Adjacent(r,s) Pit(r) Kausal ---menyimpulkan akibat dari sebab r Pit(r) [s Adjacent(r,s) Breezy(s)]