450 likes | 993 Views
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) ?
E N D
SistemPakarBerbasisAturan(Rule-based Expert Systems) KECERDASAN BUATAN(Artificial Intelligence) Materi 3 Eko Prasetyo TeknikInformatika Univ. Pembangunan Nasional Veteran JawaTimur 2011
Pengetahuan • Pengetahun (knowledge) ? • Adalahteoriataupraktekpemahamansuatusubyekatau domain. • Kumpulan mengenaiapa yang diketahui. • Orang yang beradadiposisitersebut -> PAKAR. • Misal: dokter, teknisikomputer, petani, dsb. • Daerah pada domain tersebutterbatas, mis: pakar (dokter) penyakitkulithanyamemahamisecarapenuhpada domain penyakitkulit (tidakuntukpenyakit lain), petaniudanghanyamengetahuipenyakitudang (tidakuntukikan lain). • Secaraumum, pakaradalahorang yang terampildalammelakukansesuatu (pemikirandantindakan) yang tidakdapatdilakukanorang lain.
Aturandalampengetahuan • Misal, domain masalahadalah “menyeberangjalanraya” • Aturan: • IF the ‘traffic light’ is green • THEN the action is go • IF the ‘traffic light’ is red • THEN the action is stop • PernyataantersebutmerepresentasikanbentukIF-THEN yang disebut“aturanproduksi”atau“aturan”saja. • IF-THEN umumdigunakandalamrepresentasipengetahuan yang berhubungandenganfaktaatauinformasidalambagian IF untukbeberapaaksidalambagian THEN. Aturanmemberikandeskripsibagaimanamenyelesaikanmasalah. • Aturanterdiridariduabagian: bagianIF, disebut antecedent (premise atau condition) ataufakta , danbagianTHEN yang disebut consequent (conclusion atau action) ataukesimpulan. • Sinktaksdasar: • IF <antecedent> • THEN <consequent> • Umumnya, sebuahaturandapatmempunyaigabunganbeberapa antecedent dengankatakunciAND (konjungsi), OR (disjungsi), ataukombinasikeduanya. • IF <antecedent 1> • AND <antecedent 2> • . • . • . • AND <antecedent n> • THEN <consequent> • IF <antecedent 1> • OR <antecedent 2> • . • . • . • OR <antecedent n> • THEN <consequent>
Aturandalampengetahuan (2) • Faktaaturandisandingkandenganduabagian: obyek (linguistic object) dannilainya. • Mis. Obyeklinguistikseperti “traffic light” bisamempunyainilai “red” atau “green” • Obyekdannilainyadihubungkandenganoprator, spt: is, are, is not, are notuntukmemberikannilaisimbolikpadaobyeklinguistik. • Tetapisistempakarbiasanyamenggunakan operator matematikauntukmendefinisikanobyeksebagainumerikdanmemberikannilainumerikpadanya. • Mis.: • IF ‘age of the customer’ < 18 • AND ‘cash withdrawal’ > 1000 • THEN ‘signature of the parent’ is required • Kesimpulan (consequent) –samadenganfakta- mengombinasikanobyekdannilai yang dihubungkanoleh operator. • Mis. : Nilai traffic lighadalah green, aturanpertamanilaiobyeklinguistik “action” dengan “go” • Mis.: • IF ‘taxable income’ > 16283 • THEN ‘Medicare levy’ = ‘taxable income’ * 1.5 / 100
Aturandalampengetahuan (2) • Aturandapatmerepresentasikanrelations (hubungan), recommendations (saran), directives (arahan), strategies (strategi)danheuristics (heuristik)[Durkin, 1994]. • Relation • IF the ‘fuel tank’ is empty • THEN the car is dead • Recommendation • IF the season is autumn (musimgugur) • AND the sky is cloudy • AND the forecast is drizzle (gerimis) • THEN the advice is ‘take an umbrella’ • Directive • IF the car is dead • AND the ‘fuel tank’ is empty • THEN the action is ‘refuel the car’ • Strategy • IF the car is dead • THEN the action is ‘check the fuel tank’; • step1 is complete • IF step1 is complete • AND the ‘fuel tank’ is full • THEN the action is ‘check the battery’; • step2 is complete • Heuristic • IF the spill is liquid • AND the ‘spill pH’ < 6 • AND the ‘spill smell’ is vinegar • THEN the ‘spill material’ is ‘acetic acid’
Pemainutamasistempakar SistemPakar, adalahsebuah program komputer yang dapatbekerjapada level pakarmanusiadalamdaerahmasalah yang sempit. Tipe: rule-based, case-based, dsb. Expert System Shell adalahsistempakar yang tidakmengandungpengetahuan (komponen yang lain tetapada). Ada 5 anggotatimpengembangansistempakar: the domain expert, the knowledge engineer, the programmer, the project manager and the end-user.
Domain Expert Domain expert adalahorang yang bisamengetahuidanterampildalammenyelesaikanmasalahpadadaerahatau domain spesifik. Sangatpakardalam domain tersebut, mis: dokter, teknisikomputer, petani, dsb. Kepakarannyaakandi-capture dalamsistempakar. Pakarharusbisamengkomunikasikanpengetahuannya, berpartisipasidalampembangunansistempakar. Pemain yang paling pentingdalampembangunansistempakar. Domain expert
Knowledge Engineer Knowledge engineer adalahorang yang mempunyaikemampuanperancangan, pembangunandanpengujiansistempakar. Bertanggungjawabuntukpemilihanpekerjaan yang tepatbagisistempakar. Mewawancarai domain expert untukmencaribagaimanamasalahtertentudiselesaikan. Selamainteraksiwawancara, memunculkanmetodepenalaranpakardalammenananifaktadanaturandanmemutuskanbagaimanamerepresentasikannyadalamsistempakar. Bertangungjawabdalampengujian, revisi, danintegrasisistempakardalam workplace. Menyelesaikanproyekdariawalhinggaakhir. Knowledge engineer
Programmer, Project Manager, End-user • Programmer, orang yang bertanggungjawabdalammengimplementasikansistempakardalamkoding program. • Harusmemahamibahasapemrograman AI, seperti: LISP, Prolog, OPS5. J • ugabahasapemrogramankonvensional, spt: vb, delphi, java, dsb. • Saatini, sistempakar (dalamskalapenelitian) jugadikembangkandenganbahasa-bahasakonvensional yang ada. • Project Manager, pimpinantimpengembangansistem, bertanggungjawanuntukmenjagaproyektetapdalam track-nya. • Berinteraksidenganpakar, knowledge engineer, programmer dan end-user. • End-user, orang yang menggunakansistempakarketikasistemsudahselesaidikembangkan. • User bisajadiadalahpasienatauperawatdalamsebuahklinikkesehatanmilikdokter. • User bisajadiadalahanaliskimiadalammenentukanstrukturcairanmolekul (Feigenbaum et al., 1971), • Dokteryuniordalam diagnosis penyakitinfeksidarah(Shortliffe, 1976) • Dsb.
Rule-based Expert System Awal 1970, Newell dan Simon mengusulkan model sistempakar, dasardari rule-based expert systems. Didasarkanpadaidemanusiadalammenyelesaikanmasalahdenganmenerapkanpengetahuannya (dinyatakansebagaiaturanproduksi) padamasalah yang diberikandenganinformasimasalahspesifik. Aturanproduksidisimpandalammemorijangkapanjang, sedangkaninformasimasalahspesifikdisimpandalammemorijangkapendek. Ada5 komponenintidalam 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
Strukturlengkap rule-based expert system External interface digunakanuntukbekerjadengan data eksternaldan program ditulisdalambahasapemrogramankonvensionalseperti C, Pascal, dan Basic. Developer Interface termasuk knowledge base editor, debugging aids, danfasilitas input/output. Debugging aids biasanyaterdiridarifasilitas tracing danpemecahanpaket. Tracing memberikandaftarsemuaaturan yang ditembakselama program dieksekusi, danpemecahanpaketmemungkinkanuntukberhentinyasistempakardalammengevaluasisetiapaturan.
KarakteristikSistemPakar • SP dibangununtukbekerjapada level pakarmanusiadalam domain yang sempitdankhusus. • Karakteristik paling pentingdalam SP adalahkualitaskinerja yang tinggi. • Tidakpeduliseberapacepatsistemmenyelesaikanmasalah, user tidakakanpuasjikahasilnyasalah. • Disisi lain, kecepatanmencapaisolusijugasangatpenting. • Meskipunkeputusan/diagnosis sangatakuratmungkintidakbergunabagi user jikaterlalu lama diterapkan. • Misal, dalamkondisidaruratketikapasienbisameninggalataureaktornuklirmaumeledak, pakarakanmemotongteknikpenalarannyauntukmendapatkansolusiterdekat. • Fiturunik SP adalahkemampuanmenjelaskan (explanation capability). • Membuatsistempakardapatmeninjaupenalarannyadanmenjelaskankeputusan. • Penjelasandalan SP dalamskoppelacakanatran yang ditembakkanselamasesi problem-solving. • Bisakahsistempakarmelakukankesalahan (dalampenalaran) ? • Pakar paling pandaipunbisaberbuatsalah, maka SP jugabisasalah. • Tetapikitamasihmempercayaipakar, walaupunkitamengenalibahwakeputusannyakadang-kadangsalah.
TeknikInferensi • Dalam rule-based expert system, pengetahuan domain direpresentasikanolehsejumlahaturanproduksi IF-THEN, sedangkan data direpresentasikanolehsejumlahfaktamengenaisituasisaatitu. • Mesininferensimembandingkansetiapaturan yang tersimpandalam basis pengetahuandenganfakta yang beradadalam database. • Ketikabagian IF (kondisi) aturancocokdenganfakta, aturanakanditembakdanbagian THEN (aksi) diekskusi. • Aturan yang ditembakakanmengubahsejumlahfaktadenganmenambahkanfaktabaru. • Pencocokanbagianaturan IF padafaktamenghasilkanrantaiinferensi (inference chain). • Rantaiinferensimenunjukkanbagaimana SP menerapkanaturanuntukmencapaikesimpulan. Contoh:Fakta: A, B, C, D and E Lakukanpenalatanuntukmencapaikesimpulan
TeknikInferensi: Forward Chaining Ada 2 teknikinferensi: forward chaining dan backward chaining (Waterman and Hayes-Roth, 1978). Forward chaining adalahpenalaran yang dikendalikanoleh data (data-driven reasoning). Penalarandimulaidari data yang diketahuidanmemprosesmajupada data. Setiap kali hanyaaturan paling atas yang akandieksekusi. Ketikasebuahaturanditembak, aturanakanmenambahkanfaktabarudalam database. Sembarangaturanhanyadieksekusisatu kali. Sikluspenembakanpencocokan (match-fire) berhentiketikatidakadalagiaturan yang dapatditembak. Forward chaining adalahteknikuntukpengumpulaninformasidankemudianmenalarnya. Beberapaaturandapatdieksekusimeskipunaturantersebuttidakmemunculkantujuan/kesimpulan.
Forward Chaining • 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 • Backward chaining adalahpenalaran yang dikendalikantujuan/kesimpulan (goal-driven reasoning). • SP mempunyaitujuan (hipotesissolusi), mesininferensimencobauntukmencari evidence (bukti) untukmembuktikannya. • Pertama, knowledge base dicariuntukmenemukanaturan yang mungkinmempunyaisolusi yang dibutuhkan. • Aturanharusmempunyaitujuandalambagian THEN (aksi). • Jikaaturanditemukansedangkanbagian IF (kondisi) cocokdengan data dalam database, makaaturantertembakdantujuanterbukti. • Jikatidak, makamesininferensiakanmeletakkanaturantersebutdalamdaerahkerjanya (seutsaja “stack”) dan men-setup lagitujuanbaru, sub-goal, untukmembuktikanbagian IF dalamaturantersebut. • Knowledge base mencarilagiaturan yang dapatmembuktikannya, • Mesininferensimengulangikembaliprosestumpukanaturan (stacking rule) sampaitidakadalagiaturandalam knowledge base untukmembuktkan sub-goal saatitu.
Backward Chaining • Pass 1 • Hipotesisadalah Z. • Mesininferensimencobamencariaturan yang menyimpulkan Z (hipotesis) dibagian THEN yaitu Rule 1 • Rule 1 membutuhkanfakta Y dan D, maka Rule 1 masukdalam stack. • Fakta Y dan D harusdimunculkan. • Pass 2 • Mesininferensi men-set-up sub-goal Y, mencaridalam database faktaternyatatidakada, makamencaridalam knowledge base aturan yang menyimpulkan Y (dibagian THEN), Rule 2. • Rule 2 masukdalam stack. • Faktadalam Rule 2: X, B, dan E harusdimunculkan. • Pass 3 • Mesininferensi men-set-up sub-goal X, mencaridalam database faktaternyatatidakada, makamencaridalam knowledge base aturan yang menyimpulkan X (dibaian THEN), Rule 3. • Rule 3 masukdalam stack. • Faktadalam Rule 3: A, harusdimunculkan.
Pass 4 • Mesininferensimenemukanfakta A dalam database fakta, maka Rule 3 tertembak. • Faktabaru X tersimpulkan (munculdalam database fakta). • Pass 5 • Mesininferensikembalike sub-goal Y, mencobakembalimengeksekusiaturan 2, fakta X, D, dan E adadalam database, makaaturan 2 tertembak. • Faktabaru Y tersimpulkan (munculdalam database fakta). • Pass 6 • Mesininferensikembalike Rule 1, mencobamemunculkankesimpulan Z, fakta Y dan D dan D adadalam database, makatujuanawal Z akhirnyatercapai.
Forward Chaining atau Backward Chaining ? • Jikapertamapakarperlumengumpulkanbeberapainformasidanmencobamenalardarifaktaapapun yang dapatdinalar, makagunakanforward chaining. • Jikapakarmemulaidarihipotesissolusidanmencobamenemukanfaktauntukmembuktikannya, makagunakanbackward chaining inference engine. • Forward chaining adalahcaraalamiuntukmendesainsistempakaruntukanalisisdaninterpretasi. • Misal DENDRAL – SistemPakaruntukmenentukanstrukturmolekuldaricairandasar yang tidakdiketahui (Feigenbaum et al., 1971), menggunakan forward chaining. • Kebanyakansistempakardengan backward chaining digunakanuntuktujuandiagnosis. • Misal, MYCIN, sistempakatduniamedisuntuk diagnosis penyakitinfeksidarah (Shortliffe, 1976), menggunakan backward chaining. • Kebanyakandalan SP yang ada, mengombinasikandiantarakeduanya.
MEDIA ADVISOR: Rule-base Expert System • Rule: 14 • if the stimulus_situation is verbal • and the stimulus_response is oral • and feedback is required • then medium is ‘role-play exercises Rule: 1 if the environment is papers or the environment is manuals or the environment is documents or the environment is textbooks then the stimulus_situation is verbal Rule: 2 if the environment is pictures or the environment is illustrations or the environment is photographs or the environment is diagrams then the stimulus_situation is visual Rule: 3 if the environment is machines or the environment is buildings or the environment is tools then the stimulus_situation is ‘physical object’ Rule: 4 if the environment is numbers or the environment is formulas or the environment is ‘computer programs’ then the stimulus_situation is symbolic Rule: 5 if the job is lecturing or the job is advising or the job is counselling then the stimulus_response is oral Rule: 6 if the job is building or the job is repairing or the job is troubleshooting then the stimulus_response is ‘hands-on’ Rule: 7 • if the job is writing • or the job is typing • or the job is drawing • then the stimulus_response is documented Rule: 8 • if the job is evaluating • or the job is reasoning • or the job is investigating • then the stimulus_response is analytical Rule: 9 • if the stimulus_situation is ‘physical object’ • and the stimulus_response is ‘hands-on’ • and feedback is required • then medium is workshop Rule: 10 • if the stimulus_situation is symbolic • and the stimulus_response is analytical • and feedback is required • then medium is ‘lecture – tutorial’ Rule: 11 • if the stimulus_situation is visual • and the stimulus_response is documented • and feedback is not required • then medium is videocassette Rule: 12 • if the stimulus_situation is visual • and the stimulus_response is oral • and feedback is required • then medium is ‘lecture – tutorial’ Rule: 13 • if the stimulus_situation is verbal • and the stimulus_response is analytical • and feedback is required • then medium is ‘lecture – tutorial’
MEDIA ADVISOR: Rule-base Expert System • Tujuanakhir rule-based expert system adalahuntukmemunculkansolusipadamasalah data masukan. • Media Advisor, solusi/kesimpulanadalahmedia yang dipilihdaridaftar 4 pilihan: • medium is workshop • medium is ‘lecture – tutorial’ • medium is videocassette • medium is ‘role-play exercises’ • Dalam dialog, SP menanyai user untukmemasukkan data yang dibutuhkanuntukmenyelesaikanmasalah (environment, job, dan feedback). • Berdasarkanjawaban yang diberikanoleh user, SP menerapkanaturandari knowledge base untukmenalarstimulus_situationadalah physical object, stimulus_responseadalahhands_on. • Rule 9 kemudianmemilihsatudarinilai medium yang dibolehkan.
MenalardenganForward Chaining FORWARD CHAINING: Memasukkanfaktadulu, barudisimpulkan. What 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 trainee’s 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 ‘hands-on’ Cycle 2 Rule: 9 if the stimulus_situation is ‘physical object’ and the stimulus_response is ‘hands-on’ and feedback is required then medium is workshop medium is workshop Tidakadaaturan yang masihdapatditembak, Berhenti.
Menalardengan 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 trainee’s progress required during training? required (yes) Kasus 2 What 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 trainee’s progress required during training? required (yes) Kasus3 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 trainee’s 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 trainee’s progress required during training? notrequired (no)
Menalardengan Backward Chaining Hipotesis: ‘medium’ is ‘workshop’ Pass 1 Mencoba Rule 9, Perlumencarifakta ‘stimulus_situation’ Rule 9, ditumpuk, fakta ‘stimulus_situation’ dicarisebagai ‘physical object’ Pass 2 Mencoba Rule 3, Perlumencarifakta ‘environment’ Rule 3, ditumpuk, fakta ‘environment’ dicarisebagai ‘machines’ Menanyai environment machines ‘environment’ diinstasiasioleh user denganmemasukkan‘machines’ Mencoba Rule 3, ‘stimulus_situation’ diinstasiasioleh Rule: 3 menjadi‘physical object’ Pass 3 Mencoba Rule 9, Perlumencarifakta ‘stimulus_response’ Rule 9, ditumpuk, fakta ‘stimulus_response’ dicarisebagai ‘hands-on’
Menalardengan Backward Chaining (2) Pass 4 Mencoba Rule 6, Perlumencarifakta ‘job’ Rule 6, ditumpuk, fakta ‘job’ dicarisebagai ‘building’ Menanyaijob repairing ‘job’ diinstansiasioleh user denganmemasukkan ‘repairing’ Mencoba Rule 6, ‘stimulus_response’ diinstansiasioleh Rule 6 menjadi‘hands-on’ Pass 5 MencobaRule 9, Perlumencarifakta ‘feedback’ Rule 9 ditumpuk, fakta ‘feedback’ dicarisebagai ‘required’ Menanyai feedback required ‘feedback’ diinstansiasioleh user denganmemasukkan ‘required’ Mencoba Rule 9, ‘medium’ diinstansiasioleh user Rule 9 menjadi ‘workshop’ medium is workshop BACKWARD CHAINING: Dimulaidarikesimpulan (hipotesis), kemudianmencarifakta
Menalardengan Backward Chaining (3) Perludiperhatikan, backward chaining tidakselalubertanyaketikaprosespenalaran, bisadimulaidenganmemasukanfakta, kemudianmulaimenalar, ditengahjalan, SP bisabertanyauntukmenambahfaktabaru. • Bagaimanajikahipotesisnyaadalah: medium is workshop ? Tetapi : • environment is numbers • jobs is investigating • feedback is required (yes) • Bagaimanajikahipotesisnyaadalah: medium is workshop ? Tetapi : • environment is photograhs • jobs is writing • feedback is notrequired (no) Kasus Lain Faktatidaklengkap • Bagaimanajikahipotesisnyaadalah: medium is workshop ? Tetapi : • environment is machines • jobs is repairing
KelebihanSistemPakar • Representasipengetahuan yang alami • Pakarbiasanyamenjelaskanprosedurpenyelesaianmasalahdenganpernyataan “Dalamsituasisepertiini, sayamelakukansepertiini”, inidinyatakandenganaturanproduksi IF-THEN. • Stuktur yang seragam • Aturanproduksimenggunakan IF-THEN semua, setiapaturanadalahpengetahuan yang independensatusama lain. • Pemisahanpengetahuandaripemrosesan. • Stuktur rule-based expert system memberikanpemisahan knowledge base darimesininferensi yang efektif. • Agar mesinsemakinpintar, maka knowledge engineer hanyamenambahbeberapaaturanpada knowledge base tanpamengintervensistrukturkontrol. • Menyelesaikanpengetahuan yang tidaklengkapdantidakpasti. • Kebanyakan rule-based expert system dapatmerepresentasikandanmenalarpengetahuan yang tidaklengkapdantidakpasti. • 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 }
KekuranganSistemPakar • Hubungan yang tidakjelasantaraturan. • Meskipunindividuaturanproduksisecararelatifsederhanadan self-documented, interaksilogikadalamjumlahaturan yang besarbisamenjadikabur (tidakjelas/membingungkan). • Sulitdiamatibagaimanasetiapindividumemberikansemuastrategi. Masalahiniakanterlihatketikaaturanproduksidisusundalamhirarki. • Strategipencariantidakefisien. • Mesininferensimenerapkan exhaustive search padasemuaaturanproduksidisetiapsiklus. • Sistempakardenganaturan yang besar (>100) bisamenjadilambat, dantidakcocokuntukaplikasi yang real-time. • Tidakdapatbelajar • Umumnya rule-based expert system tidakmempunyaikemampuanuntukbelajardaripengalaman. • Tidakbisasecaraotomatismemodifikasi knowledge base ataumenyesuaikanaturanataumenambahaturanbaru. • Knowledge engineer masihbertanggungjawabpadarevisidanpengelolaansistem.
ANY QUESTIONS ? Saatnyalatihanmesininferensi Forward chaining dan backward chaining