Anda di halaman 1dari 31

Sistem Pakar Berbasis Aturan (Rule-based Expert Systems)

KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) MATERI 3

Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2011

Pengetahuan
2

Pengetahun (knowledge) ?

Adalah teori atau praktek pemahaman suatu subyek atau domain. Kumpulan mengenai apa yang diketahui.

Orang yang berada diposisi tersebut -> PAKAR. Misal: dokter, teknisi komputer, petani, dsb. Daerah pada domain tersebut terbatas, mis: pakar

(dokter) penyakit kulit hanya memahami secara penuh pada domain penyakit kulit (tidak untuk penyakit lain), petani udang hanya mengetahui penyakit udang (tidak untuk ikan lain). Secara umum, pakar adalah orang yang terampil dalam melakukan sesuatu (pemikiran dan tindakan) yang tidak dapat dilakukan orang lain.

Aturan dalam pengetahuan


3
Misal, domain masalah adalah menyeberang jalan raya Aturan:

IF the traffic light is green


THEN the action is go THEN the action is stop

IF the traffic light is red

Pernyataan tersebut merepresentasikan bentuk IF-THEN yang disebut aturan produksi atau aturan saja. IF-THEN umum digunakan dalam representasi pengetahuan yang berhubungan dengan fakta atau informasi dalam bagian IF untuk beberapa aksi dalam bagian THEN. Aturan memberikan deskripsi bagaimana menyelesaikan masalah. Aturan terdiri dari dua bagian: bagian IF, disebut antecedent (premise atau condition) atau fakta , dan bagian THEN yang disebut consequent (conclusion atau action) atau kesimpulan. Sinktaks dasar:

Umumnya, sebuah aturan dapat mempunyai gabungan beberapa antecedent dengan kata kunci AND (konjungsi), OR (disjungsi), atau kombinasi keduanya. IF <antecedent 1> AND <antecedent 2> . . . AND <antecedent n> THEN <consequent> IF <antecedent 1> OR <antecedent 2> . . . OR <antecedent n> THEN <consequent>

IF <antecedent> THEN <consequent>

Aturan dalam pengetahuan (2)


4
Fakta aturan disandingkan dengan dua bagian: obyek (linguistic object) dan

nilainya.

Mis. Obyek linguistik seperti traffic light bisa mempunyai nilai red atau green

Obyek dan nilainya dihubungkan dengan oprator, spt: is, are, is not, are not

untuk memberikan nilai simbolik pada obyek linguistik. Tetapi sistem pakar biasanya menggunakan operator matematika untuk mendefinisikan obyek sebagai numerik dan memberikan nilai numerik padanya.

Mis.: IF age of the customer < 18 AND cash withdrawal > 1000 THEN signature of the parent is required

Kesimpulan (consequent) sama dengan fakta- mengombinasikan obyek dan nilai

yang dihubungkan oleh operator.


Mis. : Nilai traffic ligh adalah green, aturan pertama nilai obyek linguistik action dengan go Mis.: IF taxable income > 16283 THEN Medicare levy = taxable income * 1.5 / 100

Aturan dalam pengetahuan (2)


5

Aturan dapat merepresentasikan relations (hubungan),

recommendations (saran), directives (arahan), strategies (strategi) dan heuristics (heuristik) [Durkin, 1994]. Strategy Relation

tank; Recommendation step1 is complete IF the season is autumn (musim gugur) IF step1 is complete AND the sky is cloudy AND the fuel tank is full AND the forecast is drizzle (gerimis) THEN the action is check the battery; THEN the advice is take an umbrella step2 is complete Directive Heuristic IF the car is dead IF the spill is liquid AND the fuel tank is empty AND the spill pH < 6 THEN the action is refuel the car AND the spill smell is vinegar THEN the spill material is acetic acid

IF the fuel tank is empty THEN the car is dead

IF the car is dead THEN the action is check the fuel

Pemain utama sistem pakar


6

Sistem Pakar, adalah sebuah

