Skip to main content

Algoritma Backward Chaining Pada Agen Logika Dalam Kecerdasan Buatan

Algoritma backward-chaining, seperti tersirat dalam namanya, bekerja mundur dari query-nya. Jika query q diketahui true (benar), maka tidak ada proses yang perlu dikerjakan. Sebaliknya (q belum diketahui tetapi ingin dibuktikan bahwa q adalah true), algoritma ini akan berjalan untuk menemukan implikasi-implikasi dalam basis pengetahuan yang memiliki konklusi/kesimpulan-nya adalah q. Jika semua premis dari salah satu implikasi itu dapat dibuktikan true (benar) dengan backward chaining, maka q adalah true (benar). [lihat catatan di bagian bawah artikel tentang yang dimaksud implikasi, premis, dan konklusi]. 

Ketika diterapkan pada query Q pada gambar dibawah ini, algoritma backward chaining bekerja berjalan mundur turun ke grafik sampai mencapai paling bawah yaitu serangkaian fakta yang diketahui, A dan B, yang membentuk dasar utama dalam proses pembuktian. 
(a) adalah sekumpulan klausa dan (b) visualisasi berupa grafik AND - OR
Seperti pada forward chaining, implementasi ini berjalan dalam waktu linier.

Backward chaining adalah suatu bentuk penalaran yang berbasis goal (tujuan). Algoritma (penalaran) ini berguna, misalnya, untuk menjawab pertanyaan spesifik seperti "Apa yang harus saya lakukan sekarang?" atau "Di mana kunci-ku?" Seringkali, cost dalam backward chaining jauh lebih kecil (lebih efisien) dalam ukuran basis pengetahuan, karena prosesnya hanya menyentuh fakta-fakta yang relevan saja.

Contoh deskripsi gambar di atas

Deskripsi yang lebih praktis dalam pendekatan contoh gambar di atas bisa diterjemahkan sebagai contoh kasus seperti berikut.

Ada lima rule dalam gambar di atas yaitu:
  • Rule 5: P ⇒ Q
  • Rule 4: L ∧ M ⇒ P
  • Rule 3: B ∧ L ⇒ M
  • Rule 2: A ∧ P ⇒ L
  • Rule 1: A ∧ B ⇒ L
Ada dua fakta yaitu:
  • Fakta: A (true)
  • Fakta: B (true)
Q : adalah Goal yang ingin dibuktikan/diverifikasi:
  • dari rule 5: P ⇒ Q (P ?? apakah bernilai true? cari dan verifikasi ke rule yang lain)
  • dari rule 4: L ∧ M ⇒ P (L dan M?? apakah bernilai true? cari dan verifikasi ke rule yang lain)
  • dari rule 3: B ∧ L ⇒ M ((B bernilai true - dari fakta. L apakah bernilai true? cari dan verifikasi ke rule yang lain)
  • dari rule 1: A ∧ B ⇒ L (L bernilai true karena A dan B bernilai true - dari fakta)
  • rule 3 terverifikasi: B ∧ L ⇒ M (B bernilai true - dari fakta, dan L bernilani true dari fakta baru yang di dapat dari rule 1, jadi M bernilai true)
  • rule 4 terverifikasi: L ∧ M ⇒ P (P bernilai true karena L bernilai true dan M bernilai true)
  • rule 5 terverifikasi: P ⇒ Q (dari rule 4 yang sudah terverifikasi, maka P bernilai true). Sehingga Goal (Q) sudah terverifikasi

Daftar catatan: 
1. Implikasi (implication) dalam logika matematika seringkali disebut dengan kondisional atau biasa disajikan dengan "jika ... maka..." yang disimbulkan dengan =>. Bagian jika... sering disebut dengan premis, bagian maka... sering disebut dengan konklusi/kesimpulan"

--o0o--

Artikel terkait:

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan d...

Proses dalam Data Mining - Seri Data Mining for Business Intelligence (5)

Proses dalam Data Mining Untuk melaksanakan project-project dalam Data Mining (DM) secara sistematis, suatu proses yang umum berlaku biasanya diterapkan. Berdasarkan ‘best practice’, para praktisi dan peneliti DM mengusulkan beberapa proses (workflow atau pendekatan step-by-step yang sederhana) untuk memperbesar peluang keberhasilan dalam melaksanakan project-project DM. Usaha-usaha itu akhirnya menghasilkan beberapa proses yang dijadikan sebagai standard, beberapa diantaranya (yang paling popular) dibahas dalam bagian ini. [ Baca juga: Metode-metode dalam Data Mining ]