Sistem Pakar
Sistem Pakar Sistem pakar adalah suatu program yang bertindak sebagai penasihat atau konsultan. Dapat mengumpulkan dan menyimpan pengetahuan seorang/beberapa pakar ke dalam komputer. Program-program yang mencapai kemampuan tingkat pakar dalam menyelesaikan suatu permasalahan dalam suatu lingkup tertentu dengan menghasilkan suatu pengetahuan tentang masalah yang spesifik.
Sistem pakar meniru penalaran seorang pakar dalam bidang tertentu. Pengetahuannya bersifat teoritis dan praktis dan telah disempurnakan lewat pengalaman pakar. Tidak dapat belajar langsung dari pengalamannya sendiri. Pengetahuannya diambil dari manusia.
Komponen KBS Menurut Turban(1995) konsep dasar sistem pakar mengandung keahlian (expertise), pakar (expert), pengalihan keahlian (transfering expertise), inferensi (inferencing), aturan (rules) dan kemampuan menjelaskan (explanation capability).
Knowledge Engineering
Knowledge Engineering Process validation (test cases) Sources of knowledge (experts, others) Knowledge Acquisition Encoding Knowledge base Knowledge Representation Explanation justification Inferencing Decision Support Systems and Intelligent Systems, Efraim Turban and Jay E. Aronson 6th ed, Copyright 2001, Prentice Hall, Upper Saddle River, NJ
Penasehat : College Major Advisor Bakat/ keahlian Kebutuhan Keuangan Minat Mata Kuliah Yang Disarankan College Major Advisor: Initial Block Diagram
College Major Advisor: Expanded Block Diagram Pemrogra- man Ketrampilan manual Matematika Pekerjaan setelah lulus problem solving Memper- baiki Kelas vs lapangan Komputer Kebutuhan Keuangan Bakat/keahlian Minat Mata Kuliah Yang Disarankan College Major Advisor: Expanded Block Diagram
Mata Kuliah Yang Disarankan Matematika? (yes, no) Pemrograman(yes, no) Rule Set 2 Bakat Ketrampilan manual (yes, no) Mata Kuliah Yang Disarankan Rule Set 1 Komputer (yes, no) problem solving (yes, no) Rule Set 3 Minat Tempat (kelas, lapangan) Memperbaiki (yes, no) Keuangan (yes, no) College Major Advisor: Dependency Diagram
Decision Table – Bakat (Rule Set 2) No Matematika Pemrograman Ketrampilan Manual Bakat D1 Tidak ada D2 Yes Manual D3 Pemrogaman D4 Pemrograman, manual D5 D6 Matematika, manual D7 Matematika, pemrograman D8 Matematika, pemrograman, manual
Reduced Decision Table Bakat (Rule Set 2) No Matematika Pemrograman Ketrampilan Manual Bakat D2 Yes Manual D3 Pemrogaman D4 Pemrograman, manual D5 D6 Matematika, manual D7 Matematika, pemrograman D8 Matematika, pemrograman, manual Rule 1 : IF Matematika=No AND Pemrograman=No AND Ketrampilan Manual=Yes THEN Bakat=Manual
Rule Set 2 Rule 1 : IF Matematika=No AND Pemrograman=No AND Ketrampilan Manual=Yes THEN Bakat=Manual Rule 2 : Pemrograman=Yes AND Ketrampilan Manual=No THEN Bakat=Pemrograman Rule 3 : THEN Bakat=Pemrograman,Manual Rule 4 : IF Matematika=Yes AND THEN Bakat=Matematika Rule 5 : IF Matematika=Yes AND Pemrograman=No AND Ketrampilan Manual=Yes THEN Bakat=Matematika, Manual Rule 6 : Pemrograman=Yes AND Ketrampilan Manual=No THEN Bakat=Matematika, Pemrograman Rule 7 : Pemrograman=yes AND THEN Bakat=Matematika, Pemrograman, Manual
Decision Table – Minat (Rule Set 3) No Komputer Problem Solving Tempat Memperbaiki Minat D1 Kelas Tidak ada D2 Yes D3 Lapangan D4 ProblemSolving D5 ProblemSolving, memperbaiki D6 D7 D8 … D16 Komputer, ProblemSolving, Memperbaiki
Decision table – Mata Kuliah (RS 1 ) No Bakat Minat Keuangan Mata Kuliah D1 Manual Memperbaiki no Sistem digital D2 Yes Jaringan komputer D3 Komputer Tidak ada D4 Hardware …
Knowledge Validation
Verification and Validation Untuk menjamin kualitas suatu sistem pakar Merupakan tahapan penting dalam development lifecycle.
Redundant rules If a is true and b is true then the temp is -40 0 C Terdapat lebih dari 1 rule yang memiliki arti SAMA (premis dan konklusi): If a is true and b is true then the temp is -40 0 C then the temp is -40 0 F
Conflicting rules terdapat lebih dari 1 rule yang memiliki premis sama tetapi konklusi yang saling bertolak belakang: If a is true and b is true then x then ~x
Subsumed rules If a is true and b is true then x Semua premis suatu rule adalah subset dari rule lain, dan keduanya memiliki konklusi yang sama: If a is true and b is true then x If a is true and b is true and c is true
Circular rules konklusi rule 1 mengarah ke rule 2, dan konklusi rule 2 mengarah ke rule 1 : If a is true and b is true then x and y If x is true and y is true then a and b
Unnecessary IF conditions Dua rule memiliki konklusi sama tetapi salah satu premis konflik: If a is true and b is true and ~c is true then x If a is true and b is true and c is true
Dead-end rules sebuah rule dimana konklusinya bukan merupakan salah satu konklusi sistem atau sebuah rule yang konklusinya tidak digunakan sebagai premis pada rule lain.
Missing rules Dead end rules could be caused by the removal of rules or the failure of the knowledge engineer to include a rule.
Unreachable rules The premise of the rule will never ever be true.
Inference Engine
1. Forward Reasoning penalaran yang berawal dari semua fakta yang diketahui untuk menuju ke satu konklusi 2. Backward Reasoning Pilih konklusi dan coba buktikan kebenarannya dengan menganalisa evidence/premis yang mendukung konklusi tersebut berdasarkan fakta yang diberikan.
Forward Chaining Catat semua fakta yang diinputkan oleh user Catat semua rule yang bagian premisnya menggunakan fakta yang sesuai ke dalam queue Q Sampai tidak ada rule pada Q : Analisa rule pertama pada Q Jika premis tidak terpenuhi, hapus rule dari Q dan kembali ke a Jika premis terpenuhi : eksekusi rule, catat konklusi dari rule Cari rule yang menggunakan konklusi tersebut sebagai premis Jika rule belum ada pada Q, catat rule tersebut meskipun premis tidak sepenuhnya terpenuhi. Hapus rule awal dari Q dan kembali ke a Konklusi akhir diperoleh
Backward Chaining Catat GOAL pada TOS (top of stack) Catat semua rule yang memenuhi GOAL Untuk setiap rule : Jika semua premis terpenuhi, maka eksekusi rule untuk mendapat konklusi Jika sebuah premis tidak terpenuhi, cari rule yang menurunkan nilai dari parameter premis tsb. Jika ada, maka asumsi parameter tsb adalah SUBGOAL, letakkan pada TOS. Jika tidak ada, maka tanyakan kepada user apa nilai dari parameter tsb. Jika nilai ini sesuai premis, lanjutkan pada premis berikutnya. Jika premis tidak sesuai lanjutkan ke rule berikutnya. Jika semua rule sudah dianalisa dan semuanya gagal, maka GOAL tidak ada. Hapus GOAL dari stack dam kembali ke langkah 2. Jika stack kosong, proses selesai.
Contoh Forward Chaining Fakta : Diameter = 1 inch Shape = round Seedcount =1 Color = red Kesimpulan akhir fruit = cherry Iterasi Rule yg mungkin (queue) Rule terpilih konklusi 1 3, 4 3 Fruitclass=tree 2 4, 11, 13 4 Seedclass=stonefruit 11, 13 11 Fruit=cherry 13 R13 Fail
Contoh Backward Chaining Known Fact Base : () Goals : (fruit) 1. Langkah 1: 2. Langkah 2 :Rule-rule yang dapat menurunkan goal di atas { 1, 6, 7, 8, 9, 10, 11, 12, 13, 14} Stack fruit Top of Stack
3. Eksekusi rule 1 : Premise dari rule 1 adalah shape = long di uji dari Known Fact base, tidak ada (langkah 3a). Juga tidak ada rule yang konklusinya adalah shape (langkah 3 b). Gunakan Query (langkah 3 c) : What is the value for shape ? Bila respon dari Query ini adalah round, maka : Known Fact Base : (shape = round) Karena rule 1 tidak sama dengan Known Fact Base, maka rule 1 Fail.
Premise pertama dari rule 6 adalah : 4. Eksekusi Rule 6 : Premise pertama dari rule 6 adalah : fruitclass = vine, diuji --> tidak ada pada database (3a). Cari rule yang menurunkan/konklusinya fruitclass (3b). Rule 2 dan rule 3 yang capabel (konklusinya adalah fruitclass). Goals : (fruitclass fruit) fruitclass fruit Top of Stack
Lanjutan langkah 4 (eksekusi rule 6) Premise 1 dari rule 2 adalah shape = round or oblong ada di data base (3a). Premise 2 dari rule 2 adalah diameter > 4 tidak ada di database (3b) lanjut ke 3c What is the value of diameter ? Respon Diameter = 1 inch ………… Rule 2 Fail Rule 3 Satisfied, diperoleh fakta baru : fruitclass = tree …………. TOS fruitclass dihapus dari stack. Lanjutkan kepada Rule 6 : Fail.
REPRESENTASI KNOWLEDGE Shape = long Fruit = banana round Problem Solution oblong Diameter > 4 Fruit=watermelon < 4 Fruitclass=vine Surface=smooth Fruit=honeydew rough Fruit=cantaloupe Characteristics, and Feature Fruit=apple Colour=green Fruit=apricot =yellow =tan Fruit=cherry =orange Fruit=peach =red =purple Fruit=plum Fruitclass=tree Seedcount > 1 Seedclass=multiple Fruit = orange = 1 Seedclass=stonefruit
Rule 1: If Shape = long and Color = greeen or yellow Then Fruit = banana Rule 2: If Shape = round or oblong and diameter > 4 inches Then Fruitclass= vine Rule 3: If Shape = round and diameter < 4 inches Then Fruitclass= tree Rule 4: If Seedcount=1 Then Seedclass = stonefruit
Rule 5: If Seedcount > 1 Then Seedclass = multiple Rule 6: If Fruitclass = vine and Color = green Then Fruit = Watermelon Rule 7: If Fruitclass = vine and Surface = smooth and Color = yellow Then Fruit = honeydew Rule 8: If Fruitclass = vine and Surface = rough and Color = tan Then Fruit = cantaloupe
Rule 9: If Fruitclass = tree and Color = orange and Seedclass = stonefruit Then Fruit = apricot Rule 10: If Fruitclass = tree and color = orange Seedclass = multiple Then Fruit = orange Rule 11: If Fruitclass = tree and Color = red and Then Fruit = cherry Rule 12: If Fruitclass = tree and Then Fruit = peach
Rule 13: If Fruitclass = tree and Color = red or yellow or green and Seedclass = multiple Then Fruit = apple Rule 14: If Fruitclass = tree and color = purple and Seedclass =stonefruit Then Fruit = plum
Maaf atas segala kekkurangan Terimakasih Maaf atas segala kekkurangan