pertemuan 6

20
Sistem Berbasis Pengetahuan 3 SKS Eka Dyar W

Upload: abrianto-nugraha

Post on 14-Jan-2017

44 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Pertemuan 6

Sistem Berbasis Pengetahuan

3 SKSEka Dyar W

Page 2: Pertemuan 6

Outline

Inferensi II Forward chaining Backward chaining

Page 3: Pertemuan 6

Forward chaining

disebut data-driven Rule akan dieksekusi jika premis (bagian dari

IF) terpenuhi Penalaran berawal dari semua fakta yang

diketahui untuk menuju ke satu konklusi Baik digunakan jika tree melebar dan tidak

dalam, memudahkan pencarian breadth first (pencarian konklusi berproses level ke level)

Page 4: Pertemuan 6

Backward chaining

Disebut juga goal-driven Pilih konklusi dan coba buktikan

kebenarannya dengan menganalisa evidence / premis yang mendukung konklusi tersebut berdasarkan fakta yang diberikan

Memudahkan pencarian depth first, tree yang baik untuk depth first adalah yang menyempit dan dalam

Page 5: Pertemuan 6

Pengkodean yang diperoleh saat knowledge acquisition• A1 = suhu tubuh >=

38°C• A2 = pusing • A3 = pilek• A4 = batuk• A5 = batuk yang terus

menerus dimalam hari• A6 = nafas berbunyi

• P1 = demam biasa• P2 = batuk biasa• P3 = influensa/infeksi

virus• P4 = batuk rejan• P5 = infeksi saluran

nafas

Page 6: Pertemuan 6

Rule yang ada pada knowledge base R1 : IF A1 THEN P1 R2 : IF A4 THEN P2 R3 : IF (P1 or A2) and (P2 or A3) THEN P3 R4 : IF P3 and A5 THEN P4 R5 : IF P3 and A6 THEN P5

Page 7: Pertemuan 6

Fakta-fakta yang diperoleh dari user adalah demam, pusing, batuk dan batuk tersebut lebih sering di malam hari (A1, A2, A4, A5 benar

Page 8: Pertemuan 6

A1 A4

P1 P2A2 A3

P3A6

P5

A5

P4

Tree untuk rule tersebut

Page 9: Pertemuan 6

Algoritma Forward chaining1. Catat semua fakta yang diinputkan oleh user2. Catat semua rule yang bagian premisnya menggunakan fakta yang

sesuai ke dalam queue Q3. Sampai tidak ada rule pada Q :

a. Analisa rule pertama pada Qb. Jika premis tidak terpenuhi, hapus rule dari Q dan kembali ke ac. Jika premis terpenuhi :

- eksekusi rule, catat konklusi dari rule- Cari rule yang menggunakan konklusi tersebut sebagai premis- Jika rule belum ada pada Q, catat rule tersebut meskipun premis

tidak sepenuhnya terpenuhi.- Hapus rule awal dari Q

4. Konklusi akhir diperoleh

Page 10: Pertemuan 6

Penyelesaian dengan forward chaining1. Fakta dari user A1, A2, A3, A4, A52. Rule yang sesuai = R1, R2, R3, R43. Sampai tidak ada rule pada Q

Q R K

Iterasi 1 R1, R2, R3, R4 R1 P1

Iterasi 2 R2, R3, R4 R2 P2

Iterasi 3 R3, R4 R3 P3

Iterasi 4 R4 R4 P4

Page 11: Pertemuan 6

Algoritma backward chaining1. Catat GOAL pada TOS (top of stack)2. Catat semua rule yang memenuhi GOAL3. Untuk setiap rule :

a. Jika semua premis terpenuhi, maka eksekusi rule untuk mendapat konklusi, proses selesai

b. Jika sebuah premis tidak terpenuhi, cari rule yang menurunkan nilai dari parameter premis tsb. Maka Jika ada, maka asumsi parameter tsb adalah SUBGOAL, letakkan pada TOS.

c. Jika tidak ada, maka tanyakan kepada user apa nilai dari parameter tsb. Jika nilai ini sesuai premis, lanjutkan pada premis berikutnya. Jika premis tidak sesuai lanjutkan ke rule berikutnya.

4. Jika semua rule sudah dianalisa dan semuanya gagal, maka GOAL tidak ada. Hapus GOAL dari stack dan kembali ke langkah 2. Jika stack kosong, proses selesai

Page 12: Pertemuan 6

Penyelesaian dengan backward chaining1. Goal pada TOS adalah P4 (batuk rejan) atau P5 (infeksi

saluran pernapasan) 2. Rule yang memenuhi goal = R4 dan R53. Eksekusi untuk R4

Known fact ()a. –b. premis 1 P3 menjadi goal baru pada TOS

a. rule yang memenuhi goal P3 R3 premis 1 P1 or A2 A2 (T) premis 2 P2 or A3 P2 menjadi goal baru

pada TOS

Page 13: Pertemuan 6

a. rule yang memenuhi goal P2 R2

premis A4 (T) eksekusi R2 didapatkan premis 2 (T)

eksekusi R3 didapatkan P3 (T)Premis 2 tidak ada rule yang menurunkan A5, tanyakanke user nilai dari A5 TEksekusi R4 T&T P4Stack kosongProses selesaiKesimpulan P4(batuk rejan)

Page 14: Pertemuan 6

Forward atau backward ?

Cek hubungan antara rule dengan fakta utk menghasilkan konklusi Sekumpulan fakta banyak konklusi backward

chaining Sekumpulan hipotesis banyak pertanyaan forward

chaining Banyak cara utk mendapatkan sedikit konklusi

forward chaining Sedikit cara untuk mendapatkan banyak konklusi

backward chaining

Page 15: Pertemuan 6

Latihan

Z1 IF x has hair THEN X is a mammal Z2 IF x gives milk THEN x is a mammal Z3 IF x has feathers THEN x is a bird Z4 IF x flies AND x lays eggs THEN x is a bird Z5 IF x is a mammal AND x eats meat THEN x

is a carnivore Z6 IF x is a mammal AND x has pointed teeth

AND x has claws AND x has forward pointing eyes THEN x is a carnivore

Page 16: Pertemuan 6

Z7 IF x is a mammal AND x has hoofs THEN x is an ungulate

Z8 IF x is a mammal AND x chews end THEN x is an ungulate

Z9 IF x is carnivore AND x has tawny color AND x has dark spots THEN x is a cheetah

Z10 IF x is a carnivore AND X has tawny color AND x has black strips THEN x is a tiger

Z11 IF x is an ungulate AND x has long neck AND x has long legs AND x has tawny color AND x has dark spots THEN x is a giraffe

Page 17: Pertemuan 6

Z12 IF x is an ungulate AND x has white color AND x has black strips THEN x is a zebra

Z13 IF X is a bird AND x does not fly AND x has long legs AND x has long neck AND x

has black and white THEN x is a ostrich Z14 IF x is a bird AND x does not fly AND x

swims AND x has black and white THEN x is a penguin

Z15 IF x is a bird AND x is a good flyer THEN x is albatross

Page 18: Pertemuan 6

Fakta dari user x : Gives milk Chews Has white color Has black strips

Penyelesaian dengan forward dan backward chaining ?

Page 19: Pertemuan 6

Minggu depan

Implementasi forward dan backward chaining

Page 20: Pertemuan 6

Eka Dyar W [email protected]

Sekian