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:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

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...