Thursday, April 16, 2009

Forward Chaining

Dalam reasoning system dengan IF-THEN rules, ada sebuah algoritma yang dikenal dengan nama Forward Chaining, untuk lebih jelas bagaimana algoritma ini bekerja sebaiknya diilustrasikan dengan contoh. Misal kita memiliki sembilan rules yang sudah didefinisikan sebelumnya seperti berikut

Vehicle Rule Base:

Bicycle :

IF vehicleType = cycle
AND num_wheels = 2
AND motor = no
THEN vehicle = Bicycle

Tricycle :

IF vehicleType = cycle
AND num_wheels = 3
AND motor = no
THEN vehicle = Tricycle

Motorcycle :

IF vehicleType = cycle
AND num_wheels = 2
AND motor = yes
THEN vehicle = Motorcycle

Sportscar :

IF vehicleType = automobile
AND size = small
AND num_doors = 2
THEN vehicle = Sports car

Sedan :

IF vehicleType = automobile
AND size = medium
AND num_doors = 4
THEN vehicle = Sedan

Minivan :

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

SUV :

IF vehicleType = automobile
AND size = large
AND num_doors = 4
THEN vehicle = Sports Utility Vehicle

Cycle :

IF num_wheels < 4
THEN vehicleType = cycle

Automobile :

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

Misalnya kita mempunyai fakta-fakta berikut :

num_wheels = 4
motor = yes
num_doors = 3
size = medium


kita ingin mengetahui fakta-fakta baru apa saja yang akan kita dapat dengan menelusuri Vehicle Rule di atas. Perhatikan bahwa kita menelusuri rule dari atas ke bawah (dari rule Bicycle ke rule Automobile).

Dengan fakta-fakta di atas, penelusuran kita jatuh pada rule Automobile. Dengan demikian kita mempunyai fakta baru yaitu vehicleType = automobile, dan fakta-fakta yang kini kita miliki adalah


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

Kemudian penelusuran berlanjut kembali ke awal dan jatuh pada rule Minivan. Dari rule ini kita kembali mendapatkan fakta baru yaitu vehicle = Minivan, dan kini kita memiliki fakta-fakta


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

Penelusuran kembali ke awal, dan karena sudah tidak ada lagi rule yang memenuhi, maka penelusuran berhenti dengan mendapatkan kesimpulan terakhir bahwa vehicle adalah sebuah Minivan.

Tapi bagaimana jika rule-rule tersebut overlap? Bagaimana jika ada rule yang merupakan subset dari rule lain? Karena itulah urut-urutan rule yang diproses menjadi penting. Dalam penelusuran, sebaiknya dipilih rule yang lebih spesifik daripada rule yang bersifat umum/general terlebih dahulu. Karena itulah rule yang bersifat spesifik selalu diletakkan pada bagian teratas Vehicle rule di atas.

0 comments:

 

©2009 Stay the Same | by TNB