25 February 2013

Forward Chaining dan Backward Chaining

Metode inferensi adalah mekanisme berfikir dan pola-pola penalaran yang digunakan oleh sistem untuk mencapai suatu kesimpulan
Metode ini akan menganalisa masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik. Penalaran dimulai dengan mencocokkan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data.

Ada dua metode inferensi yang dapat digunakan, yaitu :

1. Forward Chaining

Forward chaining merupakan metode inferensi yang melakukan penalaran dari suatu masalah kepada solusinya. Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan menyatakan konklusi. Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh. Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining.

Contoh :

Terdapat 10 aturan yang tersimpan dalam basis pengetahuan yaitu :

R1 : if A and B then C
R2 : if C then D
R3 : if A and E then F
R4 : if A then G
R5 : if F and G then D
R6 : if G and E then H
R7 : if C and H then I
R8 : if I and A then J
R9 : if G then J
R10 : if J then K

Fakta awal yang diberikan hanya A dan E, ingin membuktikan apakah K bernilai benar. Proses penalaran forward chaining terlihat pada gambar 1.

Gambar 1. Forward Chaining


2. Backward Chaining

Menggunakan pendekatan goal-driven, dimulai dari harapan apa yang akan terjadi (hipotesis) dan kemudian mencari bukti yang mendukung (atau berlawanan) dengan harapan kita. Sering hal ini memerlukan perumusan dan pengujian hipotesis sementara. Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.

Contoh :
Seperti pada contoh forward chining, terdapat 10 aturan yang sama pada basis pengetahuan dan fakta awal yang diberikan hanya A dan E. ingin membuktikan apakah K bernilai benar. Proses penalaran backward chaining terlihat pada gambar 2.
Gambar 2. Backward Chaining


Contoh KASUS Sistem Pakar Penasehat Keuangan

Kasus : user ingin berkonsultasi apakah tepat jika dia berinvestasi pada stock IBM?
Variabel-variabel yang digunakan :
A = memiliki uang $10.000 untuk investasi
B = berusia < 30 tahun
C = tingkat pendidikan pada level college
D = pendapatan minimum pertahun $40.000
E = investasi pada bidang Sekuritas (Asuransi)
F = investasi pada saham pertumbuhan (growth stock)
G = investasi pada saham IBM

Setiap variabel dapat bernilai TRUE atau FALSE
 FAKTA YANG ADA:
Diasumsikan si user (investor) memiliki data:

Memiliki uang $10.000 (A TRUE)
Berusia 25 tahun (B TRUE)
Dia ingin meminta nasihat apakah tepat jika berinvestasi pada IBM stock?

RULES
R1 : IF seseorang memiliki uang $10.000 untuk berinvestasi AND dia berpendidikan pada level college THEN dia harus berinvestasi pada bidang sekuritas
R2 : IF seseorang memiliki pendapatan per tahun min $40.000 AND dia berpendidikan pada level college THEN dia harus berinvestasi pada saham pertumbuhan (growth stocks)
R3 : IF seseorang berusia < 30 tahun AND dia berinvestasi pada bidang sekuritas THEN dia sebaiknya berinvestasi pada saham pertumbuhan
R4 : IF seseorang berusia <> 22 tahun THEN dia berpendidikan college
R5 : IF seseorang ingin berinvestasi pada saham pertumbuhan THEN saham yang dipilih adalah saham IBM.
Rule simplification:
  • R1: IF A and C, THEN E 
  • R2: IF D and C, THEN F 
  • R3: IF B and E, THEN F 
  • R4: IF B, THEN C 
  • R5: IF F, THEN G 
Solusi dengan Forward Chaining :

Step I : IF A and C Then E = R1
Step II : IF B then C A,B,C -> True = R4
Step III : If A and C then E A,B,C -> True = R2
Step IV : If B ad E then F A,B,C,E,F -> true = R3
step V : if F then G. G->True

Kesimpulan : Cocok untuk investasi saham IBM
Solusi dengan Backward Chaining : Kebalikan dari Forward Chaining



No comments:

Post a Comment