Back to IF3170 Inteligensi Artifisial

Topic

Questions/Cues

  • Apa itu Forward Chaining?

  • Apa nama lain dari proses ini?

  • Bagaimana siklus Recognize-Act bekerja?

  • Apa itu Conflict Set?

  • Mengapa perlu Conflict Resolution?

  • Apa saja strategi Global Control?

  • Jelaskan Refractoriness.

  • Jelaskan Selection by Order.

  • Jelaskan Specificity.

  • Apa saja strategi Local Control?

  • Jelaskan Selection by Priority.

  • Jelaskan Meta-rules.

Reference Points

  • Materi-06-Seg-0102-RBS.pdf (Slides 16-26)

Definisi Forward Chaining

Forward Chaining adalah metode inferensi (penalaran) dalam RBS yang bekerja secara data-driven. Artinya, proses dimulai dari sekumpulan fakta yang sudah ada di Working Memory untuk kemudian mencari dan mengeksekusi aturan-aturan yang relevan hingga mencapai sebuah kesimpulan atau tujuan. Proses ini sering juga disebut Siklus Kenali-Bertindak (Recognize-Act Cycle).

Siklus Recognize-Act

Proses ini berjalan dalam sebuah loop yang terdiri dari tiga fase utama:

  1. Match (Pattern Matching): Inference engine membandingkan kondisi (LHS) dari semua aturan di Production Memory dengan fakta-fakta yang ada di Working Memory.

  2. Conflict Resolution: Semua aturan yang LHS-nya terpenuhi oleh fakta akan dimasukkan ke dalam sebuah himpunan yang disebut Conflict Set (atau Agenda). Dari himpunan ini, satu aturan dipilih untuk dieksekusi berdasarkan strategi resolusi konflik.

  3. Act (Fire the rule): Aksi (RHS) dari aturan yang terpilih dieksekusi. Aksi ini biasanya mengubah isi Working Memory (menambah atau menghapus fakta), yang akan memicu siklus berikutnya.

Siklus ini akan berhenti jika Conflict Set kosong (tidak ada lagi aturan yang bisa dieksekusi) atau jika kondisi terminasi tertentu terpenuhi.

Strategi Resolusi Konflik (Conflict-Resolution Strategy)

Strategi ini sangat penting untuk menentukan perilaku sistem. Strategi ini dibagi menjadi dua kategori:

1. Global Control (Strategi Umum)

Strategi ini berlaku secara umum untuk semua aturan.

  1. Refractoriness: Strategi paling dasar.

Sebuah aturan tidak akan dieksekusi lebih dari satu kali dengan set fakta yang persis sama. Ini mencegah sistem masuk ke dalam infinite loop yang trivial.

  1. Selection by Order:

Memilih aturan berdasarkan urutan.

  1. Rule Order (FIFO):

Aturan yang pertama kali masuk ke Conflict Set yang akan dieksekusi. Urutan aturan di Knowledge Base menjadi penting.

  1. Fact Recency (LIFO):

Aturan yang dipicu oleh fakta yang paling baru ditambahkan ke Working Memory yang akan dieksekusi. Ini membuat sistem lebih responsif terhadap perubahan terbaru.

  1. Specificity:

Memilih aturan yang paling spesifik. Aturan yang memiliki lebih banyak kondisi di bagian LHS-nya dianggap lebih spesifik dan akan diprioritaskan. Tujuannya adalah mendahulukan kasus-kasus khusus sebelum menangani kasus umum.

2. Local Control (Strategi Khusus)

Strategi ini memberikan kontrol lebih kepada perancang sistem.

  • Selection by Priority: Setiap aturan diberi bobot prioritas (misalnya, salience di CLIPS). Aturan dengan prioritas tertinggi dalam Conflict Set yang akan dieksekusi. Ini memungkinkan perancang untuk secara eksplisit menentukan aturan mana yang lebih penting.

  • Selection by Meta-rules: Menggunakan “aturan tentang aturan”. Ini adalah aturan tingkat lanjut yang tugasnya adalah mengontrol atau mem-pruning (memangkas) aturan lain dalam Conflict Set. Contoh: “JIKA ada dua aturan yang bertentangan, dahulukan aturan yang berasal dari sumber yang lebih terpercaya.”

Summary

Forward Chaining adalah proses inferensi data-driven yang beroperasi dalam siklus Recognize-Act: sistem mencocokkan fakta dengan aturan, mengumpulkan semua aturan yang valid ke dalam Conflict Set, lalu menggunakan strategi Resolusi Konflik (seperti Refractoriness, Order, Specificity, atau Priority) untuk memilih satu aturan untuk dieksekusi. Eksekusi aturan ini akan memperbarui fakta, dan siklus terus berlanjut hingga tidak ada lagi aturan yang dapat dijalankan.