program komputer yang dapat bekerja pada level pakar manusia dalam daerah masalah yang sempit. Tipe: rule-based, case-based, dsb. Expert System Shell adalah sistem pakar yang tidak mengandung pengetahuan (komponen yang lain tetap ada). Ada 5 anggota tim pengembangan sistem pakar: the domain expert, the knowledge engineer, the programmer, the project manager and the end-user.

Domain Expert
7

Domain expert adalah orang yang bisa

mengetahui dan terampil dalam menyelesaikan masalah pada daerah atau domain spesifik. Sangat pakar dalam domain tersebut, mis: dokter, teknisi komputer, petani, dsb. Kepakarannya akan di-capture dalam sistem pakar. Pakar harus bisa mengkomunikasikan pengetahuannya, berpartisipasi dalam pembangunan sistem pakar. Pemain yang paling penting dalam pembangunan sistem pakar.

Domain expert

Knowledge Engineer
8

Knowledge engineer adalah orang yang

mempunyai kemampuan perancangan, pembangunan dan pengujian sistem pakar. Bertanggung jawab untuk pemilihan pekerjaan yang tepat bagi sistem pakar. Mewawancarai domain expert untuk mencari bagaimana masalah tertentu diselesaikan. Selama interaksi wawancara, memunculkan metode penalaran pakar dalam menanani fakta dan aturan dan memutuskan bagaimana merepresentasikannya dalam sistem pakar. Bertangung jawab dalam pengujian, revisi, dan integrasi sistem pakar dalam workplace. Menyelesaikan proyek dari awal hingga akhir.

Knowledge engineer

Programmer, Project Manager, End-user


9

Programmer, orang yang bertanggung jawab dalam

mengimplementasikan sistem pakar dalam koding program.


Harus memahami bahasa pemrograman AI, seperti: LISP, Prolog, OPS5. J uga bahasa pemrograman konvensional, spt: vb, delphi, java, dsb. Saat ini, sistem pakar (dalam skala penelitian) juga dikembangkan dengan bahasa-bahasa konvensional yang ada.

Project Manager, pimpinan tim pengembangan sistem, bertanggung

jawan untuk menjaga proyek tetap dalam track-nya.

Berinteraksi dengan pakar, knowledge engineer, programmer dan end-user.

End-user, orang yang menggunakan sistem pakar ketika sistem

sudah selesai dikembangkan.


User bisa jadi adalah pasien atau perawat dalam sebuah klinik kesehatan milik dokter. User bisa jadi adalah analis kimia dalam menentukan struktur cairan molekul (Feigenbaum et al., 1971), Dokter yunior dalam diagnosis penyakit infeksi darah(Shortliffe, 1976) Dsb.

Rule-based Expert System


10

Awal 1970, Newell dan Simon

mengusulkan model sistem pakar, dasar dari rule-based expert systems. Didasarkan pada ide manusia dalam menyelesaikan masalah dengan menerapkan pengetahuannya (dinyatakan sebagai aturan produksi) pada masalah yang diberikan dengan informasi masalah spesifik. Aturan produksi disimpan dalam memori jangka panjang, sedangkan informasi masalah spesifik disimpan dalam memori jangka pendek. Ada 5 komponen inti dalam rule-based expert systems:the knowledge base, the database, the inference engine, the explanation facilities, and the user interface

Production system model

Basic structure of a rule-based expert system

Struktur lengkap rule-based expert system


11

External interface digunakan

untuk bekerja dengan data eksternal dan program ditulis dalam bahasa pemrograman konvensional seperti C, Pascal, dan Basic. Developer Interface termasuk knowledge base editor, debugging aids, dan fasilitas input/output. Debugging aids biasanya terdiri dari fasilitas tracing dan pemecahan paket. Tracing memberikan daftar semua aturan yang ditembak selama program dieksekusi, dan pemecahan paket memungkinkan untuk berhentinya sistem pakar dalam mengevaluasi setiap aturan.

