Selasa, 18 Oktober 2011

Backward Reasoning

Nama : Samuel C.A
NIM : 08.41010.0285

RESUME KE 3

Backward Reasoning

Mekanisme inferensi pada backward reasoning berbeda dengan forward reasoning. Walaupun kedua proses melibatkan pengujian terhadap masing-masing rule, backward reasoning mulai dari konklusi yang diharapkan menuju fakta-fakta yang mendukung konklusi tersebut. Misalnya, pada saat awal fakta yang diketahui dalam database kosong, seperti:

Fakta yang diketahui: ( )

Dengan mengambil contoh pada Kasus 1: Identifikasi Binatang, didapatkan bahwa goal yang diharapkan adalah:

Goal: (Binatang)

Dengan melihat semua rule yang ada pada knowledge-based didapatkan bahwa rule yang dapat menurunkan goal tersebut adalah: 1,5,6,7,8,9,dan10. Eksekusi dimulai dari rule 1. Premise pertama dari rule tersebut (menyusui=tidak) diuji dan ternyata tidak ada nilai menyusui ditemukan dalam database. Karena tidak ada rule yang dapat menurunkan nilai dari premise menyusui, maka inference engine bertanya kepada user:

Apakah termasuk binatang menyusui?

Selanjutnya user memberi respon dengan menambahkan fakta pada

database:

Fakta yang diketahui:

( (Menyusui = ya) )

Evaluasi di atas menunjukkan bahwa premise pada rule 1 tidak sesuai dengan fakta pada database, karena itu rule 1 tidak dapat diproses. Evaluasi dilanjutkan menuju rule 5. Premise pertama adalah (Kelas=mamalia). Proses pencarian terhadap rule menemukan bahwa rule 2 mampu menurunkan nilai untuk kelas, karena itu untuk sementara proses pencarian untuk solusi binatang dihentikan dan menambahkan parameter dibawah ini pada stack:

Goal: (kelas binatang)

Sekarang evaluasi dilanjutkan untuk rule 2. Premise pertama pada rule 2 adalah menyusui, karena menyusui ada di dalam database dengan nilai ya, pengujian dilanjutkan ke premise berikutnya. Nilai kaki tidak ada dalam database, maka inference engine bertanya kepada user:

Berapa jumlah kaki binatang tersebut?

User memberikan response dengan nilai 4, maka sekarang update terhadap database menghasilkan:

Fakta yang diketahui:

( (Menyusui = ya) )

( (Kaki = 4) )

Premise ketiga dari rule 2 menunjuk pada sebuah fakta baru lagi yang berkaitan dengan suhu badan dari binatang. Dalam istilah biologi, berdasarkan suhu badannya binatang dibedakan atas binatang berdarah panas dan binatang berdarah dingin. Karena fakta tentang suhu badan ini belum ada dalam database, maka inference engine akan bertanya kepada user.

Binatang tersebut berdarah panas atau dingin?

User memberikan response dengan nilai panas, maka update terhadap database menghasilkan kumpulan fakta-fakta baru sebagai berikut:

Fakta yang diketahui:

( (Menyusui = ya) )

( (Kaki = 4) )

( (Berdarah = panas) )

Karena semua fakta pada premise dari rule 2 telah terpenuhi, maka sekarang rule 2 firing dan memberikan keluaran (goal) dengan nilai mamalia. Sehingga fakta baru lagi dimasukkan ke dalam database menjadi:

Fakta yang diketahui:

( (Menyusui = ya) )

( (Kaki = 4) )

( (Berdarah = panas) )

( (Kelas = mamalia) )

Setelah goal kelas memperoleh jawaban, sekarang sistem kembali ke rule 5 dengan goal: binatang.

Premise pertama pada rule 5 berpadanan dengan kelas=mamalia seperti terdapat dalam database. Evaluasi dilanjutkan ke premise berikutnya. Fakta dari premise ini ternyata tidak ditemukan dalam database, sehingga inference engine akan bertanya kepada user:

Bagaimana warna bulu dari binatang tersebut?

User menjawab dengan nilai berintik. Sehingga fakta baru lagi ditambahkan pada database menjadi seperti berikut:

Fakta yang diketahui:

( (Menyusui = ya) )

( (Kaki = 4) )

( (Berdarah = panas) )

( (Kelas = mamalia) )

( (Warna bulu = berbintik) )

Masih pada rule 5, premise terakhir diuji. Fakta dari premise ini ternyata tidak ditemukan dalam database, sehingga inference engine akan bertanya kepada user:

Berapa tinggi binatang tersebut?

Maka user meresponse dengan nilai tinggi = 20 cm. Fakta ini selanjutnya dimasukkan kembali ke dalam database menghasilkan daftar fakta sebagai berikut:

Fakta yang diketahui:

( (Menyusui = ya) )

( (Kaki = 4) )

( (Berdarah = panas) )

( (Kelas = mamalia) )

( (Warna bulu = berbintik) )

( (Tinggi = 20 cm) )

Karena fakta ini tidak memenuhi premise terakhir dari rule 5, maka rule 5 tidak dikerjakan. Berlanjut ke rule 6. Seperti terlihat bahwa premise kedua dari rule 6 tidak memenuhi fakta warna bulu yang ada dalam database, maka rule 6 tidak dikerjakan. Berlanjut ke rule 7.

Premise pertama pada rule 7 terpenuhi. Maka evaluasi dilanjutkan ke premise berikutnya. Premise ini memunculkan fakta baru: kategori yang tidak ada dalam database. Dari penelusuran yang dilakukan, sistem mendapati bahwa fakta ini dapat dihasilkan oleh rule 3 dan 4. Untuk sementara goal binatang digeser masuk ke dalam stack, goal yang baru

adalah:

Goal: (kategori binatang)

Evaluasi terhadap rule 3 menghasilkan fakta baru: makanan. Karena makanan tidak ada dalam database, sistem akan bertanya kepada user:

Apakah makanan dari binatang tersebut?

User menjawab dengan nilai makanan adalah binatang. Sehingga rule 3 firing dan menghasilkan nilai keluaran dari goal adalah carnivora. Sedangkan isi dari database sekarang diupdate menjadi seperti berikut:

Fakta yang diketahui:

( (Menyusui = ya) )

( (Kaki = 4) )

( (Berdarah = panas) )

( (Kelas = mamalia) )

( (Warna bulu = berbintik) )

( (Tinggi = 20 cm) )

( (Kategori = carnivora) )

Karena goal kategori sudah terjawab, goal ini dibuang dari stack. Proses dilanjutkan kembali ke goal mula-mula. Seperti terlihat, premise kedua dari rule 7 tidak terpenuhi. Maka rule 7 tidak dikerjakan. Dilanjutkan dengan rule 8. Nampaknya semua premise terpenuhi oleh fakta - fakta yang ada dalam database. Menghasilkan keluaran binatang yang dimaksud adalah kucing.

Karena binatang telah diketahui, maka binatang dikeluarkan dari goal. Karena itu stack sekarang menjadi kosong, proses backward reasoning berhenti sampai di sini. Secara keseluruhan urutan proses backward reasoning dari identifikasi binatang ini dapat digambarkan dalam gambar dibawah ini.

Tidak ada komentar:

Posting Komentar