Friday, April 17, 2009

Backward Chaining

Tidak seperti forward-chaining yang digunakan untuk mendapatkan fakta-fakta baru, backward chaining menggunakan rule untuk menjawab pertanyaan tentang apakah sebuah consequence clause itu benar atau tidak.

Kita masih akan mengunakan rules yang sama seperti entry pada forward-chaining tapi kali ini dengan persoalan yang berbeda. Misalnya kita ingin mengetahui apakah vehicle benar sebuah Minivan, maka kita harus mencari dari rules tersebut yang memiliki consequence vehicle = Minivan, dan kita mendapat rule berikut :

Minivan : IF vehicleType = automobile
AND size = medium
AND num_doors = 3
THEN vehicle = Minivan

Dari situ diketahui bahwa untuk membuktikan vehicle = Minivan kita harus membuktikan bahwa vehicleType = automobile dan size = medium dan num_doors = 3.

Untuk membuktikan vehicleType = automobile kita harus mencari dari rules yang memiliki consequence tersebut dan kita mendapat :

Automobile : IF num_wheels = 4
AND motor = yes
THEN vehicleType = automobile

Selanjutnya untuk membuktikan bahwa vehicleType = automobile kita harus membuktikan bahwa num_wheels = 4 dan motor = yes. Karena pada rules yang kita miliki tidak terdapat consequence untuk num_wheels = 4, maka kita bisa menghentikan penelusuran atau meminta input dari user berapa nilai dari num_wheels. Begitu pula untuk motor = yes. Misalnya user telah memasukkan nilai untuk num_wheels dan motor adalah masing-masing '4' dan 'yes', maka kini kita memiliki tiga fakta baru yaitu

num_wheels = 4
motor = yes
vehicleType = automobile

yang sekaligus membuktikan bahwa vehicleType = automobile adalah benar. Selanjutnya kita harus membuktikan bahwa size = medium. Karena kita tidak memiliki rule yang mempunyai consequence size = medium, maka kita kembali harus meminta input dari user. Misal user memberikan nilai size adalah medium maka kini kita mempunyai fakta baru

num_wheels = 4
motor = yes
vehicleType = automobile
size = medium

Menuju antecedent berikutnya yaitu num_doors = 3, kita juga tidak mempunyai rule tersebut. Misalnya user memberikan input '3' untuk num_doors maka kini kita mempunyai fakta-fakta

num_wheels = 4
motor = yes
vehicleType = automobile
size = medium
num_doors = 3
vehicle = Minivan

yang sekaligus membuktikan bahwa vehicle adalah benar sebuah Minivan.

0 comments:

 

©2009 Stay the Same | by TNB