Karakteristik Sistem Pakar


12

SP dibangun untuk bekerja pada level pakar manusia dalam domain yang

sempit dan khusus. Karakteristik paling penting dalam SP adalah kualitas kinerja yang tinggi.

Tidak peduli seberapa cepat sistem menyelesaikan masalah, user tidak akan puas jika hasilnya salah. Meskipun keputusan/diagnosis sangat akurat mungkin tidak berguna bagi user jika terlalu lama diterapkan. Misal, dalam kondisi darurat ketika pasien bisa meninggal atau reaktor nuklir mau meledak, pakar akan memotong teknik penalarannya untuk mendapatkan solusi terdekat. Membuat sistem pakar dapat meninjau penalarannya dan menjelaskan keputusan. Penjelasan dalan SP dalam skop pelacakan atran yang ditembakkan selama sesi problemsolving. Pakar paling pandaipun bisa berbuat salah, maka SP juga bisa salah. Tetapi kita masih mempercayai pakar, walaupun kita mengenali bahwa keputusannya kadang-kadang salah.

Disisi lain, kecepatan mencapai solusi juga sangat penting.


Fitur unik SP adalah kemampuan menjelaskan (explanation capability).


Bisakah sistem pakar melakukan kesalahan (dalam penalaran) ?


13

Teknik Inferensi
14
Dalam rule-based expert system,

pengetahuan domain direpresentasikan oleh sejumlah aturan produksi IF-THEN, sedangkan data direpresentasikan oleh sejumlah fakta mengenai situasi saat itu. Mesin inferensi membandingkan setiap aturan yang tersimpan dalam basis pengetahuan dengan fakta yang berada dalam database.

Ketika bagian IF (kondisi) aturan cocok dengan fakta, aturan akan ditembak dan bagian THEN (aksi) diekskusi. Aturan yang ditembak akan mengubah sejumlah fakta dengan menambahkan fakta baru.

Pencocokan bagian aturan IF pada fakta

menghasilkan rantai inferensi (inference chain). Rantai inferensi menunjukkan bagaimana SP menerapkan aturan untuk mencapai kesimpulan.

Contoh: Fakta: A, B, C, D and E Lakukan penalatan untuk mencapai kesimpulan

Teknik Inferensi: Forward Chaining


15

Ada 2 teknik inferensi: forward chaining dan backward chaining

(Waterman and Hayes-Roth, 1978). Forward chaining adalah penalaran yang dikendalikan oleh data (datadriven reasoning). Penalaran dimulai dari data yang diketahui dan memproses maju pada data. Setiap kali hanya aturan paling atas yang akan dieksekusi. Ketika sebuah aturan ditembak, aturan akan menambahkan fakta baru dalam database. Sembarang aturan hanya dieksekusi satu kali. Siklus penembakan pencocokan (match-fire) berhenti ketika tidak ada lagi aturan yang dapat ditembak. Forward chaining adalah teknik untuk pengumpulan informasi dan kemudian menalarnya. Beberapa aturan dapat dieksekusi meskipun aturan tersebut tidak memunculkan tujuan/kesimpulan.

Forward Chaining
16

Siklus 1 Rule 3, fakta X muncul. Rule 4, fakta L muncul Siklus 2 Rule 2, fakta Y muncul Siklus 3 Rule 1, kesimpulan Z muncul

Backward Chaining
17

Backward chaining adalah penalaran yang dikendalikan

tujuan/kesimpulan (goal-driven reasoning). SP mempunyai tujuan (hipotesis solusi), mesin inferensi mencoba untuk mencari evidence (bukti) untuk membuktikannya. Pertama, knowledge base dicari untuk menemukan aturan yang mungkin mempunyai solusi yang dibutuhkan. Aturan harus mempunyai tujuan dalam bagian THEN (aksi).

