• Tidak ada hasil yang ditemukan

IKI 30320: Sistem Cerdas Kuliah 13: Inference in FOL

N/A
N/A
Protected

Academic year: 2021

Membagikan "IKI 30320: Sistem Cerdas Kuliah 13: Inference in FOL"

Copied!
71
0
0

Teks penuh

(1)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

IKI 30320: Sistem Cerdas

Kuliah 13: Inference in FOL

Ruli Manurung

Fakultas Ilmu Komputer Universitas Indonesia

(2)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Outline

1

Mengubah FOL ke PL

2

Unification

3

Inference Rule untuk FOL

4

Forward chaining

5

Backward chaining

6

Logic programming

7

Resolution

(3)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Outline

1

Mengubah FOL ke PL

2

Unification

3

Inference Rule untuk FOL

4

Forward chaining

5

Backward chaining

6

Logic programming

7

Resolution

(4)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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: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!

(5)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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: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!

(6)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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 , FasilkomUI) ⇒ pintar (x )

β = ∃

x mahasiswa(x , Gundar ) ∧ pintar (x )

σ = {x /Anto}

SUBST(σ, α) menghasilkan instantiation:

mahasiswa(Anto, FasilkomUI) ⇒ pintar (Anto)

SUBST(σ, β) menghasilkan instantiation:

(7)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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 , FasilkomUI) ⇒ pintar (x )

β = ∃

x mahasiswa(x , Gundar ) ∧ pintar (x )

σ = {x /Anto}

SUBST(σ, α) menghasilkan instantiation:

mahasiswa(Anto, FasilkomUI) ⇒ pintar (Anto)

SUBST(σ, β) menghasilkan instantiation:

(8)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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 , FasilkomUI) ⇒ pintar (x )

β = ∃

x mahasiswa(x , Gundar ) ∧ pintar (x )

σ = {x /Anto}

SUBST(σ, α) menghasilkan instantiation:

mahasiswa(Anto, FasilkomUI) ⇒ pintar (Anto)

SUBST(σ, β) menghasilkan instantiation:

(9)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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)) ..

(10)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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 C1adalah constant symbol yangbaru, disebut Skolem

(11)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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 jhj KB yang lama juga

satisfiable →

inferentially equivalent

(12)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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 dikatakanpropositionalized: proposition symbol-nya:

(13)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Inference FOL menggunakan inference PL

Ide dasar: ubah KB + query dari FOL menjadi PL, lalu gunakan resolution.

Masalah: dengan adanyafunction, jumlahground termmenjadiinfinite Greedy (Father (John))

Greedy (Father (Father (John)))

Greedy (Father (Father (Father (John)))), dst.

Teorema Herbrand (1930): jika FOL KB |= α, ada sebuahfinite

subsetPL KB |= α.

Ide dasar: For n = 0 to ∞

Buat propositional KBndengan 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.

(14)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Inference FOL menggunakan inference PL

Ide dasar: ubah KB + query dari FOL menjadi PL, lalu gunakan resolution.

Masalah: dengan adanyafunction, jumlahground termmenjadiinfinite Greedy (Father (John))

Greedy (Father (Father (John)))

Greedy (Father (Father (Father (John)))), dst.

Teorema Herbrand (1930): jika FOL KB |= α, ada sebuahfinite

subsetPL KB |= α.

Ide dasar: For n = 0 to ∞

Buat propositional KBndengan 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.

(15)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Inference FOL menggunakan inference PL

Ide dasar: ubah KB + query dari FOL menjadi PL, lalu gunakan resolution.

Masalah: dengan adanyafunction, jumlahground termmenjadiinfinite Greedy (Father (John))

Greedy (Father (Father (John)))

Greedy (Father (Father (Father (John)))), dst.

Teorema Herbrand (1930): jika FOL KB |= α, ada sebuahfinite

subsetPL KB |= α.

Ide dasar: For n = 0 to ∞

Buat propositional KBndengan 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.

(16)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Inference FOL menggunakan inference PL

Ide dasar: ubah KB + query dari FOL menjadi PL, lalu gunakan resolution.

Masalah: dengan adanyafunction, jumlahground termmenjadiinfinite Greedy (Father (John))

Greedy (Father (Father (John)))

Greedy (Father (Father (Father (John)))), dst.

Teorema Herbrand (1930): jika FOL KB |= α, ada sebuahfinite

