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
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:
Post a Comment