Jika aturan ditemukan sedangkan bagian IF (kondisi) cocok dengan data dalam database, maka aturan tertembak dan tujuan terbukti. Jika tidak, maka mesin inferensi akan meletakkan aturan tersebut dalam daerah kerjanya (seut saja stack) dan men-setup lagi tujuan baru, sub-goal, untuk membuktikan bagian IF dalam aturan tersebut.

Knowledge base mencari lagi aturan yang dapat membuktikannya, Mesin inferensi mengulangi kembali proses tumpukan aturan

(stacking rule) sampai tidak ada lagi aturan dalam knowledge base untuk membuktkan sub-goal saat itu.

Backward Chaining
18
Pass 1 Hipotesis adalah Z. Mesin inferensi mencoba mencari aturan yang menyimpulkan Z (hipotesis) dibagian THEN yaitu Rule 1 Rule 1 membutuhkan fakta Y dan D, maka Rule 1 masuk dalam stack. Fakta Y dan D harus dimunculkan. Pass 2 Mesin inferensi men-set-up sub-goal Y, mencari dalam database fakta ternyata tidak ada, maka mencari dalam knowledge base aturan yang menyimpulkan Y (dibagian THEN), Rule 2. Rule 2 masuk dalam stack. Fakta dalam Rule 2: X, B, dan E harus dimunculkan. Pass 3 Mesin inferensi men-set-up sub-goal X, mencari dalam database fakta ternyata tidak ada, maka mencari dalam knowledge base aturan yang menyimpulkan X (dibaian THEN), Rule 3. Rule 3 masuk dalam stack. Fakta dalam Rule 3: A, harus dimunculkan.

19

Pass 4 Mesin inferensi menemukan fakta A dalam database fakta, maka Rule 3 tertembak. Fakta baru X tersimpulkan (muncul dalam database fakta). Pass 5 Mesin inferensi kembali ke sub-goal Y, mencoba kembali mengeksekusi aturan 2, fakta X, D, dan E ada dalam database, maka aturan 2 tertembak. Fakta baru Y tersimpulkan (muncul dalam database fakta). Pass 6 Mesin inferensi kembali ke Rule 1, mencoba memunculkan kesimpulan Z, fakta Y dan D dan D ada dalam database, maka tujuan awal Z akhirnya tercapai.

Forward Chaining atau Backward Chaining ?


20

Jika pertama pakar perlu mengumpulkan beberapa informasi

dan mencoba menalar dari fakta apapun yang dapat dinalar, maka gunakan forward chaining. Jika pakar memulai dari hipotesis solusi dan mencoba menemukan fakta untuk membuktikannya, maka gunakan backward chaining inference engine. Forward chaining adalah cara alami untuk mendesain sistem pakar untuk analisis dan interpretasi.

Misal DENDRAL Sistem Pakar untuk menentukan struktur molekul dari cairan dasar yang tidak diketahui (Feigenbaum et al., 1971), menggunakan forward chaining.

Kebanyakan sistem pakar dengan backward chaining digunakan

untuk tujuan diagnosis.

Misal, MYCIN, sistem pakat dunia medis untuk diagnosis penyakit infeksi darah (Shortliffe, 1976), menggunakan backward chaining.

Kebanyakan dalan SP yang ada, mengombinasikan diantara

keduanya.

