Inferensi pada FOL (First Order Logic)

Slides:



Advertisements
Presentasi serupa
Penyelesaian Masalah Dengan AI
Advertisements

SISTEM PAKAR Ari Eko Wardoyo, ST.
TEKNIK PENCARIAN (SEARCHING)
Pertemuan bilqis.
KALKULUS PREDIKAT PENDAHULUAN DEFINISI SIMBOL DEFINISI TERM
Pengantar Intelijensia buatan
Kalkulus Predikat (First Order Logic / FOL)
Masalah, Ruang Masalah dan Pencarian
INFERENSI.
Inferensi pada Kalkulus Predikat Orde 1
Introduction to Logic Propositional Logic
MESIN INFERENSI.
SISTEM PAKAR Disusun Oleh : Dessy Ratnasari ( )
Pengantar Intelijensia Buatan
Knowledge Representation and Deduction First Order Logic (Lanj.)
Knowledge Representation and Deduction Agents That Reason Logically
Logika Order Pertama (First Order Logic)
Problem Solving Search -- Uninformed Search
Metode Pencarian/Pelacakan
DASAR – DASAR LOGIKA INFORMATIKA
Artificial Intelligence
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Logika Matematika Bab 3: Kalkulus Predikat
PENGETAHUAN BERDASARKAN RULES PERTEMUAN MINGGU KE-6.
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Relational Calculus Basis Data Pertemuan 05.
Definisi Inferensi  Inferensi adalah : Proses yang digunakan dalam Sistem Pakar untuk menghasilkan informasi baru dari informasi yang telah diketahui.
KECERDASAN BUATAN PERTEMUAN 10.
REPRESENTASI PENGETAHUAN
Ketidakpastian (Uncertainty)
Artificial Intelligence
Pertemuan 6 SISTEM PAKAR.
INFERENCE Artificial Intelligence
REPRESENTASI PENGETAHUAN DENGAN TEKNIK LOGIKA
Representasi Pengetahuan
KOMPUTASI KECERDASAN BUATAN
Reasoning dengan Logika
Pertemuan 3 Predicate Logic
Bab VI : Inferensi pada FOL
Masalah, Ruang Masalah dan Pencarian
Metode Pencarian/Pelacakan
INFERENSI.
ATURAN PENENTUAN KESIMPULAN (Rule of Inference)
Pendekatan Inferensi dalam Sistem Pakar
Design and Analysis Algorithm
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Constraint Satisfaction Problem (CSP)
Pendekatan Inferensi dalam Sistem Pakar
Ketidakpastian (Uncertainty)
MATERI PERKULIAHAN ANALISIS ALGORITMA
BASIS PENGETAHUAN DAN METODE INFERENSI
MATERI PERKULIAHAN ANALISIS ALGORITMA
Model Heuristik Dr. Sri Kusumadewi, S.Si., MT. Materi Kuliah [8]:
KNOWLEDGE REPRESENTATION
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
KECERDASAN BUATAN PERTEMUAN 10.
Reasoning : Propositional Logic
Pertemuan 5 Kecerdasan Buatan
MATERI PERKULIAHAN KECERDASAN BUATAN
KNOWLEDGE REPRESENTATION
Implementasi Logika Proposisi
Pertemuan 6 SISTEM PAKAR.
JENIS KALIMAT PADA PROLOG
Pertemuan 10 REASONING (PENALARAN)
SISTEM PAKAR.
Masalah, Ruang Masalah dan Pencarian
SISTEM PAKAR UNTUK MENDIAGNOSA KERUSAKAN PERANGKAT TELEVISI MENGGUNAKAN METODE BACKWARD CHAINING Oleh: Achmad Faiz Nabil L. (01) Nafa Meilantu(17)
GUNAWAN Materi Kuliah [8]: (Sistem Pendukung Keputusan)
Pertemuan 6 SISTEM PAKAR.
Modul II Masalah, Ruang Masalah dan Pencarian
Transcript presentasi:

Inferensi pada FOL (First Order Logic) Kecerdasan Buatan/ Artificial Intelligence Inferensi pada FOL (First Order Logic) Rekyan Regasari Mardi Putri, ST, MT Lailil Muflikhah, S.Kom, M.Sc Imam Cholissodin, S.Si., M.Kom M. Ali Fauzi, S.Kom, M.Kom

Pokok Bahasan Mengubah FOL inference ke PL inference Unification Inference Rule untuk FOL Forward chaining Backward chaining Resolution (The Next) Latihan Individu + Tugas Kelompok

FOL to PL Ide tahun 60-an : Kita sudah melihat mekanisme inference untuk propositional logic Inference rule : Modus Ponens Normal form : Horn clause Algoritma : Forward chaining, Backward chaining Inference rule : Resolution Normal form : Clause Normal Form (CNF) Algoritma : Proof-by-contradiction Pendekatan-pendekatan ini sound dan complete. Cara mudah melakukan inference FOL : Jika KB dan query dalam FOL bisa diterjemahkan ke dalam PL, beres! Clause Normal Form (CNF)

FOL to PL Instantiation : Ground term : sebuah term tanpa variable, mis: Ani, Ayah(Anto), 2007 Instantiation : kalimat di mana sebuah variable diganti dengan sebuah ground term (diperoleh dengan mengaplikasikan sebuah substitution) Contoh : α = ∀ x mahasiswa(x , PTIIKUB) ⇒ Genius(x ) β = ∃ x mahasiswa(x , Gundar ) ∧ pintar (x ) σ = {x /Anto} SUBST(σ, α) menghasilkan instantiation : mahasiswa(Anto, PTIIKUB) ⇒ Genius(Anto) SUBST(σ, β) menghasilkan instantiation: mahasiswa(Anto, Gundar ) ∧ pintar (Anto)

FOL to PL ∀ x King(x ) ∧ Greedy (x ) ⇒ Evil (x ) meng-entail : Universal Instantiation : Sebuah kalimat dengan universal quantifier (∀) meng-entail semua instantiation-nya: ___∀ v α _________ SUBST ({v /g},α) untuk sembarang variable v dan ground term g Contoh : ∀ x King(x ) ∧ Greedy (x ) ⇒ Evil (x ) meng-entail : King(John) ∧ Greedy (John) ⇒ Evil (John) King(Richard ) ∧ Greedy (Richard ) ⇒ Evil (Richard ) King(Father (John)) ∧ Greedy (Father (John)) ⇒ Evil (Father (John)) ……

FOL to PL Existential Instantiation : Untuk sembarang variable v, kalimat α dan constant k yang tidak muncul di knowledge-base : ___∃ v α _________ SUBST ({v / k},α) Contoh : ∃ x Crown(x ) ∧ OnHead (x , John) meng-entail : Crown(C1) ∧ OnHead (C1, John), dengan syarat C1 adalah constant symbol yang baru, disebut Skolem constant. ……

FOL to PL Menghilangkan quantifier dan variable : Menghilangkan ∀ : Universal instantiation bisa digunakan berkali-kali untuk menambahkan kalimat baru. KB yang baru logically equivalent dengan yang lama. Menghilangkan ∃ : Existential instantiation cukup digunakan sekali untuk menggantikan kalimat existential. KB yang baru tidak logically equivalent dengan yang lama, tetapi satisfiable iff KB yang lama juga satisfiable → inferentially equivalent

FOL to PL Contoh : Andaikan KB berisi kalimat-kalimat berikut : ∀ x King(x) ∧ Greedy (x) ⇒ Evil (x) ∀ y Greedy (y) King(John) Brother (Richard , John) Jika kita mengambil semua kemungkinan instantiation dari kalimat universal, kita dapatkan KB sbb : King(John) ∧ Greedy (John) ⇒ Evil (John) King(Richard) ∧ Greedy (Richard ) ⇒ Evil (Richard) Greedy (John) Greedy (Richard) King(John) Brother (Richard , John) KB yang baru dikatakan propositionalized : proposition symbol-nya : King(John), Greedy (John), Evil (John), King(Richard) etc.

