• Tidak ada hasil yang ditemukan

Pengantar Intelijensia Buatan. Pertemuan 14 FOL Reasoning & PROLOG

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pengantar Intelijensia Buatan. Pertemuan 14 FOL Reasoning & PROLOG"

Copied!
50
0
0

Teks penuh

(1)

Pengantar Intelijensia Buatan

Pertemuan 14

(2)

Previously on AI

Pengenalan FOL

Metode inferensi FOL

(3)

Topic for Today

Generalized Modus Ponens

Forward & backward Chaining

Resolution & Refutation

(4)

Generalized modus ponens

Generalized modus ponens menggabungkan and

introduction, universal elimination, dan modus ponens

menjadi satu aksi.

Untuk setiap atomic sentence p

1

’,p

2

’, dan q ,

dimana terdapat subtitution Ө sehingga

SUBST(Ө,p

1

’)=SUBST(Ө,p

1

),

untuk semua i :

)

,

(

)

..

(

,

'

,....

'

,

'

2

1

2

1

q

SUBST

q

p

p

p

p

p

p

n

n

(5)

Generalized modus ponens

Contoh :

P

1

’ is Missile(M1)  P

1

is Missile(x)

P

2

’ is Owns(y,M1)  P

2

is Owns(nono,x)

Ө is {x/M1,y/nono}  q is Sells(west,nono,x)

(6)

Generalized modus ponens

Generalized modus ponens adalah metode inferensi yang efisien

karena 3 alasan :

1.

GMP mereduksi 3 langkah inferensi yang kecil menjadi

satu langkah yang besar.

2.

Daripada menggunakan universal elimination GMP

mengambil langkah yang masuk akal dengan

menggunakan subtitusi yang dijamin menguntungkan

3.

Agar lebih efisien GMP menggunakan langkah

pre-compilation dengan menggubah semua kalimat di KB

dalam bentuk canonical form agar mudah untuk

diproses

(7)

Canonical form

Dalam GMP semua kalimat dalam KB harus berupa

atomic sentence

atau

sebuah implikasi dengan

konjungsi di sebelah kiri dan sebuah kalimat atomic

di sebelah kanan

Bentuk seperti ini disebut juga

horn sentences

atau

canonical form

.

Kita harus menggubah semua kalimat yang masuk

ke dalam KB ke dalam bentuk canonical.

(8)

Unification

Unification adalah bagian yang penting dalam GMP,

unification mengambil dua kalimat dan

mengembalikan sebuah subtitusi yang membuat

dua kalimat itu sama apabila subtitusi seperti itu

memungkinkan.

Example : UNIFY(Knows(John, x), Knows(John, Jane) = {x/Jane}

)

,

(

)

,

(

,

)

,

(

p

q

whereSUBST

p

SUBST

q

UNIFY

(9)
(10)

Sample proof revisited

erica)

Country(Am

America)

,

Enemy(Nono

no)

Country(No

est)

American(W

Hostile(x)

America)

Enemy(x,

Weapon(x)

Missile(x)

x)

Nono,

,

Sells(West

Missile(x)

x)

Owns(Nono,

)

Missile(M1

M1)

Owns(Nono,

)

Criminal(x

y)

z,

Sells(x,

Country(z)

Weapon(y)

)

American(x

(11)

Constructing a reasoning program

Ada dua cara untuk menggunakan generalized

modus ponens untuk membentuk reasoning

program:

Forward Chaining

(12)

Forward Chaining.

Forward Chaining dilakukan ketika sebuah

fakta baru

(anggap saja p

1

) dimasukan ke

dalam KB

Idenya adalah mencari

semua implikasi

yang

mungkin terjadi dengan p

1

sebagai premis,

ketika suatu implikasi sudah ditemukan,

implikasi itu mentrigger kembali forward

chaining, sampai akhirnya semua fakta yang

(13)

Forward chaining

Contoh

Kita mulai dengan KB yang mengandung implikasi dalam

bentuk

horn clause

.

Cari kemudian fakta yang dapat diunifikasikan ke

dalamnya.

Hostile(x)

America)

Enemy(x,

Weapon(x)

Missile(x)

x)

Nono,

,

Sells(West

Missile(x)

x)

Owns(Nono,

)

Criminal(x

y)

z,

Sells(x,

Hostile(z)

Country(z)

Weapon(y)

)

American(x

(14)

Forward chaining

Forward chaining secara bertahap membentuk

gambaran baru akan dunia bersamaan dengan

penerimaan data, forward chaining tidak

diarahkan untuk menyelesaikan suatu

permasalahan tertentu, karenanya metoda ini

disebut juga

data-driven

atau

data-directed

procedure.

Forward chaining dapat menghasilkan banyak

kesimpulan yang pada akhirnya tidak digunakan

(sia-sia)

(15)

Forward chaining

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

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

FOL-FC-ASK(KB, American(West))

FOL-FC-ASK(KB, Country(Nono))

FOL-FC-ASK(KB, Enemy(Nono, America))

FOL-FC-ASK(KB, Hostile(Nono))

FOL-FC-ASK(KB, Owns(Nono,M1))

FOL-FC-ASK(KB, Missile(M1))

FOL-FC-ASK(KB, Sells(West,Nono,M1))

FOL-FC-ASK(KB, Weapon(M1))

FOL-FC-ASK(KB, Criminal(West))

Country(Nono)

(16)
(17)

Backward Chaining

Backward chaining di desain untuk

menemukan

semua jawaban

atas pertanyaan yang diajukan

kepada knowledge base.

Cara kerjanya adalah dengan memeriksa apakah

jawaban

dapat dihasilkan secara langsung dari

knowledge base, lalu ia mencari

semua implikasi

yang

kesimpulannya adalah jawaban dari pertanyaan dan

kemudian berusaha untuk

memenuhi semua premis

(18)

Backward Chaining

Criminal(x)

American(x) Weapon(y) Country(z) Hostile(z) Sells(x,z,y) Yes{x/West} Missile(y) Yes{y/M1t} Enemy(z,America) Yes{z/nono} Yes{z/Nono} Owns(Nono,M1) Missile(M1) Yes{} Yes{}

(19)
(20)

Backward Chaining

Criminal(x)

Weapon(y) Country(z) Hostile(America) Sells(x,z,y) Yes {x/West}

Missile(y) Yes {y/M1t}

Yes {z/America} failed American(x)

(21)

Resolution

Generalized modus ponens tidak complete,

masih ada beberapa kalimat benar yang tidak

bisa diinferensi oleh prosedur ini.

Untuk mengatasi masalah ini kita

menggunakan metode

resolusi

, prosedure

(22)

Inference resolution rule ?

,

,

(23)

Resolution inference

Untuk mencari solusi menggunakan

resolusi kita harus mengubah KB menjadi

bentuk

Conjunctive Normal Form

(CNF)

(24)

Generalized resolution (disjunction)

n k m j

q

q

q

p

p

p

....

...

....

...

1 1

)

....

...

....

...

,

(

p

1

p

j 1

p

j 1

p

m

q

1

q

k 1

q

k 1

q

n

SUBST

(25)

Generalized resolution

(implication)

4 n k 1 3 n 1 2 n 1 1 n j 1

q

....

q

...

q

s

....

s

r

...

r

p

....

p

...

p

)

....

...

...

...

....

...

,

(

1 1 1 2 1 3 1 1 1 1 n k k n n m j j

q

q

q

q

r

r

s

s

p

p

p

p

SUBST

   

(26)

Example of resolution

Anggaplah kita memiliki KB berikut :

Kita ingin membuktikan S(A) adalah true

S(x)

R(x)

x,

S(x)

Q(x)

x,

R(x)

P(x)

x,

Q(x)

P(x)

x,

(27)

Example of resolution

S(y)

P(y)

S(y)

P(y)

)

(

)

(

x

R

x

P

)

(

)

(

)

(

)

(

z

S

z

R

z

S

z

R

Q(w)

P(w)

Q(w)

P(w)

)

(

)

(

)

(

)

(

y

S

y

Q

y

S

y

Q

)

(

)

(

x

R

x

S

)

(z

S

true

Apply:

-elemination

Apply:  elem

Apply:  elem, resolution

(28)

Refutation

Chaining dengan resolusi lebih baik dari GMP

namun tetap

tidak complete

Cobalah menyelesaikan masalah ini dengan

resolution dalam sebuah KB kosong :

Prosedur inferensi yang totally complete adalah

refutation

)

(

)

(

x

P

x

P

(29)

Refutation

Refutation adalah pembuktian berdasarkan

kontradiksi

atau

reductio ad absurdum

Idenya adalah untuk membuktikan P itu benar,

maka kita asumsikan bahwa P itu salah

(

tambahkan ~P ke KB

) dan buktikan bahwa suatu

kontradiksi terjadi (true => false, false => true).

Jika suatu kontradiksi terjadi maka P dikatakan

terbukti benar

P

KB

false

P

KB

)

(

(30)

Refutation example

false

z

S

(

)

)

(

)

(

y

S

y

P

true

P

(

x

)

R

(

x

)

)

(

)

(

z

S

z

R

)

(

)

(

w

Q

w

P

Q

(

y

)

S

(

y

)

)

(

)

(

x

R

x

S

true

)

(z

S

true

false

true

Rules Facts

(31)
(32)
(33)

Example proof of refutation

Jack owns a dog

Every dog owner is an animal lover

No animal lover kills animal

Either jack or curiosity killed the cat, who is

named tuna

(34)

FOL

Animal(x)

Cat(x)

x,

Cat(Tuna)

Tuna)

osity,

Kills(Curi

Tuna)

,

Kills(Jack

false

y)

Kills(x,

Animal(y)

r(x)

AnimalLove

x,

r(y)

AnimalLove

Dog(x))

x)