Rule: 7 if the job is writing or the job is typing or the job is drawing Rule: 1 then the stimulus_response is documented if the environment is papers Rule: 8 21 or the environment is manuals if the job is evaluating or the environment is documents or the job is reasoning or the environment is textbooks or the job is investigating then the stimulus_situation is verbal then the stimulus_response is analytical Rule: 2 Rule: 9 if the environment is pictures if the stimulus_situation is physical object or the environment is illustrations and the stimulus_response is hands-on or the environment is photographs and feedback is required or the environment is diagrams then medium is workshop then the stimulus_situation is visual Rule: 10 Rule: 3 if the stimulus_situation is symbolic if the environment is machines and the stimulus_response is analytical or the environment is buildings and feedback is required or the environment is tools then medium is lecture tutorial then the stimulus_situation is physical object Rule: 11 Rule: 4 if the stimulus_situation is visual if the environment is numbers and the stimulus_response is documented Rule: 14 or the environment is formulas and feedback is not required or the environment is computer programs then medium is videocassette if the stimulus_situation is verbal then the stimulus_situation is symbolic Rule: 12 and the stimulus_response is oral Rule: 5 if the stimulus_situation is visual and feedback is required if the job is lecturing and the stimulus_response is oral then medium is role-play exercises or the job is advising and feedback is required or the job is counselling then medium is lecture tutorial then the stimulus_response is oral Rule: 13 Rule: 6 if the stimulus_situation is verbal if the job is building and the stimulus_response is analytical or the job is repairing and feedback is required or the job is troubleshooting then medium is lecture tutorial then the stimulus_response is hands-on

MEDIA ADVISOR: Rule-base Expert System

MEDIA ADVISOR: Rule-base Expert System


22

Tujuan akhir rule-based expert system adalah untuk memunculkan

solusi pada masalah data masukan. Media Advisor, solusi/kesimpulan adalah media yang dipilih dari daftar 4 pilihan:

medium is workshop medium is lecture tutorial medium is videocassette medium is role-play exercises

Dalam dialog, SP menanyai user untuk memasukkan data yang

dibutuhkan untuk menyelesaikan masalah (environment, job, dan feedback). Berdasarkan jawaban yang diberikan oleh user, SP menerapkan aturan dari knowledge base untuk menalar stimulus_situation adalah physical object, stimulus_response adalah hands_on. Rule 9 kemudian memilih satu dari nilai medium yang dibolehkan.

Menalar dengan Forward Chaining


What sort of environment is a trainee dealing with on the job? machines

23

In what way is a trainee expected to act or respond on the job? repairing


Is feedback on the trainees progress required during training? required (yes) Cycle 1 Rule: 3 if the environment is machines or the environment is buildings or the environment is tools then the stimulus_situation is physical object

Cycle 1 Rule: 6 if the job is building or the job is repairing or the job is troubleshooting then the stimulus_response is handson Cycle 2 Rule: 9 if the stimulus_situation is physical object and the stimulus_response is handson and feedback is required then medium is workshop medium is workshop Tidak ada aturan yang masih dapat ditembak, Berhenti.

FORWARD CHAINING: Memasukkan fakta dulu, baru disimpulkan.

Menalar dengan Forward Chaining (2)


Kasus 1 What sort of environment is a trainee dealing with on the job? diagrams In what way is a trainee expected to act or respond on the job? advisinging Is feedback on the trainees progress required during training? required (yes) Kasus 2 What sort of environment is a trainee dealing with on the job? computer programs

24

Kasus 3 What sort of environment is a trainee dealing with on the job? textbooks In what way is a trainee expected to act or respond on the job? drawing Is feedback on the trainees progress required during training? required (yes) Kasus 4 What sort of environment is a trainee dealing with on the job? diagrams In what way is a trainee expected to act or respond on the job? building Is feedback on the trainees progress required during training? not required (no)

In what way is a trainee expected to act or respond on the job? reasoning


Is feedback on the trainees progress required during training? required (yes)

Menalar dengan Backward Chaining


25

Hipotesis: medium is workshop Pass 1 Mencoba Rule 9, Perlu mencari fakta stimulus_situation Rule 9, ditumpuk, fakta stimulus_situation dicari sebagai physical object Pass 2 Mencoba Rule 3, Perlu mencari fakta environment Rule 3, ditumpuk, fakta environment dicari sebagai machines Menanyai environment machines environment diinstasiasi oleh user dengan memasukkan machines Mencoba Rule 3, stimulus_situation diinstasiasi oleh Rule: 3 menjadi physical object Pass 3 Mencoba Rule 9, Perlu mencari fakta stimulus_response Rule 9, ditumpuk, fakta stimulus_response dicari sebagai hands-on