subsetPL KB |= α.

Ide dasar: For n = 0 to ∞

Buat propositional KBndengan 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.

(17)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Inference FOL menggunakan inference PL

Ide dasar: ubah KB + query dari FOL menjadi PL, lalu gunakan resolution.

Masalah: dengan adanyafunction, jumlahground termmenjadiinfinite Greedy (Father (John))

Greedy (Father (Father (John)))

Greedy (Father (Father (Father (John)))), dst.

Teorema Herbrand (1930): jika FOL KB |= α, ada sebuahfinite

subsetPL KB |= α.

Ide dasar: For n = 0 to ∞

Buat propositional KBndengan 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.

(18)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Masalah dengan propositionalization

Propositionalizationmenghasilkan 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 kalauEvil(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

(19)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Outline

1

Mengubah FOL ke PL

2

Unification

3

Inference Rule untuk FOL

4

Forward chaining

5

Backward chaining

6

Logic programming

7

Resolution

(20)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Unification

Isi KB

∀ x King(x) ∧ Greedy (x) ⇒ Evil(x) ∀ y Greedy (y )

King(John)

Brother (Richard , John)

Inference bahwaKB |= Evil(John)bisa langsung disimpulkan jika kita

bisa mencarisubstitution θsehinggaKing(x )danGreedy (x )bisa

“dicocokkan”denganKing(John)danGreedy (y ).

Contoh:θ = {x /John, y /John}

Definisi unification

(21)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contah unification

p

q

θ

Sayang(Anto, x )

Sayang(Anto, Ani)

{x/Ani}

Sayang(Anto, x )

Sayang(y , Ani)

{x/Ani, y /Anto}

Sayang(Anto, x )

Sayang(y , Ibu(y ))

{y /Anto, x/Ibu(Anto)}

Sayang(Anto, x )

Sayang(x , Ani)

fail

Standardized apart

variable menghilangkan overlap,

mis: Sayang(x

101

,

Ani)

Lihat Figure 9.1 R&N2e untuk implementasi algoritma

Unification

(22)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contah unification

p

q

θ

Sayang(Anto, x )

Sayang(Anto, Ani)

{x/Ani}

Sayang(Anto, x )

Sayang(y , Ani)

{x/Ani, y /Anto}

Sayang(Anto, x )

Sayang(y , Ibu(y ))

{y /Anto, x/Ibu(Anto)}

Sayang(Anto, x )

Sayang(x , Ani)

fail

Standardized apart

variable menghilangkan overlap,

mis: Sayang(x

101

,

Ani)

Lihat Figure 9.1 R&N2e untuk implementasi algoritma

Unification

(23)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contah unification

p

q

θ

Sayang(Anto, x )

Sayang(Anto, Ani)

{x/Ani}

Sayang(Anto, x )

Sayang(y , Ani)

{x/Ani, y /Anto}

Sayang(Anto, x )

Sayang(y , Ibu(y ))

{y /Anto, x/Ibu(Anto)}

Sayang(Anto, x )

Sayang(x , Ani)

fail

Standardized apart

variable menghilangkan overlap,

mis: Sayang(x

101

,

Ani)

Lihat Figure 9.1 R&N2e untuk implementasi algoritma

Unification

(24)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contah unification

p

q

θ

Sayang(Anto, x )

Sayang(Anto, Ani)

{x/Ani}

Sayang(Anto, x )

Sayang(y , Ani)

{x/Ani, y /Anto}

Sayang(Anto, x )

Sayang(y , Ibu(y ))

{y /Anto, x/Ibu(Anto)}

Sayang(Anto, x )

Sayang(x , Ani)

fail

Standardized apart

variable menghilangkan overlap,

mis: Sayang(x

101

,

Ani)

Lihat Figure 9.1 R&N2e untuk implementasi algoritma

Unification

(25)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contah unification

p

q

θ

Sayang(Anto, x )

Sayang(Anto, Ani)

{x/Ani}

Sayang(Anto, x )

Sayang(y , Ani)

{x/Ani, y /Anto}

Sayang(Anto, x )

Sayang(y , Ibu(y ))

{y /Anto, x/Ibu(Anto)}

Sayang(Anto, x )

Sayang(x , Ani)

fail

Standardized apart

variable menghilangkan overlap,

mis: Sayang(x

101

,

Ani)

Lihat Figure 9.1 R&N2e untuk implementasi algoritma

Unification

(26)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Outline

1

Mengubah FOL ke PL

2

Unification

3

Inference Rule untuk FOL

4

Forward chaining

5

Backward chaining

6

Logic programming

7

Resolution

(27)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Generalized Modus Ponens

Inference rule GMP

p10, p20, . . . , pn0, (p1∧ p2∧ . . . ∧ pn⇒ q)

qθ di mana pi0θ =piθuntuk semua i

p10= King(John) p1= King(x )

p20= Greedy (y ) p2= Greedy (x )

θ= {x /John, y /John} q = Evil(x )

qθ = Evil(John)

GMP dengan KB yang berisidefinite clauses(seperti Horn clause

pada PL):p1∧ p2∧ . . . ∧ pn⇒ q

Semua variable diasumsikanuniversally quantified

GMP adalah hasilliftingMP: “mengangkat” inference rule PL ke

FOL. Ada versi lifted untuk forward & backward chaining, resolution Kelebihan dibanding propositionalization: hanya melakukan substitution yang dibutuhkan oleh inference

(28)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh knowledge base

Versi bahasa Inggris

“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.”

(29)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(30)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(31)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(32)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(33)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(34)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(35)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(36)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(37)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(38)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(39)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(40)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(41)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(42)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(43)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Penerjemahan Bhs Inggris ke 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)

