INFERENSI
INFERENSI Inference engine Jenis metode inference Penalaran deduktif dan silogisme
Pengertian Proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan Merupakan konklusi logis atau implikasi berdasarkan informasi yang tersedia Dilakukan dalam suatu modul yang disebut inference engine Representasi pengetahuan pada bagian knowledge base telah lengkap (pada level yang cukup akurat) siap digunakan mengendalikan proses reasoning mengg. inference engine
Metode yang dipergunakan Forward chaining (runut maju) Backward chaining (runut balik)
Tipe-tipe inferensi
Deductive Logic Yang paling sering dipakai : deductive logic, untuk menentukan validitas “argument”. Silogisme merupakan satu tipe argumen logika. Contoh : Premise : Anyone who can program is intelligent Premise : John can program Conclusion : Therefore, John is intelligent
Premise Digunakan sebagai bukti untuk mendukung suatu kesimpulan. Disebut juga antecedent Kesimpulan/Conclusion Disebut juga consequent Karakteristik logika deduktif adalah kesimpulan benar harus mengikuti dari premis yg benar
Contoh Anyone who can program is intelligent John can program John is intelligent Dalam bentuk IF-THEN IF Anyone who can program is intelligent And John can program THEN John is intelligent
Kaidah inferensi Detasemen Kontrapositif Modus tollens Silogisme
Inferensi disjungsi Negasi ganda de Morgan Simplifikasi
Konjungsi Penambahan disjungtif Argumen konjungtif
Forward chaining Disebut data-driven Rule akan dieksekusi jika premis (bagian dari IF) terpenuhi Penalaran berawal dari semua fakta yang diketahui untuk menuju ke satu konklusi Baik digunakan jika tree melebar dan tidak dalam, memudahkan pencarian breadth first (pencarian konklusi berproses level ke level)
Backward chaining Disebut juga goal-driven Pilih konklusi dan coba buktikan kebenarannya dengan menganalisa evidence / premis yang mendukung konklusi tersebut berdasarkan fakta yang diberikan Memudahkan pencarian depth first, tree yang baik untuk depth first adalah yang menyempit dan dalam
Pengkodean yang diperoleh saat knowledge acquisition A1 = suhu tubuh >= 38°C A2 = pusing A3 = pilek A4 = batuk A5 = batuk yang terus menerus dimalam hari A6 = nafas berbunyi P1 = demam biasa P2 = batuk biasa P3 = influensa/infeksi virus P4 = batuk rejan P5 = infeksi saluran nafas
Rule yang ada pada knowledge base R1 : IF A1 THEN P1 R2 : IF A4 THEN P2 R3 : IF (P1 or A2) and (P2 or A3) THEN P3 R4 : IF P3 and A5 THEN P4 R5 : IF P3 and A6 THEN P5 Fakta-fakta yang diperoleh dari user adalah demam, pusing, batuk dan batuk tersebut lebih sering di malam hari (A1, A2, A4, A5 -> benar
Tree untuk rule tersebut A1 A4 P1 P2 A2 A3 P3 A6 P5 A5 P4
Algoritma Forward chaining Catat semua fakta yang diinputkan oleh user Catat semua rule yang bagian premisnya menggunakan fakta yang sesuai ke dalam queue Q Sampai tidak ada rule pada Q : Analisa rule pertama pada Q Jika premis tidak terpenuhi, hapus rule dari Q dan kembali ke a Jika premis terpenuhi : eksekusi rule, catat konklusi dari rule Cari rule yang menggunakan konklusi tersebut sebagai premis Jika rule belum ada pada Q, catat rule tersebut meskipun premis tidak sepenuhnya terpenuhi. Hapus rule awal dari Q Konklusi akhir diperoleh
Penyelesaian dengan forward chaining Fakta dari user A1, A2, A3, A4, A5 Rule yang sesuai = R1, R2, R3, R4 Sampai tidak ada rule pada Q Q R K Iterasi 1 R1, R2, R3, R4 R1 P1 Iterasi 2 R2, R3, R4 R2 P2 Iterasi 3 R3, R4 R3 P3 Iterasi 4 R4 P4
Forward atau backward ? Cek hubungan antara rule dengan fakta utk menghasilkan konklusi Sekumpulan fakta -> banyak konklusi -> backward chaining Sekumpulan hipotesis -> banyak pertanyaan -> forward chaining Banyak cara utk mendapatkan sedikit konklusi -> forward chaining Sedikit cara untuk mendapatkan banyak konklusi -> backward chaining
Tugas