of 31/31
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) MATERI 3 Sistem Pakar Berbasis Aturan (Rule-based Expert Systems) Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2011

Sistem Pakar Berbasis Aturan (Rule-based Expert Systems)

  • View
    93

  • Download
    4

Embed Size (px)

DESCRIPTION

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. Pengetahun (knowledge) ? - PowerPoint PPT Presentation

Text of Sistem Pakar Berbasis Aturan (Rule-based Expert Systems)

Slide 1

KECERDASAN BUATAN(Artificial Intelligence)Materi 3Sistem Pakar Berbasis Aturan(Rule-based Expert Systems)Eko PrasetyoTeknik InformatikaUniv. Pembangunan Nasional Veteran Jawa Timur2011

Pengetahuan2Pengetahun (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 pengetahuan3Misal, domain masalah adalah menyeberang jalan rayaAturan:IF the traffic light is greenTHEN the action is goIF the traffic light is redTHEN the action is stopPernyataan 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:IF THEN Umumnya, sebuah aturan dapat mempunyai gabungan beberapa antecedent dengan kata kunci AND (konjungsi), OR (disjungsi), atau kombinasi keduanya.IF AND ...AND THEN IF OR ...OR THEN Aturan dalam pengetahuan (2)4Fakta aturan disandingkan dengan dua bagian: obyek (linguistic object) dan nilainya.Mis. Obyek linguistik seperti traffic light bisa mempunyai nilai red atau greenObyek 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 < 18AND cash withdrawal > 1000THEN signature of the parent is requiredKesimpulan (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 goMis.:IF taxable income > 16283THEN Medicare levy = taxable income * 1.5 / 100Aturan dalam pengetahuan (2)5Aturan dapat merepresentasikan relations (hubungan), recommendations (saran), directives (arahan), strategies (strategi) dan heuristics (heuristik) [Durkin, 1994].RelationIF the fuel tank is emptyTHEN the car is deadRecommendationIF the season is autumn (musim gugur)AND the sky is cloudyAND the forecast is drizzle (gerimis)THEN the advice is take an umbrellaDirectiveIF the car is deadAND the fuel tank is emptyTHEN the action is refuel the carStrategyIF the car is deadTHEN the action is check the fuel tank;step1 is completeIF step1 is completeAND the fuel tank is fullTHEN the action is check the battery;step2 is completeHeuristicIF the spill is liquidAND the spill pH < 6AND the spill smell is vinegarTHEN the spill material is acetic acidPemain utama sistem pakar6Sistem 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 Expert7Domain 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 expertKnowledge Engineer8Knowledge 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 engineerProgrammer, Project Manager, End-user9Programmer, orang yang bertanggung jawab dalam mengimplementasikan sistem pakar dalam koding program.Harus memahami bahasa pemrograman AI, seperti: LISP, Prolog, OPS5. Juga 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 System10Awal 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 systemStruktur lengkap rule-based expert system11External 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 Pakar12SP 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.Disisi lain, kecepatan mencapai solusi juga sangat penting.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.Fitur unik SP adalah kemampuan menjelaskan (explanation capability).Membuat sistem pakar dapat meninjau penalarannya dan menjelaskan keputusan.Penjelasan dalan SP dalam skop pelacakan atran yang ditembakkan selama sesi problem-solving.Bisakah sistem pakar melakukan kesalahan (dalam penalaran) ?Pakar paling pandaipun bisa berbuat salah, maka SP juga bisa salah.Tetapi kita masih mempercayai pakar, walaupun kita mengenali bahwa keputusannya kadang-kadang salah.13

Teknik Inferensi14Dalam 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 ELakukan penalatan untuk mencapai kesimpulanTeknik Inferensi: Forward Chaining15Ada 2 teknik inferensi: forward chaining dan backward chaining (Waterman and Hayes-Roth, 1978).Forward chaining adalah penalaran yang dikendalikan oleh data (data-driven 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 Chaining16Siklus 1Rule 3, fakta X muncul.Rule 4, fakta L munculSiklus 2Rule 2, fakta Y munculSiklus 3Rule 1, kesimpulan Z muncul

Backward Chaining17Backward 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 Chaining18Pass 1Hipotesis adalah Z.Mesin inferensi mencoba mencari aturan yang menyimpulkan Z (hipotesis) dibagian THEN yaitu Rule 1Rule 1 membutuhkan fakta Y dan D, maka Rule 1 masuk dalam stack.Fakta Y dan D harus dimunculkan.Pass 2Mesin 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 3Mesin 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.

19Pass 4Mesin inferensi menemukan fakta A dalam database fakta, maka Rule 3 tertembak.Fakta baru X tersimpulkan (muncul dalam database fakta).Pass 5Mesin 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 6Mesin 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 ?20Jika 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.MEDIA ADVISOR: Rule-base Expert System21Rule: 1if the environment is papersor the environment is manualsor the environment is documentsor the environment is textbooksthen the stimulus_situation is verbalRule: 2if the environment is picturesor the environment is illustrationsor the environment is photographsor the environment is diagramsthen the stimulus_situation is visualRule: 3if the environment is machinesor the environment is buildingsor the environment is toolsthen the stimulus_situation is physical objectRule: 4if the environment is numbersor the environment is formulasor the environment is computer programsthen the stimulus_situation is symbolicRule: 5if the job is lecturingor the job is advisingor the job is counsellingthen the stimulus_response is oralRule: 6if the job is buildingor the job is repairingor the job is troubleshootingthen the stimulus_response is hands-on

Rule: 7if the job is writingor the job is typingor the job is drawingthen the stimulus_response is documentedRule: 8if the job is evaluatingor the job is reasoningor the job is investigatingthen the stimulus_response is analyticalRule: 9if the stimulus_situation is physical objectand the stimulus_response is hands-onand feedback is requiredthen medium is workshopRule: 10if the stimulus_situation is symbolicand the stimulus_response is analyticaland feedback is requiredthen medium is lecture tutorialRule: 11if the stimulus_situation is visualand the stimulus_response is documentedand feedback is not requiredthen medium is videocassetteRule: 12if the stimulus_situation is visualand the stimulus_response is oraland feedback is requiredthen medium is lecture tutorialRule: 13if the stimulus_situation is verbaland the stimulus_response is analyticaland feedback is requiredthen medium is lecture tutorial

Rule: 14if the stimulus_situation is verbaland the stimulus_response is oraland feedback is requiredthen medium is role-play exercises

MEDIA ADVISOR: Rule-base Expert System22Tujuan 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 workshopmedium is lecture tutorialmedium is videocassettemedium is role-play exercisesDalam 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 Chaining23What sort of environment is a trainee dealing with on the job? machines

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 1Rule: 3if the environment is machinesor the environment is buildingsor the environment is toolsthen the stimulus_situation is physical object

Cycle 1Rule: 6if the job is buildingor the job is repairingor the job is troubleshootingthen the stimulus_response is hands-on

Cycle 2Rule: 9if the stimulus_situation is physical objectand the stimulus_response is hands-onand feedback is requiredthen medium is workshopmedium is workshop

Tidak ada aturan yang masih dapat ditembak, Berhenti.FORWARD CHAINING: Memasukkan fakta dulu, baru disimpulkan.Menalar dengan Forward Chaining (2)24Kasus 1What 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 2What sort of environment is a trainee dealing with on the job? computer programs

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)Kasus 3What 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 4What 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)

Menalar dengan Backward Chaining25Hipotesis: medium is workshopPass 1Mencoba Rule 9, Perlu mencari fakta stimulus_situationRule 9, ditumpuk, fakta stimulus_situation dicari sebagai physical objectPass 2Mencoba Rule 3, Perlu mencari fakta environmentRule 3, ditumpuk, fakta environment dicari sebagai machines Menanyai environment machines environment diinstasiasi oleh user dengan memasukkan machinesMencoba Rule 3, stimulus_situation diinstasiasi oleh Rule: 3 menjadi physical objectPass 3Mencoba Rule 9, Perlu mencari fakta stimulus_responseRule 9, ditumpuk, fakta stimulus_response dicari sebagai hands-onMenalar dengan Backward Chaining (2)26Pass 4Mencoba Rule 6, Perlu mencari fakta jobRule 6, ditumpuk, fakta job dicari sebagai buildingMenanyai job repairing job diinstansiasi oleh user dengan memasukkan repairingMencoba Rule 6, stimulus_response diinstansiasi oleh Rule 6 menjadi hands-onPass 5Mencoba Rule 9, Perlu mencari fakta feedbackRule 9 ditumpuk, fakta feedback dicari sebagai requiredMenanyai feedback required feedback diinstansiasi oleh user dengan memasukkan requiredMencoba Rule 9, medium diinstansiasi oleh user Rule 9 menjadi workshopmedium is workshopBACKWARD CHAINING: Dimulai dari kesimpulan (hipotesis), kemudian mencari fakta27Pohon diagram penalaran

Menalar dengan Backward Chaining (3)28Bagaimana jika hipotesisnya adalah: medium is workshop ? Tetapi :environment is numbersjobs is investigatingfeedback is required (yes)Bagaimana jika hipotesisnya adalah: medium is workshop ? Tetapi :environment is photograhsjobs is writingfeedback is not required (no)Kasus Lain Fakta tidak lengkapBagaimana jika hipotesisnya adalah: medium is workshop ? Tetapi :environment is machinesjobs is repairingPerlu 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 Pakar29Representasi pengetahuan yang alamiPakar biasanya menjelaskan prosedur penyelesaian masalah dengan pernyataan Dalam situasi seperti ini, saya melakukan seperti ini, ini dinyatakan dengan aturan produksi IF-THEN.Stuktur yang seragamAturan 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 autumnAND sky is cloudyAND wind is lowTHEN forecast is clear { cf 0.1 };forecast is drizzle { cf 1.0 };forecast is rain { cf 0.9 }Kekurangan Sistem Pakar30Hubungan yang tidak jelas antar aturan.Meskipun individu aturan produksi secara relatif sederhana dan self-documented, 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 belajarUmumnya 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.Saatnya latihan mesin inferensiForward chaining dan backward chaining31ANY QUESTIONS ?