Menalar dengan Backward Chaining (2)


26

Pass 4 Mencoba Rule 6, Perlu mencari fakta job Rule 6, ditumpuk, fakta job dicari sebagai building Menanyai job repairing job diinstansiasi oleh user dengan memasukkan repairing Mencoba Rule 6, stimulus_response diinstansiasi oleh Rule 6 menjadi hands-on Pass 5 Mencoba Rule 9, Perlu mencari fakta feedback Rule 9 ditumpuk, fakta feedback dicari sebagai required Menanyai feedback required feedback diinstansiasi oleh user dengan memasukkan required Mencoba Rule 9, medium diinstansiasi oleh user Rule 9 menjadi workshop BACKWARD CHAINING: Dimulai medium is workshop
dari kesimpulan (hipotesis), kemudian mencari fakta

Pohon diagram penalaran

27

Menalar dengan Backward Chaining (3)


Bagaimana jika hipotesisnya
28

adalah: medium is workshop ? Tetapi :


environment is numbers jobs is investigating feedback is required (yes)

Kasus Lain Fakta tidak lengkap Bagaimana jika hipotesisnya adalah: medium is workshop ? Tetapi :

Bagaimana jika hipotesisnya

adalah: medium is workshop ? Tetapi :


environment is machines jobs is repairing

environment is photograhs jobs is writing feedback is not required (no)

Perlu diperhatikan, backward chaining tidak selalu bertanya ketika proses penalaran, bisa dimulai dengan memasukan fakta, kemudian mulai menalar, ditengah jalan, SP bisa bertanya untuk menambah fakta baru.

Kelebihan Sistem Pakar


29
Representasi pengetahuan yang alami Pakar biasanya menjelaskan prosedur penyelesaian masalah dengan pernyataan Dalam situasi seperti ini, saya melakukan seperti ini, ini dinyatakan dengan aturan produksi IF-THEN. Stuktur yang seragam Aturan produksi menggunakan IF-THEN semua, setiap aturan adalah pengetahuan yang independen satu sama lain. Pemisahan pengetahuan dari pemrosesan. Stuktur rule-based expert system memberikan pemisahan knowledge base dari mesin inferensi yang efektif. Agar mesin semakin pintar, maka knowledge engineer hanya menambah beberapa aturan pada knowledge base tanpa mengintervensi struktur kontrol. Menyelesaikan pengetahuan yang tidak lengkap dan tidak pasti. Kebanyakan rule-based expert system dapat merepresentasikan dan menalar pengetahuan yang tidak lengkap dan tidak pasti. Misal:

IF season is autumn AND sky is cloudy AND wind is low THEN forecast is clear { cf 0.1 }; forecast is drizzle { cf 1.0 }; forecast is rain { cf 0.9 }

Kekurangan Sistem Pakar


30

Hubungan yang tidak jelas antar aturan. Meskipun individu aturan produksi secara relatif sederhana dan selfdocumented, interaksi logika dalam jumlah aturan yang besar bisa menjadi kabur (tidak jelas/membingungkan). Sulit diamati bagaimana setiap individu memberikan semua strategi. Masalah ini akan terlihat ketika aturan produksi disusun dalam hirarki. Strategi pencarian tidak efisien. Mesin inferensi menerapkan exhaustive search pada semua aturan produksi disetiap siklus. Sistem pakar dengan aturan yang besar (>100) bisa menjadi lambat, dan tidak cocok untuk aplikasi yang real-time. Tidak dapat belajar Umumnya rule-based expert system tidak mempunyai kemampuan untuk belajar dari pengalaman. Tidak bisa secara otomatis memodifikasi knowledge base atau menyesuaikan aturan atau menambah aturan baru. Knowledge engineer masih bertanggung jawab pada revisi dan pengelolaan sistem.

ANY QUESTIONS ?
31 SAATNYA LATIHAN MESIN INFERENSI FORWARD CHAINING DAN BACKWARD CHAINING