FOL to PL Inference FOL menggunakan inference PL : Ide dasar : ubah KB + query dari FOL menjadi PL, lalu gunakan resolution. Masalah : dengan adanya function, jumlah ground term menjadi infinite. Greedy (Father (John)), Greedy (Father (Father (John))) Greedy (Father (Father (Father (John)))), dst. Teorema Herbrand (1930) : jika FOL KB |= α, ada sebuah finite subset PL KB |= α. Ide dasar : For n = 0 to ∞ Buat propositional KBn dengan depth-n ground term Periksa apakah KBn |= α Masalah (lagi!) : kalau α di-entail OK, kalau tidak → infinite loop. Teorema Church-Turing (1936) : Entailment untuk FOL bersifat semidecidable. (tidak dapat diperbandingkan)

FOL to PL Masalah dengan propositionalization : Propositionalization menghasilkan banyak kalimat irelevan. Contohnya, dari KB berikut : ∀ x King(x) ∧ Greedy (x) ⇒ Evil (x) ∀ y Greedy (y) King(John) Brother (Richard , John) manusia bisa cepat mengerti kalau Evil (John), namun propositionalization menghasilkan : King(Richard) ∧ Greedy(Richard) ⇒ Evil (Richard) Greedy (Richard) yang tidak relevan. Dengan p buah predicate k-ary dan n constant, ada p × nk instantiation!

Unification Isi KB : Definisi unification ∀ x King(x) ∧ Greedy (x) ⇒ Evil (x) ∀ y Greedy (y) King(John) Brother (Richard , John) Inference bahwa KB |= Evil (John) bisa langsung disimpulkan jika kita bisa mencari substitution θ sehingga King(x) dan Greedy (x) bisa “dicocokkan” dengan King(John) dan Greedy (y). Contoh: θ = {x /John, y /John} Definisi unification UNIFY(α, β) = θ jika SUBST(α,θ) = SUBST(β,θ)