Owns(y,

x,

(

y,

Dog(x)

x)

Owns(Jack,

x,

(35)

Implicative Normal Form

Animal(x)

Cat(x)

Cat(Tuna)

Tuna)

osity,

Kills(Curi

Tuna)

,

Kills(Jack

false

y)

Kills(x,

Animal(y)

r(x)

AnimalLove

r(x)

AnimalLove

y)

Owns(x,

Dog(y)

D)

Owns(Jack,

Dog(D)

(36)

Refutation ?

Dog (D)

Dog (y)

Owns(x,y)

AnimalLover(x)

Owns(x,D)

AnimalLover(x)

Owns(Jack,D)

AnimalLover(Jack)

(37)

Refutation

)

(Tuna

Cat

Cat

(

x

)

Animal

(

x

)

false

x

y

Kills

x

Animal

y

r

AnimalLove

(

)

(

)

(

,

)

)

(Tuna

Animal

false

Tuna

x

Kills

y

r

AnimalLove

(

)

(

,

)

(38)

Refutation

false

Tuna

x

Kills

y

r

AnimalLove

(

)

(

,

)

AnimalLove

r

(Jack

)

false

Tuna

Jack

(39)

Refutation

False

false

Tuna

Curiosity

Kills

(

,

)

)

,

(

)

,

(

Tuna

Curiosity

Kills

Tuna

Jack

Kills

false

Tuna

Jack

(40)
(41)
(42)

Introduction to prolog

PROLOG = “Programmation en logique” (Marseille, 1972) Declarative programming language with procedural elements Used for problems of AI / knowledge-based (expert) systems

Motivation:

reconcile use of logic as declarative knowledge representation with procedural representation of knowledge

Strengths:

Logical descriptions of problems, instead of HOW to solve them  let computer work out the solution

Well-suited for problems involving search

Simple programs can be understood by reading the code

Limitations

(43)

Facts

Prolog-program = collection of clauses Facts

Rules

Goals (queries), shaped liked facts

Facts describe properties of objects and relations between objects; comparable to tables in a relational database

student Name Hans Tina Lars Frida Prolog notation: student(hans). student(tina). student(lars). student(frida). interest Name Hans Tina Lars Frida Prolog notation: interest(hans,math). interest(tina,datalogi). interest(lars,physics). interest(frida,math). Math Physics Subject Datalogi Math Prolog notation: <predicate_name>(arg1, arg2…).

(44)

Rules

Simple IF-THEN statements

“Every reasonable student is interested in math.” interest(X,math) :- student(X).

head body

All specified conditions in the body (all clauses) must be true to make the predicate in the head true.

Conjunctions (AND connected):

mother(X,Person) :- parent(X,Person),sex(X,female). Disjunctions (OR connected):

interest(X,prolog) :- interest(X,artificial_intelligence). interest(X,prolog) :- interest(X,logic).

(45)

Goals

Goals are queries

One ore more subgoals ?- student(thomas).

=> no

Pattern matching: a fact matches a goal if Same predicate

Same corresponding arguments. Goals can contain variables:

?- student(X). => X = hans ; => X = tina ; => X = lars ; => X = frida ; => no.

(46)

Prolog’s Inference mechanism

Leftmost-depth-first search for solutions

Matching: either two terms are identical, or they become identical by variable substitution (resolution based on pred.logic)

Processing of subgoals from left to right

Backtracking 1: s(a). 2: s(b). 3: q(a). 4: p(X) :- s(X). 5: p(Y) :- q(Y). ?- p(Z). p(Z) s(Z) 4 5 1 2 Z=a Z=b Z=a q(Z) 3

(47)

Backward Chaining

the Prolog interpreter uses backward chaining: starting from a goal (theorem)

prove the goal by searching for rules whose ”head” (action part) matches the goal

Given are the following rules:

H X B C E B H C F H C A E         facts prove

B

A,

X

X H F&C B&E F C B B E A C B OR AND AND AND 1 2 3 4 5

(48)

Latihan Inferensi dan Refutasi FOL (1)

Buktikan bahwa “Marcus membenci Caesar”

Facts

Marcus adalah seorang manusia

Marcus orang Pompei

Marcus mencoba membunuh Caesar

Caesar adalah seorang penguasa

Rules

Semua orang Pompei adalah orang Romawi

Semua orang Romawi setia pada Caesar atau

membenci Caesar

Setiap orang setia pada minimal 1 orang

Orang hanya mencoba membunuh penguasa yang

kepadanya mereka tidak setia

(49)
(50)

Latihan FOL (2)

Gunakan FOL ini menjadi bentuk CNF

Buktikan : Rich(Me) dengan refutation.

)

(

)

(

,

)

(

)

(

,

)

(

)

(

,

)

(

)

(

,

x

Rich

x

ng

EarlyEarni

x

x

Rich

x

ified

HighlyQual

x

x

ng

EarlyEarni

x

PHD

x

x

Qualified

x

PHD

x

Referensi

Dokumen terkait

Bila “Alamat email” yang terdaftar pada “Profil Skype” berbeda dengan alamat email yang digunakan untuk tindak lanjut kesehatan setelah masuk ke Jepang, lakukan “Edit”

Pernyataan di bawah yang merupakan persamaan dari gelombang stasioner pada tali ujung bebas adalah .... Cepat rambat gelombang stasioner pada

Video &#34;The Grammar Gear: A Fun Journey to Learn 12 Basic Tenses&#34; menyampaikan materi yang diproduksi untuk tujuan spesifik, yaitu pelajar yang sudah mempelajari

Fakultas Keguruan dan Ilmu Pendidikan bekerjasama dengan SMAN 3 Penajam Paser Utara melakukan kerjasama pembinaan guru-guru di Sekolah Menengah Atas Negeri 3 Penajam Paser

Pelaksanaan penelitian mulai kegiatan manajemen di sekolah di bawah pimpinan kepala sekolah kita observasi, melaksanakan kunjungan rumah dengan wawancara, dan

Berdasarkan hasil penelitian tindakan kelas yang dilaksanakan dalam dua siklus yang masing- masing siklus terdiri dari dua kali pertemuan maka dapat ditarik kesimpulan bahwa

Oleh karena itu untuk meningkatkan prestasi dan produktivitas kerja harus memberikan kompensasi yang layak kepada karyawan sesuai dengan kemampuan perusahaan

Kultur jaringan adalah teknik perbanyakan tanaman dengan cara mengisolasi bagian tanaman seperti daun, mata tunas, serta menumbuhkan bagian tersebut dalam media