Perhatikan:

(44)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Outline

1

Mengubah FOL ke PL

2

Unification

3

Inference Rule untuk FOL

4

Forward chaining

5

Backward chaining

6

Logic programming

7

Resolution

(45)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Forward chaining pada FOL dengan GMP

Mirip dengan forward chaining pada PL

Mulai dari fakta yang diketahui (clause tanpa premise),

mis:

Owns(Nono, M

1

),

Missile(M

1

)

“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

(46)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Forward chaining pada FOL dengan GMP

Algoritma forward chaining

function FOL-FC-ASK(KB, α)returns a substitution or false repeat until new is empty

new ← { }

for each sentence r in KB do

(p1∧ . . . ∧ pn =⇒ q) ← STANDARDIZE-APART(r)

for each θ such that (p1 ∧ . . . ∧ pn)θ = (p10 ∧ . . . ∧ p0n)θ

for some p0 1, . . . ,p

0 nin KB

q0← SUBST(θ, q)

if q0isn’t a renaming of sentence in KB or newthen do

add q0to new

φ ←UNIFY(q0, α)

if φ is not fail then return φ

add new to KB

(47)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Forward Chaining FOL

Enemy(Nono,America) Owns(Nono,M1)

Missile(M1) American(West)

(48)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Forward Chaining FOL

Hostile(Nono) Enemy(Nono,America) Owns(Nono,M1) Missile(M1) American(West) Weapon(M1) Sells(West,M1,Nono)

(49)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Forward Chaining FOL

Hostile(Nono) Enemy(Nono,America) Owns(Nono,M1) Missile(M1) American(West) Weapon(M1) Criminal(West) Sells(West,M1,Nono)

(50)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

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)

(51)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Pattern matching premise NP-hard?

Victoria WA NT SA Q NSW V T

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)

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.

(52)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Outline

1

Mengubah FOL ke PL

2

Unification

3

Inference Rule untuk FOL

4

Forward chaining

5

Backward chaining

6

Logic programming

7

Resolution

(53)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Backward chaining pada FOL dengan GMP

Algoritma backward chaining

function FOL-BC-ASK(KB, goals, θ)returns a set of substitutions inputs: KB, a knowledge base

goals, a list of conjuncts forming a query

θ, the current substitution, initially the empty substitution { }

local variables: ans, a set of substitutions, initially empty if goals is empty then return {θ}

q0← SUBST(θ, FIRST(goals))

for each r in KB where STANDARDIZE-APART(r) = ( p1∧ . . . ∧ pn ⇒ q)

and θ0← UNIFY(q, q0) succeeds

ans ← FOL-BC-ASK(KB, [p1, . . . ,pn|REST(goals)], COMPOSE(θ0,

θ)) ∪ ans

(54)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Backward Chaining FOL

(55)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Backward Chaining FOL

Criminal(West)

Weapon(y)

American(x) Sells(x,y,z) Hostile(z)

(56)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Backward Chaining FOL

Criminal(West)

