INFERENSI DAN PENALARAN PERTEMUAN 8 Oleh : Diema Hernyka Satyareni, M.Kom
Strategi Penalaran Runut Maju / Forward Chaining
Runut Balik / Backward Chaining
Forward Chaining Penalaran dimulai dari keadaan awal (fakta yang ada) dan
kemudian dicoba untuk mencocokkan dengan tujuan yang diharapkan. Contoh :
Backward Chaining Penalaran dimulai dari tujuan (hipotesa), baru dicocokkan
dengan keadaan awal atau fakta-fakta yang ada. Contoh :
Pengontrolan inferensi No.
Contoh: •Ada 10 aturan yang tersimpan dalam basis pengetahuan. •Fakta awal yang diberikan hanya: A & E (artinya: A dan E bernilai benar). •Ingin dibuktikan apakah K bernilai benar (hipotesis: K)?
Aturan
R-1
IF A & B THEN C
R-2
IF C THEN D
R-3
IF A & E THEN F
R-4
IF A THEN G
R-5
IF F & G THEN D
R-6
IF G & E THEN H
R-7
IF C & H THEN I
R-8
IF I & A THEN J
R-9
IF G THEN J
R-10
IF J THEN K
Forward Chaining Munculnya fakta baru pada saat inferensi: Aturan
Fakta Baru
R-3
F
R-4
G
R-5
D
R-6
H
R-9
J
R-10
K
Alur inferensi: R-9 Fakta
R-4
J
G
A R-5
R-3 E Fakta
F
D
R-6
H
R-10
K
Backward Chaining Alur inferensi: Fakta K
R-10
J
R-1
R-7
R-8
A
C
I
B
H
A
Tidak diketahui
(a) Pertama: Gagal Fakta K
R-10
J
R-9
G
(b) Kedua: Sukses
R-4
A
Database Aturan
Proses Runut Maju Tampilkan semua daftar premis
User memilih premis yang dialami Sistem mencari aturan yang premisnya terdiri dari premis-
premis yang dipilih oleh user Sistem akan menampilkan konklusi dari aturan tersebut
Proses Runut Balik Sistem akan melist dalam memori daftar konklusi yang ada
Masing-masing konklusi secara sekuensial dicari premisnya Masing-masing premis di tanyakan ke user
Jika jawaban ya, dilanjutkan ke premis berikutnya Jika jawabannya tidak dilanjutkan ke konklusi selanjutnya
Latihan Jika user memiliki Premis: P1, P4, P6 apa yang akan jadi
konklusinya? Jelaskan urutan prosesnya dengan metode runut maju dan runut balik
KAIDAH PRODUKSI Aturan 1: JIKA fungsi simple DAN biaya rendah atau tinggi MAKA pilih Software A Aturan 2: JIKA fungsi kompleks DAN biaya rendah MAKA tidak ada yang bisa dipilih Aturan 3: JIKA fungsi kompleks DAN biaya tinggi MAKA pilih Software B atau C
Tabel Aturan
Implementasi Proses Runut Maju 1. Tampilkan semua daftar premis/fakta 2. User memilih premis yang dialami 3. Sistem mencari aturan yang premisnya terdiri dari
premis-premis yang dipilih oleh user: 4. Sistem akan menampilkan konklusi dari aturan tersebut
1. Tampilkan semua daftar premis SELECT Fungsi, Biaya From Aturan;
2. User memilih premis yang dialami Misal : Fungsi Simple, Biaya Tinggi
3. Sistem mencari aturan yang premisnya terdiri dari premis-premis yang dipilih oleh user SELECT software FROM
Aturan Where Fungsi = 'Simple' And Biaya = 'Tinggi';
4. Sistem akan menampilkan konklusi dari aturan tersebut
Implementasi Proses Runut Balik 1. Sistem akan melist dalam memori daftar konklusi yang 2. 3. 4. 5.
ada Masing-masing konklusi secara sekuensial dicari premisnya Masing-masing premis di tanyakan ke user Jika jawaban ya, dilanjutkan ke premis berikutnya Jika jawabannya tidak dilanjutkan ke konklusi selanjutnya
Sistem akan melist dalam memori daftar konklusi yang ada SELECT Distinct Software FROM Aturan;
Masing-masing konklusi secara sekuensial dicari premisnya SELECT Fungsi, Biaya FROM Aturan WHERE Software = 'A'
Kelemahan Rancangan Tabel Aturan Ada domain permasalahan yang satu variabel nilainya bisa
banyak. Misal Pada Masalah Diagnosis, Variabel Gejala dalam satu aturan bisa berisi banyak
KASUS 2 Aturan 1
Jika G : A (70%) Dan G : B (100%) Dan G : C (20%) Dan T : D (30%) Maka Z • Aturan 2 Jika G : B (20%) Dan T : E (10%) Dan G : C (40%) Maka X
• Aturan 3 Jika G : A (20%) Dan T : D (30%) Dan T : E (70%) Maka Y • Aturan 4 Jika T : D (90%) Dan G : C (20%) Maka Y
Isi Tabel
Memilih metode penalaran Banyaknya keadaan awal dan tujuan.
Jika jumlah keadaan awal lebih kecil daripada tujuan,
maka gunakan penalaran forward. Jika tujuan lebih banyak daripada keadaan awal, maka gunakan penalaran backward. Apakah program butuh menanyai user untuk melakukan justifikasi terhadap proses penalaran? Jika iya, maka alangkah baiknya jika dipilih arah yang lebih memudahkan user Bentuk kejadian yang akan memicu penyelesaian masalah. Jika kejadian itu berupa fakta baru, maka pilih penalaran forward. Namun jika query, maka gunakan penalaran backward.
SEKIAN DAN TERIMA KASIH