Sistem Berbasis Pengetahuan
Forward Chaining dan Backward Chaining
2024
Prodi D-IV Sistem Informasi Bisnis Jurusan Teknologi Informasi
Sistem Pakar
• Sistem pakar (expert system) adalah sistem kecerdasan buatan yang dirancang untuk me njalankan tugas-tugas spesifik yang biasanya membutuhkan tingkat keahlian manusia dal am suatu bidang tertentu.
• Sistem pakar menggunakan pengetahuan, aturan, dan inferensi untuk menyediakan rekom endasi, diagnosis, atau solusi berdasarkan informasi yang diberikan kepadanya.
• Sistem pakar berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer d apat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli.
Komponen
Sistem Pakar
1)Basis Pengetahuan (Knowledge Base):
aturan-aturan, fakta-fakta, dan pengetahuan domain yang diperlukan untuk pengambilan keputusan.) dan basis peng etahuan aturan (rule base).
2) Mesin Inferensi (Inference Engine):
komponen yang bertanggung jawab menjalankan aturan-at uran yang ada pada basis pengetahuan untuk menghasilka n kesimpulan atau rekomendasi. Mesin inferensi melakuka n proses logika dan penalaran untuk menghubungkan fakt a-fakta dengan aturan-aturan.
3) Antarmuka
Mekanisme yang digunakan oleh pengguna dan sistem pak ar untuk berkomunikasi.
4)Penjelasan (Explanation Facility):
komponen yang digunakan untuk menjelaskan proses dan perhitungan yang dilakukan oleh sistem pakar dalam menc apai kesimpulan.
5) Tempat Kerja (Blackboard/ Workplace)
area kerja memori yang disimpan sebagai database untuk deskripsi persoalan terbaru yang ditetapkan oleh data inpu
6) Pengelola Pengetahuan (Knowledge Acquisition System):
Komponen ini membantu dalam mengumpulkan, merancang, dan mengelola pengetahuan yang diperlukan untuk sistem pakar.
7) Perbaikan Pengetahuan (Knowledge Refinement)
Sistem pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan untuk belajar dari kinerjanya. Kemampuan tersebut penting sehingga program akan mampu menganalisis penyebab kesuksesan dan kegagalan yang dialaminya dan juga mengevaluasi apakah pengetahuan-
pengetahuan yang ada masih cocok untuk digunakan di masa
Mesin Inferensi
• Mesin inferensi adalah bagian dari sistem kecerdasan buatan yang bertanggung jawab unt uk membuat kesimpulan atau inferensi dari informasi yang diberikan.
• Mesin inferensi menggunakan aturan, logika, dan pengetahuan yang telah diatur sebelum nya untuk menghasilkan output berupa keputusan atau solusi. Mesin inferensi menerapka n aturan logis pada basis pengetahuan untuk memunculkan fakta dan hubungan baru.
• Mesin inferensi adalah komponen kunci dalam kecerdasan buatan, terutama dalam siste m pakar dan sistem berbasis pengetahuan lainnya. Penerapan mesin inferensi dapat dilak ukan melalui induksi atau deduksi.
Mesin Inferensi - Deduktif & Induktif
1. Penalaran Deduktif
• menarik kesimpulan tertentu dari premis yang diketahui atau asumsi yang bersifat umum.
• jika premis-premisnya benar, maka kesimpulan yang dihasilkan juga pasti benar. Kesimpulan dalam pen alaran deduktif adalah pasti dan dijamin kebenarannya jika premis-premisnya benar.
• Contoh penalaran deduktif dalam mesin inferensi adalah San Francisco berada di California. Oleh karena itu, setiap entitas (misalnya seseorang atau organisasi) yang berlokasi di San Francisco juga harus berlo kasi di California. Mengapa ini penting? Jika seseorang mencari organisasi di California, semua organisa si yang berlokasi di San Francisco harus disertakan.
2. Penalaran Induktif
• menarik kesimpulan umum berdasarkan sejumlah fakta atau contoh khusus.
• kesimpulan yang dihasilkan hanyalah merupakan probabilitas atau kemungkinan berdasarkan contoh-con toh yang diamati. Kesimpulan dalam penalaran induktif tidaklah pasti, melainkan hanya mendekati keben aran dan dapat menjadi subjek revisi dengan adanya fakta baru.
• Contoh penalaran induktif adalah: Di daerah Puncak hawanya dingin, di daerah Batu hawanya dingin, di k awasan Lembang hawanya juga dingin. Kesimpulan: Daerah yang letaknya tinggi (dataran tinggi), hawany
Mesin Inferensi - Deduktif Induktif
• Perbedaan utama penalaran deduktif dengan penalaran induktif:
• Penalaran deduktif menghasilkan kesimpulan yang pasti dan logis berdasarkan premis-p remis yang diketahui, sedangkan penalaran induktif menghasilkan kesimpulan yang mun gkin dan berdasarkan probabilitas.
• Penalaran deduktif digunakan untuk memastikan kebenaran kesimpulan dengan cara m engikuti ketentuan logis secara ketat, sementara penalaran induktif digunakan untuk me mbuat generalisasi berdasarkan contoh yang ada
.
Dua metode yang digunakan dalam banyak mesin inferensi untuk menyimpulkan pengetah uan baru dikenal sebagai metode backward chaining dan metode forward chaining.
Forward Chaining
• Forward chaining atau penalaran maju adalah penalaran yang dimulai dari sekumpulan fak ta-fakta dengan mencari kaidah yang cocok dengan dugaan/ hipotesis yang ada menuju k esimpulan.
• Metode forward chaining dimulai dengan data yang tersedia dan memanfaatkan aturan unt uk menyimpulkan data baru.
• Forward chaining dimulai dengan fakta yang diketahui dan menggunakannya untuk mencipt akan fakta baru.
Forward Chaining – Contoh Kasus
• Tahap persiapan
Pengkodean yang diperoleh saat Akuisisi Pengetahuan
Premis
A1 = Rabun Jauh A2 = Rabun Dekat
A3 = Malam hari tidak bisa melihat A4 = Siang hari penglihatan menurun A5 = Silau akan cahaya
A6 = Sakit kepala
A7 = Penglihatan berbayang
Subgoal
P1 = Mata Minus P2 = Mata Plus P3 = Silinder P4 = Katarak
Forward Chaining
• Rule yang ada pada Knowledge Base:
• Fakta-Fakta yang diperoleh dari user:
R1 = if A1 then P1 R2 = if A2 then P2
R3 = if (A2 or A6 ) and A7 then P3 R4 = if A3 and A4 and A5 then P4 R5 = if (P1 or P2) and A4 then P4
A2 = Rabun dekat
A4 = Siang hari penglihatan menurun
A5 = Silau akan cahaya
Forward Chaining
• Membuat Tree Berdasarkan Rule base:
Forward Chaining
Algoritma Forward Chaining:
1. Catat semua fakta yang diinput oleh user
2. Catat semua rule yang bagian premisnya menggunakan fakta yang sesuai ke dalam Queue Q 3. Sampai tidak ada rule pada Q
a. Analisis rule pertama pada Q
b. Jika premis tidak terpenuhi, hapus rule dari Q dan kembali ke a c. Jika premis terpenuhi:
1) Eksekusi Rule, catat konklusi dari rule
2) Cari Rule yang menggunakan konklusi tersebut sebagai premis
3) Jika rule belum ada pada Q, catat rule tersebut meskipun premis tidak sepenuhnya terpenuhi 4) Hapus rule awal dari Q
4. Konklusi Akhir diperoleh
Forward Chaining
1.Fakta : A2, A4, A5, P2, P4 2. Q : R2, R4, R5
Itera si
Rule Fakta baru R K
1 R2, R3, R4, R5 - R2 P2
2 R3, R4, R5 P2 R3 -
3 R4, R5 P2 R4 -
4 R5 P2 R5 P4
R1 = if A1 then P1 R2 = if A2 then P2
Ada dalam fakta
Tidak ada dalam fakta
Forward Chaining
• Konklusi Akhir
Subgoal
P1 = Mata Minus
P2 = Mata Plus
P3 = Silinder
P4 = Katarak
Backward Chaining
• Backward Chaining atau penalaran mundur adalah pendekatan penalaran yang digerakkan oleh tujuan yang dimulai dengan suatu tujuan atau hasil yang diinginkan dan bekerja mund ur untuk menentukan urutan langkah atau kondisi yang mengarah pada tujuan tersebut.
• Metode ini sangat cocok untuk permasalahan yang keadaan atau premis awalnya diketahu i, dan tujuannya adalah untuk menentukan apakah tujuan atau kesimpulan tertentu dapat dicapai.
• Berbeda dengan forward chaining yang dimulai dari fakta-fakta awal untuk mencapai kesi mpulan, backward chaining mulai dari tujuan atau hipotesis yang diinginkan dan bekerja m undur untuk mencari fakta-fakta yang mendukung tujuan tersebut.
Backward Chaining
• Algoritma Backward Chaining:
1. Catat GOAL pada TOS (Top Of Stack)
2. Catat semua RULE yang memenuhi GOAL 3. Untuk Setiap Rule:
1) Jika semua premis terpenuhi, maka eksekusi RULE yang mendapat konklusi, proses selesai.
2) Jika sebuah premis tidak tidak terpenuhi, cari RULE yang menurunkan nilai dari parameter premis tersebut. Ji ka ada, maka asumsi parameter tersebut adalah SUBGOAL, letakkan pada TOS dari parameter tersebut. Jika nilai ini sesuai dengan premis, lanjutkan pada premis selanjutnya. Jika premis tidak sesuai maka lanjutkan k e RULE berikutnya
3) Jika tidak ada, maka tanyakan kepada user apa nilai
4) Jika semua RULE sudah dianalisa dan semua gagal, maka GOAL tidak ada. Hapus GOAL dari Stack dan kemb ali ke langkah 2. Jika stack kosong, proses selesai.
Backward Chaining
• Teknik Backward Chaining:
1. Tree 2. Iterasi
Backward Chaining – Contoh Kasus
• Fakta
• Akar tunggang, tumbuhan berbiji, daun menyirip.
GOAL Mangga
Rule
Z1=IF akar serabut THEN biji terbuka Z2=IF akar tunggang THEN biji tertutup
Z3=IF biji terbuka AND daun sejajar OR melengkung THEN monokotil Z4=IF biji tertutup AND daun menyirip THEN dikotil
Z5=IF biji terbuka AND biji tertutup THEN tumbuhan berbiji
Z6=IF dikotil AND tumbuhan berbiji AND daun menyirip THEN Mangg Z7=IF tumbuhan berbibiji AND monokotil AND daun sejajar THEN Padi
Backward Chaining – Teknik Tree
• Teknik Tree
RULE
• Z1=IF akar serabut THEN biji terbuka
• Z2=IF akar tunggang THEN biji tertutup
• Z3=IF biji terbuka AND daun sejajar OR melengkung THEN monokotil
• Z4=IF biji tertutup AND daun menyirip THEN dikotil
• Z5=IF biji terbuka AND biji tertutup THEN tumbuhan berbiji
• Z6=IF dikotil AND tumbuhan berbiji
Backward Chaining – Teknik Iterasi
• Teknik Iterasi
Fakta
Akar tunggang, tumbuhan berbiji, daun menyirip.
= C2, P5, C5
GOAL
P6 = Mangga
PREMIS
C1 = akar serabut C2 = akar tungggang C3 = daun sejajar
C4 = daun melengkung C5 = daun menyirip
RULE
Z1=IF C1 THEN P1 Z2=IF C2 THEN P2
Z3=IF P1 AND (C3 OR C4) THEN P3
Z4=IF P2 AND C5 THEN P4 Z5=IF P1 AND P2 THEN P5
Z6=IF P4 AND P5 AND C5 THEN P6 Z7=IF P5 AND P3 AND C3 THEN P7
SUBGOAL
P1 = Biji terbuka P2 = Biji tertutup P3 = Monokotil P4 = Dikotil
P5 = Tumbuhan Berbiji P6 = Mangga
P7 = Padi
Backward Chaining – Teknik Iterasi
• FAKTA = C2, C5, P5
• GOAL = P6
RULE
Z1=IF C1 THEN P1 Z2=IF C2 THEN P2
Z3=IF P1 AND (C3 OR C4) THEN P3 Z4=IF P2 AND C5 THEN P4
Z5=IF P1 AND P2 THEN P5
Z6=IF P4 AND P5 AND C5 THEN P6
FAKTA BARU = P2, P4 STACK= P6, P4, P2
No RULE T F K Next Goal
1 Z6 C5,
P5 P4 - P4
2 Z4 C5 P2 - P2
3 Z2 C2 - P2 P4, coret P2 dari stack
Backward Chaining
Hasil:
• Goal Mangga adalah kesimpulan dari fakta
• Maka Mangga dapat dibuktikan dari fakta
Forward Chaining vs Backward Chaining
Atribut Backward chaining Forward chaining
Dikenal juga Goal-driven Data-driven
Dimulai dari Kesimpulan yang memungkinkan Data baru
Ditujukan untuk Data yang diperlukan Kesimpulan apapun
Pendekatan Konservati Oportunistik
Praktis jika Jumlah jawaban yang mungkin cukup beralasan
Ledakan kombinasi membuat jumlah jawaban menjadi tak tertentu
Cocok untuk Diagnose, resep, dan debug aplikasi
Perencanaan, pemantauan, kendali dan aplikasi
interpretasi
Reasoning Atas-bawah Bawah-atas
Jenis pencarian Depth-first search Breadth-first search
Berikut adalah perbandingan antara metode Forward Chaining dan Backward Chaining:
Forward Chaining vs Backward Chaining
• Faktor-faktor yang mempengaruhi pemilihan Forward Chaining atau Backward Chaining:
1. Banyaknya keadaan awal dan tujuan. Jika keadaan awal lebih kecil dari tujuan, maka dig unakan penalaran forward, jika tujuan lebih sedikit dari keadaan awal, maka dipilih pena laran backward.
2. Rata-rata jumlah node yang dapat diraih secara langsung dari suatu node. Lebih baik dip ilih node yang memliki cabang lebih sedikit.
3. Apakah program butuh menanyai user untuk melakukan justifikasi proses penalaran? Jik a ya, maka lebih baik dipilih arah yang memudahkan user.
4. Bentuk kejadian yang akan memicu penyelesaian masalah. Jika kejadian berupa fakta b aru pilih forward. Jika kejadian berupa query pilih backward.