Weapon(y) Sells(x,y,z) Hostile(z)

{x/West}

{ } American(West)

(57)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Backward Chaining FOL

Hostile(Nono) Criminal(West) Missile(y) Weapon(y) Sells(West,M1,z) American(West) { } Sells(x,y,z) Hostile(z) {x/West}

(58)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Backward Chaining FOL

Hostile(Nono) Criminal(West) Missile(y) Weapon(y) Sells(West,M1,z) American(West) { } Sells(x,y,z) Hostile(z) y/M1 { } {x/West, y/M1}

(59)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Backward Chaining FOL

Owns(Nono,M1) Missile(M1) Criminal(West) Missile(y) Weapon(y) Sells(West,M1,z) American(West) y/M1 { } { z/Nono} { } Hostile(z) {x/West, y/M1, z/Nono}

(60)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Backward Chaining FOL

Hostile(Nono) Enemy(Nono,America) Owns(Nono,M1) Missile(M1) Criminal(West) Missile(y) Weapon(y) Sells(West,M1,z) American(West) y/M1 { } { } { } { } { z/Nono} { }

(61)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Sifat Backward Chaining

Depth-first search:

linear space complexity^¨ incomplete (infinite loop)_¨ repeated state_¨

(62)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Outline

1

Mengubah FOL ke PL

2

Unification

3

Inference Rule untuk FOL

4

Forward chaining

5

Backward chaining

6

Logic programming

7

Resolution

8

Ringkasan

(63)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Apakah Logic Programming?

Pemrograman dengan logika

Program = deklarasi fakta yang bernilai true Execution = proses inference (backward chaining)

Logic programming Programming biasa

1. Identifikasi masalah Identifikasi masalah

2. Kumpulkan informasi Kumpulkan informasi

3. Istirahat Pikirkan solusinya

4. Repr. informasi dalam KB Tulis program (source code)

5. Repr. masalah sebagai query Repr. masalah sebagai data

6. ASK(KB,query ) Jalankan program terhadap data

7. Cari fakta salah Debugging

(Harusnya) lebih mudah men-debug Ibukota(Bukittinggi, Indonesia) daripada x = x + 2 !

(64)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Prolog

Dasar: backward chaining pada Horn clause Banyak dipakai (EU,JAP “5th gen”)

Program berupa himpunan clause:

head :- literal1, . . . literaln.

Contoh

American(x ) ∧ Weapon(y ) ∧ Sells(x , y , z) ∧ Hostile(z) ⇒ Criminal(x )

criminal(X):-american(X),weapon(Y),sells(X,Y,Z),hostile(Z).

Aspek “non-logic” dari Prolog:

BC berjalan atas-ke-bawah (rule) dan kiri-ke-kanan (clause) Ada predikat untuk aritmetika:: X is Y*Z+3

Ada clause dengan “efek samping”: I/O Closed-world assumption: “negation as failure”: hidup(X) :- not mati(X).

(65)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh Prolog

Implementasi DFS pada state X

leluhur(X,Y) :- orangtua(X,Y).

leluhur(X,Z) :- leluhur(X,Y),orangtua(Y,Z).

Meng-append dua list

append([],Y,Y). append([X|L],Y,[X|Z]) :- append(L,Y,Z). query: append([1,2],[3,4],X) ? answers: X=[1,2,3,4] query: append(A,B,[1,2]) ? answers: A=[] B=[1,2] A=[1] B=[2] A=[1,2] B=[]

(66)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Outline

1

Mengubah FOL ke PL

2

Unification

3

Inference Rule untuk FOL

4

Forward chaining

5

Backward chaining

6

Logic programming

7

Resolution

(67)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Resolution pada FOL

