3. 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)
4. 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
5. 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
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
7. Fakta-fakta yang diperoleh dari user adalah
demam, pusing, batuk dan batuk tersebut
lebih sering di malam hari (A1, A2, A4, A5
benar
8. A1 A4
P1 P2A2 A3
P3A6
P5
A5
P4
Tree untuk rule tersebut
9. Algoritma Forward chaining
1. Catat semua fakta yang diinputkan oleh user
2. Catat semua rule yang bagian premisnya menggunakan fakta
yang sesuai ke dalam queue Q
3. Sampai tidak ada rule pada Q :
a. Analisa rule pertama pada Q
b. Jika premis tidak terpenuhi, hapus rule dari Q dan kembali ke a
c. 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
1. Konklusi akhir diperoleh
10. Penyelesaian dengan forward chaining
1. Fakta dari user A1, A2, A3, A4, A5
2. Rule yang sesuai = R1, R2, R3, R4
3. 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
11. Algoritma backward chaining
1. Catat GOAL pada TOS (top of stack)
2. Catat semua rule yang memenuhi GOAL
3. 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
12. Penyelesaian dengan backward chaining
1. Goal pada TOS adalah P4 (batuk rejan) atau P5 (infeksi
saluran pernapasan)
2. Rule yang memenuhi goal = R4 dan R5
3. 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
13. 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, tanyakan
ke user nilai dari A5 T
Eksekusi R4 T&T P4
Stack kosong
Proses selesai
Kesimpulan P4(batuk rejan)
14. 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
15. 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
16. 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
17. 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
18. Fakta dari user x :
Gives milk
Chews
Has white color
Has black strips
Penyelesaian dengan forward dan backward
chaining ?