Pengenalan sistem pakar
Lingkup utama dalam kecerdasan buatan
Sistem Pakar (Expert System). Pengolahan Bahasa Alami (Natural Language Processing). Pengenalan Ucapan (Speech Recognition) Robotika & Sistem Sensor (Robotics & Sensory Systems). Computer Vision Intelligent Computer-aided Instruction. Game Playing.
tanda kecerdasan
belajar atau memahami dari pengalaman menemukan inti dari pesan yang ambigu atau bertentangan merespon dengan cepat dan tepat pada situasi baru menggunakan pertimbangan dalam memecahkan persoalan atau mengarahkan tindakan secara efektif
tanda kecerdasan menghadapi situasi yang membingungkan memahami dan menyimpulkan dengan cara rasional
biasa menerapkan pengetahuan untuk memanipulasi lingkungan berfikir dan mempertimbangkan
Ide sistem pakar Semakin tak terstruktur suatu situasi Sistem Pakar adalah paket hardware dan software
yang digunakan sebagai pengambil keputusan dan/atau penyelesaian masalah
Idenya …. Kepakaran ditransfer dari seorang pakar ke komputer. Pengetahuan ini lalu disimpan disitu dan user dapat meminta saran spesifik yang dibutuhkannya.
Siapakah Pakar??
Pakar
An expert is one who possesses a specialized skills, experiences, and knowledge that most people do not have along with the ability to apply this knowledge using tricks, shortcuts, and rules-of-thumbs to resolve a problem efficiently. [Harmon and King, 1985]
APA ITU PAKAR/AHLI (EXPERT)?
Seorang pakar/ahli (human expert) adalah seorang individu yang memiliki kemampuan pemahaman yang superior dari suatu masalah. Misalnya: seorang dokter, penasehat keuangan, pakar mesin mobil, dll.
Kemampuan kepakaran:
Dapat mengenali (recognizing) dan merumuskan masalah Menyelesaikan masalah dengan cepat dan tepat Menjelaskan solusi Belajar dari pengalaman Restrukturisasi pengetahuan Menentukan relevansi/hubungan Memahami batas kemampuan
Pakar / Expert (Turban: DSS&ES)
Pakar sulit didefinisikan: tingkat kepakaran
Kepakaran berasosiasi dengan tingkat inteligen (tidak harus orang terpintar), dengan jumlah pengetahuan Pakar belajar dari pengalaman (sukses/gagal) pola Pengetahuan pakar: terstruktur dan cepat diakses Memecahkan masalah dengan efisien dan efektif
Rasio Non-pakar:pakar = 100:1 Pakar: punya pengetahuan khusus, penilaian, pengalaman, dan metode serta kemampuan mengaplikasikannya untuk memecahkan masalah
APA ITU KEPAKARAN/KEAHLIAN (EXPERTISE) ?
Pemahaman yang luas dari tugas atau pengetahuan spesifik yang diperoleh dari pelatihan, membaca dan pengalaman. Jenis-jenis pengetahuan yang dimiliki dalam kepakaran:
Teori-teori dari permasalahan Aturan dan prosedur yang mengacu pada area permasalahan Aturan (heuristik) yang harus dikerj akan pada situasi yang terjadi Strategi global untuk menyelesaikan berbagai jenis masalah Meta-knowledge (pengetahuan tentang pengetahuan) Fakta-fakta
Apakah Sistem Pakar itu??
Sistem Pakar
Expert System : a computer system that is designed and programmed to imitate the pattern, procedures, and decisions that experts in a particular field might make.
Sistem Pakar
Definisi : usaha untuk menirukan seorang pakar. Bentuk : perangkat lunak pengambil keputusan yang sebanding seorang pakar untuk permasalahan yang khusus dan ruang lingkup yang sempit. Tujuan : mentransfer kepakaran dari seorang pakar ke komputer, kemudian ke orang lain (yang bukan pakar). Kepakaran = pengetahuan yang ekstensif (luas) dan spesifik yang diperoleh melalui rangkaian pelatihan, membaca, dan pengalaman.
Apakah Sistem Pakar?
Secara umum, sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awampun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli.
Menurut Durkin: Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar. Menurut Ignizio: Sistem pakar adalah suatu model dan prosedur yang berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar. Menurut Giarratano dan Riley: Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar.
Sejarah Sistem Pakar
Sistem pakar pertama kali dikembangkan oleh komunitas AI pada pertengahan tahun 1960. Sistem pakar yang muncul pertama kali adalah General-purpose Problem Solver (GPS) yang dikembangkan oleh Newel dan Simon. GPS (dan program-program yang serupa) ini mengalami kegagalan dikarenakan cakupannya terlalu luas sehingga terkadang justru meninggalkan pengetahuan-pengetahuan penting yang seharusnya disediakan.
Mengapa dibutuhkan (1)
Meningkatkan ketersediaan pakar
Kepakaran: sulit diperoleh, jumlah sedikit, mahal SBP/ES: Produksi dan distribusi masal kepakaran Menjaga kepakaran bersifat permanen Performansi lebih baik dari pakar manusia : stabil, unemotional, respon reasonable
Mengapa dibutuhkan (2)
Meningkatkan confidence keputusan
Output SBP: pendapat kedua Penjelasan detil reasoning pakar manusia mungkin tidak mau/tidak dapat melakukannya Intelligent tutor Mengevaluasi pengetahuan pakar: correctness, consistency, completeness
SBP dan Sistem Pakar
Sistem berbasis pengetahuan (SBP) :
Sistem yang melakukan task dengan mengaplikasikan pengetahuan dalam representasi simbolik
Sistem pakar :
simulasi pakar: pengetahuan dan penalaransistem komputer yang meniru kemampuan pengambilan keputusan pakar pada domain tertentu
SBP vs Sistem Pakar
SBP lebih umum dari sistem pakar Sumber pengetahuan sistem pakar: pakar manusia Domain sistem pakar: persoalan dunia nyata
Sistem konvensional vs pakar Sistem Konvensional
Sistem Pakar
Informasi dan pemrosesannya biasanya jadi satu dengan program
Basis pengetahuan merupakan bagian terpisah dari mekanisme inferensi.
Biasanya tidak bisa menjelaskan mengapa suatu input data itu dibutuhkan, atau bagaimana output itu diperoleh.
Penjelasan adalah bagian terprnting dari sistem pakar.
Pengubahan program cukup sulit & membosankan.
Pengubahan aturan dapat dilakukan dengan mudah.
Sistem hanya akan beroperasi jika sistem tersebut sudah lengkap.
Sistem dapat beroperasi hanya dengan beberapa aturan.
Eksekusi dilakukan langkah demi langkah.
Eksekusi dilakukan pada keseluruhan basis pengetahuan.
Menggunakan data.
Menggunakan pengetahuan.
Tujuan utamanya adalah efisiensi.
Tujuan utamanya adalah efektivitas.
Sistem pakar Vs Program konvensional Program konvensional
Sistem pakar
algoritma + data Contoh: Penghitungan IPK
metode pemecahan masalah + domain knowledge + data Contoh: diagnosis penyakit,diagnosis kerusakan mobil
Programmer menentukan apa yang harus dilakukan dan urutan yang harus dilakukan
Pakar menentukan aksi, urutan ditentukan oleh interpreter
Keuntungan penerapan Sistem Pakar
Membuat seorang yang awam bekerja seperti layaknya seorang pakar Menghemat waktu kerja. Menyerdehanakan pekerjaan. Merupakan arsip terpercaya dari sebuah keahlian Memperluas jangkauan, dari keahlian seorang pakar. Meningkatkan kapabilitas sistem komputer. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian. Menghemat waktu dalam pengambilan keputusan.
Kelemahan ES
Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya. Sistem Pakar tidak 100% bernilai benar.
Alasan mendasar mengapa ES dikembangkan untuk menggantikan seorang pakar: • Dapat menyediakan kepakaran setiap waktu dan diberbagai lokasi • Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar. • Seorang Pakar akan pensiun atau pergi • Seorang Pakar adalah mahal • Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile environtment)
Cara Kerja Sistem Pakar (1)
Komponen Sistem Pakar
APA ITU PENGETAHUAN (KNOWLEDGE)? Data + processing = information Information + processing (pengalaman, training,
dll) = knowledge
KNOWLEDGE BASE
Definisi : Bagian dari sistem pakar yang berisi
domain pengetahuan Berisi pengetahuan yang dibutuhkan untuk memahami, merumuskan dan menyelesaikan masalah. Terdiri dari 2 elemen dasar: Fakta, situasi masalah dan teori yang terkait Heuristik khus us atau rules, yang langsung menggunakan pengetahuan untuk menyelesaikan masalah khusus.
WORKING MEMORY Definisi : bagian dari sistem pakar yang berisi
fakta-fakta masalah yang ditemukan dalam suatu sesi Berisi fakta-fakta tentang suatu masalah yang ditemukan dalam proses konsultasi
Basis Pengetahuan
Basis pengetahuan berisi pengetahuanpengetahuan dalam penyelesaian masalah, tentu saja di dalam domain tertentu. Ada 2 bentuk pendekatan basis pengetahuan yang sangat umum digunakan, yaitu:
Penalaran berbasis aturan (Rule-Based Reasoning) Penalaran berbasis kasus (Case-Based Reasoning).
Pada penalaran berbasis aturan aturan, pengetahuan direpresentasikan dengan menggunakan aturan berbentuk: IF-THEN. Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan si pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping itu, bentuk ini juga digunakan apabila dibutuhkan penjelasan tentang jejak (langkah-langkah) pencapaian solusi.
Pada penalaran berbasis kasus kasus, basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini digunakan apabila user menginginkan untuk tahu lebih banyak lagi pada kasus-kasus yang hampir sama (mirip). Selain itu, bentuk ini juga digunakan apabila kita telah memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan.
Basis data Basis Data adalah bagian yang mengandung semua
fakta-fakta, baik fakta awal pada saat sistem mulai beroperasi maupun fakta-fakta yang didapatkan pada saat pengambilan kesimpulan yang sedang dilaksanakan
INFERENCE ENGINE
Definisi : Processor pada sistem pakar yang
mencocokan fakta-fakta yang ada pada working memori dengan domain pengetahuan yang terdapat pada knowledge base, untuk menarik kesimpulan dari masalah yang dihadapi. Proses berpikir pada manusia dimodelkan dalam sistem pakar pada modul yang disebut Inference Engine.
Inference Engine Cara Kerja [rule1] :: if physician_knows_patient_ has_meningitis or suspect_meningitis then infection_is_meningitis. [rule2] :: if suspect_meningitis_from_ test_results or suspect_meningitis_from_ symptoms then suspect_meningitis.
Knowledge base
Final Conclusion
Matching Firing new fact or conclusion
Retrieving
Acquiring PHYSICIAN_KNOWS_PATIENT _HAS_MENINGITIS/NO TESTS_WERE_RUN/YES CULTURES_WERE_SEEN/YES APPEARANCE_OF_THE_CULT UER_IS_COCCUS/YES STAIN_OF_THE_CULTUER_IS_ GRAMPOS/YES
Working Memory
Inference Engine
Forward Chaining. Chaining Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu). Penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis. Backward Chaining. Chaining Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran hipotesis tersebut dicari harus dicari fakta-fakta yang ada dalam basis pengetahuan.
Contoh …
Ada 10 aturan yang tersimpan dalam basis pengetahuan. Fakta awal yang diberikan hanya: A & E (artinya: A dan E bernilai benar). Ingin dibuktikan apakah K bernilai benar (hipotesis: K)? No.
Aturan
R-1
IF A & B THEN C
R-2
IF C THEN D
R-3
IF A & E THEN F
R-4
IF A THEN G
R-5
IF F & G THEN D
R-6
IF G & E THEN H
R-7
IF C & H THEN I
R-8
IF I & A THEN J
R-9
IF G THEN J
R-10
IF J THEN K
Dengan Forward Chaining …
Munculnya fakta baru pada saat inferensi: Aturan
Fakta Baru
R-3
F
R-4
G
R-5
D
R-6
H
R-9
J
R-10
K
Alur inferensi:
Fakta
R-4
A R-3 E Fakta
R-9 G R-5
F
J
D
R-6
H
R-10
K
Dengan Backward Chaining …
Alur inferensi: K
R-10
Fakta J
R-1
R-7
R-8
A
C
I
B
H
A
Tidak diketahui
(a) Pertama: Gagal Fakta K
R-10
J
R-9
G
(b) Kedua: Sukses
R-4
A
2 tipe teknik inferensi Pelacakan Ke Belakang (Backward Chaining) sekumpulan hipotesa fakta-fakta yang mendukung hipotesa Pelacakan Ke Depan (Forward Chaining) sekumpulan data menuju kesimpulan
Teknik penelusuran Breadth-first search Dept-first search Best-first search
Struktur Sistem Pakar User
Fakta-fakta tentang kejadian khusus
Antarmuka
Basis Pengetahuan Fakta:
Apa yang diketahui tentang area domain Aturan: logical reference
Fasilitas penjelasan Rekayasa pengetahuan Aksi yang direkomendasi
Inference Engine Blackboard Rencana Agenda Solusi Deskripsi masalah
oInterpreter oScheduler oConsistency Enforcer
Penambahan pengetahuan
Pengetahuan ahli
Penyaring pengetahuan
Cara Kerja Sistem Pakar (2)
Kepakaran ditransfer dari seorang pakar (sumber pakar) ke komputer, Pengetahuan yang ada disimpan dalam komputer, Pengguna dapat berkonsultasi pada komputer itu untuk suatu nasehat, Komputer dapat mengambil inferensi (menyimpulkan, mendeduksi) layaknya seorang pakar Komputer memberikan penjelasan kepada pengguna.
Individu yang Terlibat Dalam SP Expert •Memiliki pengetahuan atau cara menyelesaikan masalah
Knowledge Engineer •Mendapatkan pengetahuan dari pakar
•Memindahkan pengetahuan ke komputer
User •Pemakai bukan pakar •Orang awam •Knowledge engineer •Pakar
Ciri Sistem Pakar
Terbatas pada domain keahlian tertentu. Dapat memberikan penalaran (reasoning) untuk data yang tidak pasti. Dapat mengemukakan rangkaian alasan yang diberikan dengan cara yang dapat dipahami. Berdasarkan pada kaidah/rule tertentu. Dirancang untuk dapat dikembangkan secara bertahap. Keluarannya bersifat anjuran.
User Interface
Bagian penghubung antara program sistem pakar dengan pemakai. Bagian ini memungkinkan pengguna untuk memasukkan instruksi dan informasi ke dalam sistem pakar serta menerima penjelasan dan kesimpulan.
Antar Muka Pemakai (User Interface)
Beberapa aplikasi sistem pakar (dalam beberapa bidang)
Kesehatan: BAL2000, LISA, ISABEL, CTSHIV, DxPlain,MedWeaver, The Analyst,FuzzyFluid, Casnet, PUFF, Centaur, EasyDiagnosis, CLEM, VIE-PNN Lingkungan: ESS-WWTP, CREWS, CORMIX, HITERM,GCES, Oncologic Jaringan: NIDES, AudES, eXpertBSM, Expert Advisor, Online ES (listrik) ITS: ActiveMath, TEST, ELMART, SID2002 Math ES, Chest Komputer/HW: DART, PEARL, PDAmum
Manajemen: DXMAS, CESA, FINEVA Permainan: FRES, Rogomatic Geologi: PROSPECTOR II,DAS Pertanian: EXSEL, HABES, DSS4Ag Biologi: RIH, PSORTb NASA: Weather ES, SHINE Lainnya: TTA (teroris), ACASPRO (kartu kredit), USLIMITS 2,CATD-RT, HWYCON, SHYSTER (hukum)
Selesai
Karakteristik umum Performansi tinggi: kualitas solusi, respon
reasonable (relatif terhadap pakar) Understandable: bagi user atau pengembang Flexibel: BP mudah dirawat
Tipe sistem pakar : Fungsional Interaktif, untuk pengambilan keputusan Input dari user langsung Contoh: VALAB Efek samping: kompetisi dengan pakar Interaktif, untuk advising (saran, kritik) Input dari user langsung Contoh: Math tutor system, legal system Low cost, few risk cocok untuk awal pengenalansistem pakar
Tipe sistem pakar : fungsional (2) Embedded, untuk pengambilan keputusan
Input dari subsistem lain Contoh: treatment selection pada Hopper persetujuan kredit pada sistem informasi credit card American Express
Sistem Pakar sebagai Media Pengetahuan
Fakta: pengetahuan harus di-share Media pengetahuan: buku, hypertext media, film, sistem pakar, dll Kelebihan sistem pakar:
Controllability by user
Pengaksesan tidak sekuensial seperti buku, film Dinamik sesuai pengetahuan/interest user sama seperti ; hypertext
Verifiability
Verifikasi tidak hanya dilakukan kepada orang/media lain Mampu mengekspresi/interpretasi pengetahuan tidak jelas dan tidak lengkap Contoh: pakar yang bertentangan telusuri sistem pakar
PEMINDAHAN KEPAKARAN Tujuan dari sebuah sistem pakar adalah untuk
mentransfer kepakaran yang dimiliki seorang pakar kedalam komputer, dan kemudian kepada orang lain (nonexpert). Aktifitas yang dilakukan untuk memindahkan kepakaran:
Knowledge Acquisition (dari pakar atau sumber lainnya) Knowledge Representation (ke dalam komputer) Knowledge Inferencing Knowledge Transfering
Sifat utama sistem pakar
Struktur dasar sistem pakar
STRUKTUR DETAIL SISTEM PAKAR Terdiri atas 2 bagian : Development Environment (Lingkungan Pengembangan) Consultation Environment (Lingkungan Konsultasi)
Detail sistem pakar Bagian-bagian yang secara umum ada pada struktur detail
sistem pakar
Knowledge Aqcuisision System Knowledge Base Inference engine User Interface User Workplace (Blackboard) Explanation Subsystem Knowledge refining system
KNOWLEDGE AQCUISISTION Meliputi proses pengumpulan, pemindahan,
dan perubahan dari kemampuan pemecahan masalah seorang pakar atau sumber pengetahuan terdokumentasi (buku, dll) ke program komputer, yang bertujuan untuk memperbaiki dan atau mengembangkan basis pengetahuan (knowledge-base)
KNOWLEDGE ENGINEERING Definisi : Proses pengembangan suatu sistem pakar Orang yang mengembangkan suatu sistem pakar disebut:
Knowledge Engineer Fase pengembangan sistem pakar
Assessment Knowledge Aqcuisition Design Test Documentation Maintenance
3 Pemain utama dalam suatu proyek sistem pakar adalah: Domain Expert Knowledge engineer End-user
Kategori Problema Sistem Pakar
Interpretasi – membuat kesimpulan atau deskripsi dari sekumpulan data mentah. Prediksi – memproyeksikan akibat-akibat yang dimungkinkan dari situasi-situasi tertentu Diagnosis – menentukan sebab malfungsi dalam situasi kompleks yang didsarkan pada gejala-gejala yang teramati
Desain – menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuan kinerja tertentu yang memnuhi kendala - kendala tertentu
Kategori Problema Sistem Pakar
Perencanaan – merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu Debugging dan Repair – menentukan dan menginterpretasikan cara-cara untuk mengatasi malfungsi. Instruksi – mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subyek Pengendalian – mengatur tingkah laku suatu environment yang kompleks Selection – mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan Simulation – pemodelan interaksi antara komponen-komponen sistem Monitoring – membandingkan hasil pengamatan dengan kondisi yang diharapkan