Resolution inference rule pada FOL (lifting resolution PL): `1∨ · · · ∨ `k, m1∨ · · · ∨ mn (`1∨ · · · ∨ `i−1∨ `i+1∨ · · · ∨ `k∨ m1∨ · · · ∨ mj−1∨ mj+1∨ · · · ∨ mn)θ di mana UNIFY(`i, ¬mj) = θ. Contoh: ¬Kaya(x) ∨ Sedih(x) Kaya(Anto) Sedih(Anto) di mana θ = {x /Anto}

(68)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Mengubah FOL ke CNF

“Everyone who loves all animals is loved by someone:” ∀ x [∀ y Animal(y ) =⇒ Loves(x, y )] =⇒ [∃ y Loves(y , x)]

1 Eliminasi implikasi dan biimplikasi

∀ x [¬∀ y ¬Animal(y ) ∨ Loves(x, y )] ∨ [∃ y Loves(y , x)]

2 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)]

3 Standardizevariables: setiap quantifier variable-nya beda

∀ x [∃ y Animal(y ) ∧ ¬Loves(x, y )] ∨ [∃ z Loves(z, x)]

4 Skolemize: generalisasi existential instantiation. ∃ x diganti

Skolem functionuniversal quantified variable di “luar”:

∀ x [Animal(F (x)) ∧ ¬Loves(x, F (x))] ∨ Loves(G(x), x)

5 Buang universal quantifiers:

[Animal(F (x )) ∧ ¬Loves(x , F (x ))] ∨ Loves(G(x ), x )

6 Distribusi ∧ over ∨:

[Animal(F (x )) ∨ Loves(G(x ), x )] ∧ [¬Loves(x , F (x )) ∨ Loves(G(x ), x )]

(69)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Contoh pembuktian dengan resolution

American(West) Missile(M1) Missile(M1) Owns(Nono,M1) Enemy(Nono,America) Enemy(Nono,America) Criminal(x) Hostile(z) L Sells(x,y,z) L Weapon(y) L American(x) L > > > > Weapon(x) Missile(x) L > Sells(West,x,Nono) Missile(x) L Owns(Nono,x) L > > Hostile(x) Enemy(x,America) L > Sells(West,y,z) L Weapon(y) L American(West) L > > > LHostile(z) Sells(West,y,z) L Weapon(y) L > Hostile(z) L > Sells(West,y,z) L > > LHostile(z) L Missile(y) Hostile(z) L > L Sells(West,M1,z) > > L Hostile(Nono) L Owns(Nono,M1) L Missile(M1) > LHostile(Nono) LOwns(Nono,M1) L Hostile(Nono) Criminal(West) L

(70)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Outline

1

Mengubah FOL ke PL

2

Unification

3

Inference Rule untuk FOL

4

Forward chaining

5

Backward chaining

6

Logic programming

7

Resolution

(71)

IKI30320 Kuliah 13 5 Nov 2007 Ruli Manurung Mengubah FOL ke PL Unification Inference Rule untuk FOL Forward chaining Backward chaining Logic programming Resolution Ringkasan

Ringkasan

60’an: Inference FOL melalui PL

Unification

Generalized Modus Ponens: FC + BC

Logic programming: Prolog

Referensi

Dokumen terkait

018556715 IMPLEMENTASI PROGRAM SEKOLAH LAPANGAN PENGENALAN TANAMAN TERPADU SL-PTT PADI TAHUN 2013 DI KABUPATEN SINTANG STUDI DI DESA GURUNG MALI KECAMATAN TEMPUNAK KABUPATEN

Pengetahuan yang diperoleh dari suatu mata pelajaran kejuruan belum cukup digunakan sebagai bekal untuk memasuki dunia kerja sehingga diperlukan adanya pengalaman yang

Kelebihan dari teori ini adalah meneliti suatu kejadian kecalakaan secara menyeluruh sampai pada titik manajemen sedangkan kelemahan pada teori ini adalah tidak meneliti

Pengembangan melalui pembukaan jurusan atau fakutas baru seperti yang terdapat di perguruan tinggi umum bisa memberikan pengaruh terhadap jati diri Perguruan Tinggi Agama

Seperti biasa di newsletter bulan April ini, kami akan memberikan berbagai informasi seputar kegiatan promosi TAT Jakarta.Temukan informasi seputar travel fair, destinasi wisata,

Distribusi Tingkat Kecacatan Penderita Baru Kusta Berdasarkan hasil penelitian, tingkat kecacatan pada mata yang terbanyak adalah tingkat 0 atau tidak ada kecacatan dengan

2. Petugas ekspedisi mengirimkan lembar jawaban ujian kepada masing- masing Dosen penguji dengan membawa Berita Acara Serah terima Berkas Ujian. Dosen menerima berkas

Pada hari ini Sabtu tanggal Dua Puluh Enam Bulan Maret Tahun Dua Ribu Enam Belas, bertempat di Balai Desa Balingasal, Kecamatan Padureso, Kabupaten Kebumen