Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehLiana Sudirman Telah diubah "7 tahun yang lalu
1
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
2
Pokok Bahasan Mengubah FOL inference ke PL inference Unification
Inference Rule untuk FOL Forward chaining Backward chaining Resolution (The Next) Latihan Individu + Tugas Kelompok
3
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)
4
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)
5
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)) ……
6
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. ……
7
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
8
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.
9
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)
10
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!
11
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(β,θ)
12
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
13
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
14
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 )
15
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.
16
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
17
Forward Chaining Algoritma forward chaining :
18
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)
19
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)
20
Forward Chaining Contoh Forward Chaining FOL :
21
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)
22
Backward chaining Backward chaining pada FOL dengan GMP :
23
Backward chaining Contoh Backward Chaining FOL :
24
Backward chaining Contoh Backward Chaining FOL :
25
Backward chaining Contoh Backward Chaining FOL :
26
Backward chaining Contoh Backward Chaining FOL :
27
Backward chaining Contoh Backward Chaining FOL :
28
Backward chaining Contoh Backward Chaining FOL :
29
Backward chaining Contoh Backward Chaining FOL :
30
Backward chaining Sifat Backward Chaining : Depth-first search :
linear space complexity incomplete (infinite loop) repeated state Prinsip dasar Logic Programming
31
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
32
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 )]
33
Resolution Contoh pembuktian dengan resolution :
34
Selesai
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.