Back to IF3170 Inteligensi Artifisial

Latihan Forward Chaining

  1. Diberikan rule-set untuk menentukan buah (fruit) sebagai berikut:
No.Rule
R1IF Seedcount = 1 THEN Seedclass = stonefruit
R2IF Seedcount > 1 THEN Seedclass = multiple
R3IF Shape = long and Color = yellow THEN Fruit = banana
R4IF Shape = round and Diameter > 4 inches THEN Fruitclass = vine
R5IF Shape = round and Diameter < 4 inches THEN Fruitclass = tree
R6IF Fruitclass = vine and Surface = smooth THEN Fruit = watermelon
R7IF Fruitclass = vine and Surface = rough and Color = tan THEN Fruit = honeydew
R8IF Fruitclass = vine and Surface = smooth and Color = yellow THEN Fruit = cantaloupe
R9IF Fruitclass = tree and Color = orange and Seedclass = stonefruit THEN Fruit = apricot
R10IF Fruitclass = tree and Color = orange and Seedclass = multiple THEN Fruit = orange
R11IF Fruitclass = tree and Color = red and Seedclass = multiple THEN Fruit = apple

Tentukan semua buah yang sesuai (fakta yang diberikan pengguna) dengan menggunakan inferensi forward chaining.

Strategi yang digunakan adalah refractoriness > recency > specifity > rule order.

Kumpulan fakta pada working memory adalah (sesuai urutan masuk ke WM):

  • Diameter = 5 inch
  • Shape = round
  • Seedcount = 1
  • Color = yellow
  • Surface = smooth

Jawab:

IterasiCS (Conflict Set)R (Selected Rule)WM (Working Memory)
1{R2, R4}R2 (Recency)+ Seedclass = multiple
2{R2, R4}R4 (Refractoriness)+ Fruitclass = vine
3{R2, R4, R6, R8}R8 (Specifity)+ Fruit = cantaloupe
4{R2, R4, R6, R8}R6 (Refractoriness)+ Fruit = watermelon
5{R2, R4, R6, R8}-Stop

Fruit = {cantaloupe, watermelon}

  1. Diberikan rule-set untuk menentukan penyakit berdasarkan gejala:
No.Rule
R1IF suhu_badan > 38 AND badan_menggigil = true THEN demam = true
R2IF durasi_batuk > 3 bulan THEN durasi = lama
R3IF durasi_batuk > 1 bulan AND durasi_batuk < 3 bulan THEN durasi = sedang
R4IF batuk = true AND tdknafsumakan = true AND durasi = lama THEN penyakit = tbc
R5IF batuk = true AND tdknafsumakan = true AND demam = true THEN penyakit = radang_tenggorokan
R6IF batuk = true AND durasi = lama THEN penyakit = alergi
R7IF batuk = true AND durasi = sedang AND demam = true THEN penyakit = batuk_rejan

Forward Chaining Strategy: refractoriness > specificity > fact recency

Fakta sesuai urutan masuk ke Working Memory (WM):

  1. batuk = true
  2. tdknafsumakan = true
  3. suhu_badan > 38
  4. badan_menggigil = true
  5. durasi_batuk > 3 bulan

Lakukan proses forward chaining (dimulai dari iterasi 1).

Jawab:

IterasiCS (Conflict Set)R (Selected Rule)WM (Working Memory)
1{R1, R2}R1 (Specifity)+ demam = true
2{R1, R2, R5}R5 (Specifity)+ penyakit = radang_tenggorokan
3{R1, R2, R5}R2 (Refractoriness)+ durasi = lama
4{R1, R2, R5, R4, R6}R4 (Specifity)+ penyakit = tbc
5{R1, R2, R5, R4, R6}R6 (Refractoriness)+ penyakit = alergi
6{R1, R2, R5, R4, R6}-stop