Algoritma Forward Chaining Pada Agen Berbasis Logika Dalam Kecerdasan Buatan

Algoritma forward-chaining menentukan apakah suatu proposisi (kalimat) tunggal dengan simbol q — sebagai query — didaptkan bernilai true (benar) berdasarkan konsekwensi logis oleh suatu basis pengetahuan yang berisi klausa-klusa tertentu. Algoritma ini mulai prosesnya berawal dari fakta yang diketahui (fakta = proposisi/kalimat yang bernilai true, atau sering disebut dengan literal positif, yaitu kalimat yang bukan negasi atau not dalam logika matematika) dalam basis pengetahuan. Jika semua premis implikasi diketahui, maka konklusi atau kesimpulan-nya ditambahkan ke sekumpulan fakta yang sudah diketahui [lihat catatan di bagian bawah artikel tentang yang dimaksud implikasi, premis, dan konklusi]. 

Proses ini berlanjut terus sampai queri q ditambahkan/didapatkan atau sampai tidak ada kesimpulan lebih lanjut yang dapat dihasilkan. Algoritma yang detil  ditunjukkan pada gambar di bawah ini.
Detil algoritma forward chaining
Poin utama yang perlu diingat adalah bahwa algoritma ini berjalan dalam waktu yang linier.

Cara terbaik (atau termudah) untuk memahami algoritma forward chaining adalah melalui contoh dan gambar di bawah ini. 
(a) adalah sekumpulan klausa dan (b) visualisasi berupa grafik AND - OR
Gambar bagian kiri (a) menunjukkan basis pengetahuan sederhana yang berisi sekumpulan klausa dengan A dan B sebagai fakta yang diketahui. Gambar bagian kanan (b) menunjukkan basis pengetahuan yang sama dengan grafik AND – OR. Dalam grafik AND – OR, beberapa link yang digabungkan dengan busur menunjukkan konjungsi (AND) — dan setiap link harus dibuktikan — sementara beberapa link tanpa busur menunjukkan disjungsi (OR) — link apa pun dapat dibuktikan. Memang mudah untuk melihat bagaimana forward chaining bekerja dalam grafik. Leave/node yang diketahui (misalnya dalam gambar tersebut, A dan B atau disebut sebagai fakta) ditetapkan, dan inferensi/penarikan kesimpulan merambat ke grafik ke atas sejauh mungkin. Di mana pun konjungsi muncul, propagasi menunggu sampai semua konjungsinya diketahui sebelum bisa melanjutkan ke atas.

Sangat mudah untuk melihat bahwa forward chaining adalah masuk akal: karena setiap kesimpulan pada dasarnya adalah penerapan dari Modus Ponens. [lihat catatan di bagian bawah artikel tentang yang dimaksud Modus Ponens]. Forward chaining juga berkarakteristik komplit: yaitu setiap kalimat atom yang disyaratkan (di dapatkan bernilai true) maka akan diturunkan ke kalimat berikutnya.

Forward chaining adalah contoh konsep umum penalaran berbasis data — yaitu, penalaran di mana fokus perhatian dimulai dengan data yang diketahui (fakta). Algoritma ini dapat digunakan pada agen yang digunakan untuk memperoleh kesimpulan dari percepts (input) yang masuk. Pada manusia, penalaran berbasis data seperti ini terjadi ketika ada informasi baru yang masuk ke otak. Misalnya, jika saya berada di dalam ruangan dan mendengar hujan turun, mungkin terpikir oleh saya bahwa piknik akan dibatalkan. Namun mungkin tidak akan terpikir oleh saya bahwa kelopak bunga ketujuh belas pada mawar terbesar di kebun tetangga saya akan menjadi basah; manusia terus menalar maju (forward chaining) secara hati-hati, supaya jangan sampai manusia dibanjiri dengan konsekuensi-konsekwensi yang tidak relevan.

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)
Query: Q apakah bernilai true? (goal yang dicari)
  • dari rule 1: jika A dan B bernilai true maka L bernilai true
  • dari rule 3:  jika B dan L bernilai true maka M bernilai true
  • dari rule 4:  jika L dan M bernilai true maka P bernilai true
  • dari rule 5:  jika P bernilai true maka Q bernilai true   
Query terjawab dengan proses forward chaining


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"
2. Modus Ponens (dari bahasa Latin MODUS PONENS yang artinya adalah mode yang menegaskan) dan ditulis dalam bentuk α ⇒ β. Notasi tersebut berarti bahwa, setiap kali kalimat dalam bentuk α ⇒ β dan jika α diketahui/diberikan, maka kalimat β dapat disimpulkan. Atau, jika α adalah true maka β disimpulkan true.

--o0o--

Artikel terkait:

No comments:

Post a Comment