Logika Order Pertama (First Order Logic)

Slides:



Advertisements
Presentasi serupa
KECERDASAN BUATAN Oleh :Alifah NRP :
Advertisements

KALKULUS PREDIKAT PENDAHULUAN DEFINISI SIMBOL DEFINISI TERM
Pengantar Intelijensia buatan
DASAR – DASAR LOGIKA INFORMATIKA
Latihan Kalkulus Predikat Part.2
REPRESENTASI PENGETAHUANI
Kalkulus Predikat (First Order Logic / FOL)
Introduction to Logic Propositional Logic
Knowledge Representation and Deduction Agents That Reason Logically
Knowledge Representation
REPRESENTASI PENGETAHUAN
REPRESENTASI PENGETAHUAN
DASAR – DASAR LOGIKA INFORMATIKA
REPRESENTASI PENGETAHUAN
Artificial Intelligence
Representasi Pengetahuan (II)
Logika Matematika Bab 3: Kalkulus Predikat
REPRESENTASI PENGETAHUAN - LOGIKA
LOGIKA INFORMATIKA
REPRESENTASI PENGETAHUAN
Relational Calculus Basis Data Pertemuan 05.
© STMIK-Indonesia 2012 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER INDONESIA KALKULUS PROPOSISI 1 DosenAlbaar Rubhasy, S.Si., M.T.I. Mata.
REPRESENTASI PENGETAHUAN
REPRESENTASI PENGETAHUAN
Ketidakpastian (Uncertainty)
Artificial Intelligence
KECERDASAN BUATAN PERTEMUAN 6 dan 7.
INFERENCE Artificial Intelligence
REPRESENTASI PENGETAHUAN DENGAN TEKNIK LOGIKA
Representasi Pengetahuan
Reasoning dengan Logika
Pertemuan 3 Predicate Logic
Inferensi pada FOL (First Order Logic)
Bab VI : Inferensi pada FOL
REPRESENTASI PENGETAHUAN
Logika proposisi Pertemuan kedua.
Proposisi.
REPRESENTASI PENGETAHUAN
Database Management Systems Bab 4 – Bagian B Kalkulus Relasional (Chap
KALIMAT BERKUANTOR.
Wumpus World Propositional Logic.
Logika Informatika Fajrian nur adnan, mcs.
REPRESENTASI PENGETAHUAN
Ketidakpastian (Uncertainty)
LOGIKA dan ALGORITMA Heri Sismoro, M.Kom. STMIK AMIKOM Yogyakarta
KNOWLEDGE REPRESENTATION
ALGORITMA DAN PEMROGRAMAN
Jaringan Syaraf Tiruan
The Logical Basis For Computer Programming
Reasoning : Propositional Logic
Rerepresentasi Pengetahuan
LOGIKA DAN ALGORITMA HANIF AL FATTA M.KOM AMIKOM Yogyakarta 2006
Pengembangan Sistem Pakar
Reasoning and Planning
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Predicate & quantifier
Pertemuan 1 Logika.
REPRESENTASI PENGETAHUAN - LOGIKA
MATERI PERKULIAHAN KECERDASAN BUATAN
KNOWLEDGE REPRESENTATION
REPRESENTASI PENGETAHUAN dan Reasoning (Penalaran)
Implementasi Logika Proposisi
Sistem Berbasis Aturan Fuzzy
REPRESENTASI PENGETAHUAN
Representasi Pengetahuan Logika Predikat
REPRESENTASI PENGETAHUAN
CSG3G3 Kercerdasan Mesin dan Artifisial Reasoning 1
Pertemuan 1 Logika.
Logika Informatika A Pertemuan 1
Dasar Logika Matematika
Transcript presentasi:

Logika Order Pertama (First Order Logic) Kecerdasan Buatan/ Artificial Intelligence Logika Order Pertama (First Order Logic) Imam Cholissodin, S.Si., M.Kom.

Pokok Bahasan Konsep dasar FOL (First Order Logic) Sintak dan semantic FOL Konteks penggunaan FOL Rekayasa Pengetahuan dengan FOL Latihan Individu + Tugas Kelompok

Konsep dasar FOL Declarative : menyatakan fakta-fakta terpisah dari mekanisme/prosedur inference. Memungkinkan pernyataan informasi yang partial / disjunctive / negated. Compositional : “arti” P ∧ Q tergantung arti P dan arti Q. Context-independent : arti tidak tergantung konteks. Unambiguous : terhadap suatu model, arti sebuah sentence jelas. ...Sayangnya, kurang expressive. Mis.: “Kalau ada jebakan, di kamar sebelah ada hembusan angin” harus dinyatakan dengan n × n buah sentence propositional logic.

Konsep dasar FOL Dalam propositional logic, dunia hanya mengandung fakta-fakta. Dalam first order logic (FOL), dunia bisa mengandung: Object : di dalam dunia ada orang, bangunan, buku, UB, ITS, UI, SBY, bilangan, warna, hari, . . . Relations : tentang object dalam dunia, ada relasi merah, bulat, cantik, positif, abang dari, lebih besar dari, di atas, terjadi sebelum, . . . Functions: fungsi yang menghasilkan object lain seperti ayah dari, babak final dari, satu lebih dari, kaki kiri dari, . . . Hal ini disebut ontological commitment dari sebuah logic : apa saja “isi” dunia yang dijelaskan?

Jenis Logic Ada juga epistemological commitment: “kebenaran” apa yang dapat dinyatakan tentang sebuah sentence? Contoh beberapa jenis logic lain : Language Ontological (Isi) Epistemological (Kebenaran) Propositional logic facts true/false/unknown First-order logic facts, objects, relations Temporal logic facts, objects, relations, times Probability theory degree of belief ∈ [0, 1] Fuzzy logic degree of truth ∈ [0, 1] known interval value Magic logic ? ?

Syntax FOL: Elemen-elemen dasar Elemen-elemen dasar FOL: Constants : KingJohn, 2, UB, ITS, UI, Malang, Depok , . . . Predicates : Brother , >, Loves, Membenci , Mengajar , . . . Functions : Sqrt , LeftLegOf , Ayah, . . . Variables : x , y , a, b, . . . Connectives : ∧ ∨ ¬ ⇒ ⇔ Equality : = Quantifiers : ∀ ∃

Syntax FOL : Kalimat Atomic Definisi atomic sentence : predicate(term1, . . . , termn) atau term1 = term2 Definisi term : function(term1, . . . , termn) atau constant atau variable Contoh : Brother (KingJohn, RichardTheLionheart ) > (Length(LeftLegOf (Richard)), Length(LeftLegOf (KingJohn)))

Syntax FOL : Kalimat Kompleks Kalimat kompleks complex sentence terdiri dari sentence yang digabungkan dengan connective. Definisi complex sentence : ¬S, S1∧ S2, S1∨ S2, S1 ⇒ S2, S1 ⇔ S2 Contoh : Sibling(KingJohn, Richard ) ⇒ Sibling(Richard , KingJohn) >(1, 2) ∨ ≤(1, 2) >(1, 2) ∧ ¬>(1, 2) Belajar (x , SC) ⇒ Mengerti(x , AI)

Semantics FOL : truth & model Sama halnya dengan. Proposisi Logic (PL), sebuah kalimat FOL bisa juga dikatakan true terhadap sebuah model. Namun, sebuah kalimat bisa diinterpretasikan banyak cara dalam sebuah model. Model berisi : Objects : elemen-elemen di dalam dunia (domain elements). Relations : hubungan antara elemen-elemen tersebut. Sebuah interpretasi mendefinisikan referent (“yang dipetakan”) Constant symbols → objects Predicate symbols → relations Function symbols → functional relations

Semantics FOL: interpretasi & kebenaran Arti dari sebuah kalimat FOL : Kalimat atomik predicate(term1, . . . , termn) dikatakan bernilai true dalam model m di bawah interpretasi i iff object yang di-refer (term1, . . . , termn) (di bawah i) terhubung oleh relation yang di-refer oleh predicate (di bawah i) dalam m. Contoh sebuah model: Contoh sebuah model (lebih rinci):

Kemungkinan model & interpretasi Entailment , validity , satisfiability , dll. Didefinisikan untuk semua kemungkinan interpretasi dari semua kemungkinan model! Kalau mau dijabarkan semua kemungkinannya: For each number of domain elements n from 1 to ∞ For each k -ary predicate Pk in the vocabulary For each possible k -ary relation on n objects For each constant symbol C in the vocabulary For each choice of referent for C from n objects . . . Menentukan entailment berdasarkan truth-table? mustahil! Biasanya ada satu interpretasi yang “dimaksudkan” → intended interpretation.

Universal quantification Syntax: Jika S kalimat, ∀ variables S adalah kalimat Contoh: “Semua mahasiswa PTIIK UB adalah Genius” ∀ x mahasiswa(x , PTIIKUB) ⇒ Genius (x) Semantics: ∀ x S bernilai true dalam model m di bawah interpretasi iff S bernilai true untuk semua kemungkinan referent dari x (setiap object di dalam m). Dengan kata lain, ∀ x S ≡ conjunction dari semua instantiation S: (mahasiswa(Ani , PTIIKUB) ⇒ Genius (Ani ))∧ (mahasiswa(Anto, PTIIKUB) ⇒ Genius (Anto))∧ . . (mahasiswa(Zaenal , PTIIKUB) ⇒ Genius (Zaenal))∧ (mahasiswa(Zakky , PTIIKUB) ⇒ Genius (Zakky ))

Universal quantification Biasanya, ⇒ adalah operator /connective yang digunakan dengan ∀. Masalah yang sering terjadi : menggunakan ∧ sebagai connective untuk ∀ : ∀ x mahasiswa(x , PTIIKUB) ∧ Genius (x) Kalimat ini berarti “Semua orang adalah mahasiswa PTIIKUB dan Genius”.

Existential quantification Syntax : Jika S kalimat, ∃ variable S adalah kalimat Contoh: “Ada mahasiswa Gunadarma yang pintar” ∃ x mahasiswa(x , Gundarma ) ∧ pintar (x) Semantics : ∃ x S bernilai true dalam model m di bawah interpretasi iff S bernilai true untuk setidaknya 1 kemungkinan referent dari x (sebuah object di dalam m). Dengan kata lain, ∃ x S ≡ disjunction dari semua instantiation S : (mahasiswa(Ani , Gundar) ∧ pintar (Ani))∨ (mahasiswa(Anto, Gundar) ∧ pintar (Anto))∨ . (mahasiswa(Zaenal , Gundar) ∧ pintar (Zaenal))∨ (mahasiswa(Zakky , Gundar) ∧ pintar (Zakky))

Existential quantification Biasanya, ∧ adalah operator /connective yang digunakan dengan ∃. Masalah yang sering terjadi : menggunakan ⇒ sebagai connective untuk ∃ : ∃ x mahasiswa(x , Gundar ) ⇒ pintar (x ) Kalimat ini true jika ada setidaknya 1 orang (object) yang tidak kuliah di Gunadarma!

Beberapa sifat ∀ (For All) dan ∃ (There Exist) ∀ x ∀ y S sama dengan ∀ y ∀ x S, biasa ditulis ∀ x , y S ∃ x ∃ y S sama dengan ∃ y ∃ x S, biasa ditulis ∃ x , y S ∃ x ∀ y S TIDAK sama dengan ∀ y ∃ x S! ∃ x ∀ y Mencintai (x , y ) “Ada (sekurang-kurangnya) seseorang yang mencintai semua orang di dunia.” ∀ y ∃ x Mencintai (y , x ) “Semua orang di dunia mencintai sekurang-kurangnya satu orang”. Quantifier bisa dinyatakan dengan yang lain: ∀ x Doyan(x , Bakso) sama dengan ¬∃ x ¬Doyan(x , Bakso) ∃ x Doyan(x , Cilok) sama dengan ¬∀ x ¬Doyan(x , Cilok)

“Contoh kalimat” Convert to “FOL” “Ayah adalah orangtua” ∀ x , y Ayah(x , y) ⇒ Orangtua(x , y) “Hubungan saudara berlaku simetris” ∀ x , y Saudara(x , y) ⇔ Saudara(y , x) “Ibu adalah orangtua berjenis kelamin perempuan” ∀ x , y Ibu(x , y) ⇔ Orangtua(x , y) ∧ Perempuan(x) “Sepupu adalah anak dari saudara orangtua” ∀ x , y Sepupu(x , y) ⇔ ∃ ox , oy Orangtua(ox , x) ∧ Saudara(ox , oy) ∧ Orangtua(oy , y)

Equality Kalimat term1 = term2 bernilai true di bawah sebuah interpretasi iff term1 and term2 me-refer ke object yang sama. Contoh: Ayah(Anto) = Abdul adalah satisfiable Anto = Abdul juga satisfiable! Anto = Anto adalah valid. Bisa digunakan dengan negasi untuk membedakan dua term: ∃ x , y Mencintai (Anto, x ) ∧ Mencintai(Anto, y ) ∧¬(x = y ) (Anto mendua!) Definisi Sibling: ∀ x , y Sibling(x , y ) ⇔ (¬(x = y ) ∧ ∃ m, f ¬(m = f ) ∧ Parent (m, x ) ∧ Parent (f , x ) ∧ Parent (m, y ) ∧ Parent (f , y ))

Knowledge-based Agent (KBA) dengan FOL Kita bisa menggunakan FOL sebagai KRL (Knowledge Representation Language) sebuah KBA. Pertama-tama, kita berikan informasi ke KB (TELL). Kalimat FOL yang ditambahkan ke KB disebut assertion. Contohnya : TELL(KB,King(John)) TELL(KB,∀ x King(x ) ⇒ Person(x )) Lalu, kita bisa memberikan query, atau bertanya, kepada KB (ASK). Contohnya : ASK(KB,King(John)) jawabannya adalah true. ASK(KB,Person(John)) jawabannya adalah true. ASK(KB,∃ x Person(x )) jawabannya adalah {x /John}

Substitution Sebuah query dengan existential variable bertanya kepada KB: “Apakah ada x sedemikian sehingga . . . ?” Bisa saja jawabannya “ya” atau “tidak”, tetapi akan lebih baik jika jawabannya adalah nilai (referent) x di mana query bernilai true. Bentuk jawaban demikian disebut substitution, atau binding list: himpunan pasangan variable/term. Untuk kalimat S dan substitution σ, Sσ adalah hasil “pengisian” S dengan σ : S = LebihPintar (x , y ) σ = {x /Ani , y /Anto} Sσ = LebihPintar (Ani , Anto) ASK(KB,S) mengembalikan (satu? semua?) σ sedemikian sehingga KB |= Sσ.

FOL sbg KRL utk KBA LATM dlm WW Representasi hasil percept dari sensor : Percept ([bau, angin, kilau], waktu) (perhatikan penggunaan list agar rapi) : TELL(KB,Percept ([None, None, None], 1)) TELL(KB,Percept ([Smell , None, None], 2)) TELL(KB,Percept ([None, Breeze, Glitter ], 3)) Untuk menentukan tindakan yang diambil : ASK(KB,∃ t TindakanTerbaik (t , 3)) Data “mentah” dari sensor perlu diolah : ∀ a, k , w Percept ([Smell , a, k ], w) ⇒ MenciumBau(w) ∀ b, k , w Percept ([b, Breeze, k ], w) ⇒ MerasaHembus(w) ∀ b, a, w Percept ([b, a, Glitter ], w) ⇒ MelihatKilauan(w) Tindakan “rational reflex” bisa dinyatakan dalam kalimat, mis: ∀ w MelihatKilauan(w) ⇒ TindakanTerbaik (Grab, w)

Menyatakan aturan main Wumpus World Tambah assertion mengenai kamar : ∀ k , w Di(Agent , k , w) ∧ MenciumBau(w) ⇒ KmrBusuk (k) ∀ k , w Di(Agent , k , w) ∧ MerasaHembus(t) ⇒ KmrAngin(k) ∀ k , w Di(Agent , k , w) ∧ MelihatKilauan(t) ⇒ KmrEmas(k) “Di kamar sebelah lubang jebakan ada hembusan angin” Diagnostic rule : simpulkan sebab dari akibat : ∀ y KmrAngin(y) ⇒ ∃ x Jebakan(x) ∧ Sebelahan(x , y) ∀ y ¬KmrAngin(y) ⇒ ¬∃ x Jebakan(x) ∧ Sebelahan(x , y) Causal rule : simpulkan akibat dari sebab : ∀ x Jebakan(x) ⇒ (∀ y Sebelahan(x , y) ⇒ KmrAngin(y )) ∀ x (∀ y Sebelahan(x , y) ⇒ ¬Jebakan(y)) ⇒ ¬KmrAngin(x) Definisi predikat KmrAngin : ∀ y KmrAngin(y) ⇔ [∃ x Jebakan(x) ∧ Sebelahan(x , y)]

Knowledge Engineering Diagnostic vs. Causal (model-based) reasoning penting, mis: diagnosa medis secara AI (dulu diagnostic, sekarang model-based) Proses merancang kalimat-kalimat KRL yang dengan tepat “merepresentasikan” sifat dunia/masalah disebut knowledge engineering. “Memrogram” secara deklaratif : pengkodean fakta dan aturan domain-specific. Sedikit jargon : Agent programmer = knowledge engineer Mekanisme/proses penjawaban query → inference rule yang domain-independent.

Kesimpulan First order logic Objects dan relations adalah elemen-elemen semantic (di dalam model). Syntax FOL: constants, functions, predicates, equality, quantifier. Mekanisme/proses penjawaban query → inference rule yang domain-independent. FOL lebih expressive dari PL: Wumpus World bisa didefinisikan dengan tepat dan ringkas(!). Proses “mengkodekan” dunia ke dalam suatu KRL = Knowledge Engineering.

Latihan Individu Ubahlah “Kalimat” dibawah ini menjadi bentuk “FOL” ! “Ayah adalah orangtua berjenis kelamin laki-laki”. “Paman adalah saudara orangtua”. “Tidak ada jamur merah yang beracun”. (Kerjakan 2 dari 3 pilihan yang ada) Ubahlah “FOL” dibawah ini menjadi bentuk “Kalimat” ! ∀ x mahasiswa(x , PTIIKUB) ⇒ Genius (x)  x (jamur(x) ^ merah(x)) ⇒ beracun(x) (Kerjakan 1 dari 2 pilihan yang ada)

Tugas Kelompok Jelaskan perbedaan antara FOL dan PL? Ubahlah “Kalimat” dibawah ini menjadi bentuk “FOL” ! “Cucu adalah anak dari anak saya”. “Paman dan Bibi adalah saudara”. “Ada dua jamur merah”. “Pohon kelapa itu tinggi”. Ubahlah “FOL” dibawah ini menjadi bentuk “Kalimat” !  x  t (person(x) ^ time(t)) ⇒ can-fool(x,t) ( x)( y) above(x,y) ⇔ (on(x,y) v ( z) (on(x,z) ^ above(z,y))) Buatlah 1 penggalan puisi bebas yang terdiri minimal 4 baris, kemudian ubahlah dalam bentuk “FOL”. (Kerjakan 2 dari 4 soal yang ada)

Selesai