Unification Contoh unification : Standardized apart variable menghilangkan overlap, mis: Sayang(x101, Ani) P q θ Sayang(Anto, x ) Sayang(Anto, Ani ) {x /Ani } Sayang(y , Ani ) {x /Ani , y /Anto} Sayang(y , Ibu (y )) {y /Anto, x /Ibu (Anto) Sayang(x , Ani ) fail

Inference Rule untuk FOL Generalized Modus Ponens (GMP) : Inference rule GMP : p1’, p2’, . . . , pn’, (p1 ∧ p2 ∧ . . . ∧ pn ⇒ q) qθ di mana pi’θ = piθ untuk semua i. p1’ = King(John) p1 = King(x) p2’ = Greedy(y) p2 = Greedy(x) θ = {x /John, y /John} q = Evil(x) qθ = Evil (John) GMP dengan KB yang berisi definite clauses (seperti Horn clause pada PL): p1 ∧ p2 ∧ . . . ∧ pn ⇒ q Semua variable diasumsikan universally quantified GMP adalah hasil lifting MP : “mengangkat” inference rule PL ke FOL. Kelebihan dibanding propositionalization : hanya melakukan substitution yang dibutuhkan oleh inference

Inference Rule untuk FOL Contoh knowledge base : Kalimat : “The law says that, it is a crime for an American to sell weapons to hostile nations. The country Nono, an enemy of America, has some missiles, and all of its missiles were sold to it by Colonel West, who is American.” Kalimat : “Hukum mengatakan bahwa, suatu kejahatan bagi orang Amerika yang menjual senjata ke negara-negara yang bermusuhan. Negara Nono dalah musuh Amerika, yang memiliki beberapa rudal, dan semua rudalnya dari yang dijual oleh Kolonel West, yang merupakan orang Amerika. Buktikan bahwa Col. West adalah criminal! Penyelesaian : . . . it is a crime for an American to sell weapons to hostile nations : American(x )∧Weapon(y)∧Sells(x , y , z )∧Hostile(z ) ⇒ Criminal(x )

Inference Rule untuk FOL Contoh knowledge base : Kalimat : “The law says that, it is a crime for an American to sell weapons to hostile nations. The country Nono, an enemy of America, has some missiles, and all of its missiles were sold to it by Colonel West, who is American.” Buktikan bahwa Col. West adalah criminal! Penyelesaian : . . . it is a crime for an American to sell weapons to hostile nations : American(x ) ∧ Weapon(y) ∧ Sells(x , y , z ) ∧ Hostile(z ) ⇒ Criminal(x) Nono . . . has some missiles : ∃ x Owns(Nono, x ) ∧ Missile(x ) Owns(Nono, M1) and Missile(M1) (Skolemization) . . . all of its missiles were sold to it by Colonel West : Missile(x ) ∧ Owns(Nono, x ) ⇒ Sells(West, x , Nono) Missiles are weapons : Missile(x ) ⇒ Weapon(x) An enemy of America counts as “hostile” : Enemy (x , America) ⇒ Hostile(x ) West, who is American . . . : American(West) The country Nono, an enemy of America . . . : Enemy (Nono, America) Perhatikan : Semua kalimat KB tersebut berbentuk definite clause.

Forward Chaining Forward chaining pada FOL dengan GMP : Mirip dengan forward chaining pada PL. Mulai dari fakta yang diketahui (clause tanpa premise), mis : Owns(Nono, M1), Missile(M1) “Aktifkan” (trigger) rule yang premise-nya diketahui (satisfied) → tambahkan kesimpulan rule ke KB, mis : Missile(x ) ∧ Owns(Nono, x ) ⇒ Sells(West, x , Nono) Ulangi sampai query terbukti, atau tidak ada fakta baru yang bisa ditambahkan ke KB. “Cocokkan” premise-premise setiap rule dengan fakta yang diketahui → pattern-matching dengan unification

Forward Chaining Algoritma forward chaining :

Forward Chaining Contoh Forward Chaining FOL : . . . it is a crime for an American to sell weapons to hostile nations : American(x ) ∧ Weapon(y) ∧ Sells(x , y , z ) ∧ Hostile(z ) ⇒ Criminal(x) Nono . . . has some missiles : ∃ x Owns(Nono, x ) ∧ Missile(x ) Owns(Nono, M1) and Missile(M1) (Skolemization) . . . all of its missiles were sold to it by Colonel West : Missile(x ) ∧ Owns(Nono, x ) ⇒ Sells(West, x , Nono) Missiles are weapons : Missile(x ) ⇒ Weapon(x) An enemy of America counts as “hostile” : Enemy (x , America) ⇒ Hostile(x ) West, who is American . . . : American(West) The country Nono, an enemy of America . . . : Enemy (Nono, America)

Forward Chaining Contoh Forward Chaining FOL : . . . it is a crime for an American to sell weapons to hostile nations : American(x ) ∧ Weapon(y) ∧ Sells(x , y , z ) ∧ Hostile(z ) ⇒ Criminal(x) Nono . . . has some missiles : ∃ x Owns(Nono, x ) ∧ Missile(x ) Owns(Nono, M1) and Missile(M1) (Skolemization) . . . all of its missiles were sold to it by Colonel West : Missile(x ) ∧ Owns(Nono, x ) ⇒ Sells(West, x , Nono) Missiles are weapons : Missile(x ) ⇒ Weapon(x) An enemy of America counts as “hostile” : Enemy (x , America) ⇒ Hostile(x ) West, who is American . . . : American(West) The country Nono, an enemy of America . . . : Enemy (Nono, America)

Forward Chaining Contoh Forward Chaining FOL :

Forward Chaining Sifat Forward Chaining : Sound dan complete untuk first-order definite clause. Datalog = first-order definite clause tanpa function. Time complexity FC pada Datalog → polynomial Tapi pada kasus umum, bisa infinite loop kalau α tidak di-entail. (Konsekuensi dari teorema Church-Turing : entailment adalah semidecidable) Proses pattern matching pada premise NP-hard. Pattern matching premise NP-hard(Non-deterministic Polynomial-time hard)? Query ASK(KB,Colorable()) jhj CSP-nya menemui solusi! Terdapat kasus CSP 3SAT (satisfiability pada CNF dengan clause berukuran 3 literal) yang diketahui NP-hard. Diff(wa, nt ) ∧ Diff(wa, sa)∧ Diff(nt , q) ∧ Diff(nt , sa)∧ Diff(q, nsw ) ∧ Diff(q, sa)∧ Diff(nsw , v ) ∧ Diff(nsw , sa)∧ Diff(v , sa) ⇒ Colorable() Diff(Red , Blue) Diff(Red , Green) Diff(Green, Red ) Diff(Green, Blue) Diff(Blue, Red ) Diff(Blue, Green)

Backward chaining Backward chaining pada FOL dengan GMP :

Backward chaining Contoh Backward Chaining FOL :

Backward chaining Contoh Backward Chaining FOL :

Backward chaining Contoh Backward Chaining FOL :

Backward chaining Contoh Backward Chaining FOL :

Backward chaining Contoh Backward Chaining FOL :

Backward chaining Contoh Backward Chaining FOL :

Backward chaining Contoh Backward Chaining FOL :

Backward chaining Sifat Backward Chaining : Depth-first search : linear space complexity  incomplete (infinite loop)  repeated state  Prinsip dasar Logic Programming

Resolution Resolution pada FOL : Resolution inference rule pada FOL (lifting resolution PL) : di mana Contoh : di mana θ = {x /Anto} Gunakan resolution rule pada CNF (KB ∧ ¬α): complete untuk FOL

Resolution Mengubah FOL ke CNF : “Everyone who loves all animals is loved by someone:” ∀ x [∀ y Animal (y ) = ⇒ Loves(x , y )] = ⇒ [∃ y Loves(y , x )] Eliminasi implikasi dan biimplikasi ∀ x [¬∀ y ¬Animal (y ) ∨ Loves(x , y )] ∨ [∃ y Loves(y , x )] Pindahkan ¬ ke “dalam”: ¬∀ x , p ≡ ∃ x ¬p, ¬∃ x , p ≡ ∀ x ¬p : ∀ x [∃ y ¬(¬Animal (y ) ∨ Loves(x , y ))] ∨ [∃ y Loves(y , x )] ∀ x [∃ y ¬¬Animal (y ) ∧ ¬Loves(x , y )] ∨ [∃ y Loves(y , x )] ∀ x [∃ y Animal (y ) ∧ ¬Loves(x , y )] ∨ [∃ y Loves(y , x )] Standardize variables: setiap quantifier variable-nya beda ∀ x [∃ y Animal (y ) ∧ ¬Loves(x , y )] ∨ [∃ z Loves(z , x )] Skolemize: generalisasi existential instantiation. ∃ x diganti Skolem function universal quantified variable di “luar” : ∀ x [Animal (F (x )) ∧ ¬Loves(x , F (x ))] ∨ Loves(G(x ), x ) Buang universal quantifiers : [Animal (F (x )) ∧ ¬Loves(x , F (x ))] ∨ Loves(G(x ), x ) Distribusi ∧ over ∨ : [Animal (F (x )) ∨ Loves(G(x ), x )] ∧ [¬Loves(x , F (x )) ∨ Loves(G(x ), x )]

Resolution Contoh pembuktian dengan resolution :

Selesai