bab 2 a
TRANSCRIPT
BAB II
ATURAN BERBASIS SISTEM PAKAR
Di mana kami memperkenalkan pilihan yang paling populer untuk membangun sistem yang berbasis pengethauan : sistem pakar berbasis aturan.
2.1. Pengantar atau apa itu pengetahuan ?
Pada 1970-an, akhirnya menerima bahwa untuk membuat mesin yang memecahkan masalah intelektual seseorang harus tahu solusinya. Dengan kata lain, seseorang harus memiliki pengetahuan, 'know-how', dalam beberapa domain yang spesifik
Pengertian Pengetahuan
Pengetahuan adalah pemahaman teoritis atau praktis mengenai suatu subjek atau domain. Pengetahuan juga merupakan jumlah dari apa yang saat ini dikenal, dan tampaknya pengetahuan adalah kekuatan. Mereka yang memiliki pengetahuan disebut ahli. Mereka adalah orang-orang yang paling kuat dan penting dalam organisasi mereka. Setiap perusahaan yang sukses memiliki setidaknya beberapa ahli kelas satu dan tidak dapat tetap dalam bisnis tanpa mereka.
Siapa yang umumnya diakui sebagai ahli?
Siapapun dapat dianggap sebagai ahli domain jika ia memiliki pengetahuan yang mendalam (dari kedua fakta dan aturan) dan pengalaman praktis yang kuat dalam domain tertentu. Daerah domain mungkin terbatas. Sebagai contoh, ahli dalam mesin listrik mungkin hanya memiliki pengetahuan umum tentang transformer, sedangkan ahli dalam pemasaran asuransi jiwa mungkin memiliki pemahaman terbatas polis asuransi real estate. Secara umum, seorang ahli adalah orang yang terampil yang dapat melakukan hal-hal orang lain tidak bisa.
Bagaimana ahli berpikir?
Proses mental manusia bersifat internal, dan terlalu kompleks untuk direpresentasikan sebagai algoritma. Namun, kebanyakan ahli mampu mengekspresikan pengetahuan mereka dalam bentuk aturan untuk pemecahan masalah. Sebagai contoh sederhana. Bayangkan, Anda bertemu alien! Dia ingin menyeberang jalan. Dapatkah Anda membantu dia? Anda adalah seorang ahli dalam persimpangan jalan, Anda sudah berada di pekerjaan ini selama beberapa tahun. Dengan demikian Anda dapat mengajarkan alien. Bagaimana Anda melakukan ini?
Anda menjelaskan kepada alien bahwa ia bisa menyeberang jalan dengan aman saat lampu lalu lintas berwarna hijau, dan ia harus berhenti saat lampu lalu lintas berwarna merah. Ini adalah aturan dasar. Pengetahuan Anda dapat dirumuskan sebagai pernyataan sederhana berikut:
IF'lampu lalu lintas' hijau
THEN aksi adalah pergi
IF 'lampu lalu lintas' merah
THEN tindakan adalah berhenti
Pernyataan-pernyataan ini direpresentasikan dalam bentuk IF-THEN disebut aturan produksi atau hanya aturan. Istilah 'aturan' di AI, yang merupakan jenis yang paling umum digunakan representasi pengetahuan, dapat didefinisikan sebagai IF-THEN struktur yang berkaitan diberikan informasi atau fakta di bagian IF untuk beberapa tindakan di bagian THEN. Sebuah aturan menyediakan beberapa deskripsi tentang bagaimana untuk memecahkan masalah. Aturan relatif mudah untuk membuat dan memahami.
2.2. Aturan sebagai teknik representasi pengetahuan
Setiap aturan terdiri dari dua bagian: bagian IF, yang disebut anteseden (premis atau kondisi) dan KEMUDIAN bagian yang disebut konsekuen (kesimpulan atau tindakan).
Sintaks dasar aturan adalah:
IF <antecedent>THEN <consequent>
Secara umum, aturan dapat memiliki beberapa anteseden bergabung dengan kata kunci AND (konjungsi), OR (disjungsi) atau kombinasi keduanya. Namun, itu adalah kebiasaan yang baik untuk menghindari pencampuran sambung dan disjunctions dalam aturan yang sama.
IF <antecedent 1>AND <antecedent 2>
.
.
.AND <antecedent n>THEN <consequent>IF <antecedent 1>OR <antecedent 2>
.
.
.OR <antecedent n>THEN <consequent>
Konsekuen dari aturan juga dapat memiliki beberapa klausa:
IF <antecedent>THEN <consequent 1><consequent 2>
.
.
.<consequent m>
Anteseden aturan menggabungkan dua bagian: sebuah objek (object linguistik) dan nilainya. Dalam contoh persimpangan jalan kami, objek linguistik 'lampu lalu lintas' dapat mengambil baik nilai hijau atau nilai merah. Objek dan nilainya dihubungkan oleh operator. Operator mengidentifikasi objek dan memberikan nilai. Operator seperti ini, yang, tidak, tidak digunakan untuk menetapkan nilai simbolis ke objek linguistik. Namun, sistem pakar juga dapat menggunakan operator matematis untuk mendefinisikan suatu objek sebagai numerik dan menetapkan ke nilai numerik. Sebagai contoh,
IF'usia nasabah' <18
AND 'penarikan tunai'> 1000
THEN 'tanda tangan dari orang tua' diperlukan
Mirip dengan aturan pendahuluan, konsekuen yang menggabungkan objek dan nilai dihubungkan oleh sebuah operator. Operator memberikan nilai ke objek linguistik. Dalam contoh persimpangan jalan, jika nilai lampu lalu lintas berwarna hijau, aturan pertama menetapkan tindakan objek linguistik dengan nilai pergi. Objek numerik dan bahkan ekspresi aritmatika sederhana juga dapat digunakan dalam aturan konsekuen.
IF'penghasilan kena pajak'> 16283
THEN 'Medicare pungutan' 'penghasilan kena pajak' 1,5 / 100
Aturan dapat mewakili hubungan, rekomendasi, arahan, strategi dan heuristik (Durkin, 1994).
Hubungan
IF 'tangki bahan bakar' kosong
THEN mobil mati
Rekomendasi
IF musim ini gugur
AND langit mendung
AND ramalan adalah gerimis
THEN saran adalah 'membawa payung'
Directive
IF mobil sudah mati
AND 'tangki bahan bakar' kosong
THEN tindakan adalah 'mengisi bahan bakar mobil'
Strategi
IF mobil mati
THEN tindakan adalah 'memeriksa tangki bahan bakar';
step1 selesai
IF step1 selesai
AND 'tangki bahan bakar' penuh
THEN tindakan tersebut 'memeriksa baterai';
step2 selesai
Heuristic
IF tumpahan cairan
AND 'tumpahan pH' <6
AND 'tumpahan bau' adalah cuka
THEN 'tumpahan bahan' adalah 'asam asetat'
2.3. Pihak utama dalam tim pengembangan sistem pakar
Begitu pengetahuan disediakan oleh ahli manusia, kita dapat memasukkan ke dalam komputer. Kami berharap komputer untuk bertindak sebagai asisten cerdas dalam beberapa domain yang spesifik keahlian atau untuk memecahkan suatu masalah yang seharusnya harus dipecahkan oleh seorang ahli. Kami juga ingin komputer untuk dapat mengintegrasikan pengetahuan baru dan untuk menunjukkan pengetahuan dalam bentuk yang mudah untuk membaca dan memahami, dan untuk berurusan dengan kalimat sederhana dalam bahasa alami daripada bahasa pemrograman buatan. Akhirnya, kami ingin komputer kita untuk menjelaskan bagaimana mencapai kesimpulan tertentu. Dengan kata lain, kita harus membangun sistem pakar, program komputer yang mampu tampil di tingkat ahli manusia dalam bidang masalah yang sempit.
Sistem pakar yang paling populer adalah sistem berbasis aturan. Sejumlah besar telah dibangun dan berhasil diterapkan di berbagai bidang seperti bisnis dan teknik, kedokteran dan geologi, sistem tenaga dan pertambangan. Sejumlah besar perusahaan memproduksi dan memasarkan software bagi pengembangan sistem pakar berbasis aturan - kerang sistem pakar untuk komputer pribadi.
Kerangka sistem pakar menjadi sangat populer untuk mengembangkan sistem rulebased. Keuntungan utama mereka adalah bahwa pembangun sistem sekarang dapat berkonsentrasi pada pengetahuan itu sendiri dan bukan pada belajar bahasa pemrograman.
Apakah yang dimaksud dengan kerangka sistem pakar?
Sebuah kerangka sistem pakar dapat dianggap sebagai sistem pakar dengan pengetahuan dihapus. Oleh karena itu, semua pengguna harus lakukan adalah untuk menambah pengetahuan dalam bentuk aturan dan memberikan data yang relevan untuk memecahkan masalah.
Mari sekarang kita lihat siapa yang dibutuhkan untuk mengembangkan sistem pakar dan keterampilan apa yang dibutuhkan.
Secara umum, ada lima anggota tim pengembangan sistem pakar: pakar domain, insinyur pengetahuan, programmer, manajer proyek dan pengguna akhir. Keberhasilan sistem pakar mereka sepenuhnya tergantung pada seberapa baik para anggota bekerja sama. Hubungan dasar dalam tim pengembangan diringkas dalam Gambar 2.1.
Gambar 2.1 Pihak utama dari tim pengembangan sistem pakar
Ahli domain adalah orang yang berpengetahuan dan terampil mampu memecahkan masalah pada area spesifik atau domain. Orang ini memiliki keahlian terbesar dalam domain yang diberikan. Keahlian ini harus ditangkap dalam sistem pakar. Oleh karena itu, ahli harus mampu mengkomunikasikan pengetahuan nya, bersedia untuk berpartisipasi dalam pengembangan sistem pakar dan melakukan sejumlah besar waktu untuk proyek. Ahli domain adalah pemain paling penting dalam tim pengembangan sistem pakar.
Insinyur pengetahuan adalah seseorang yang mampu merancang, membangun dan menguji sistem pakar. Orang ini bertanggung jawab untuk memilih tugas yang sesuai untuk sistem pakar. Dia mewawancarai ahli domain untuk mengetahui bagaimana masalah tertentu dipecahkan. Melalui interaksi dengan ahli, insinyur pengetahuan menetapkan apa metode penalaran ahli menggunakan untuk menangani fakta dan aturan dan memutuskan bagaimana untuk mewakili mereka dalam sistem pakar. Insinyur pengetahuan kemudian memilih
beberapa perangkat lunak pengembangan atau kerangka sistem pakar, atau melihat bahasa pemrograman untuk pengkodean pengetahuan (dan kadang-kadang encode sendiri). Dan akhirnya, insinyur pengetahuan bertanggung jawab untuk pengujian, merevisi dan mengintegrasikan sistem pakar ke tempat kerja. Dengan demikian, insinyur pengetahuan berkomitmen untuk proyek dari tahap desain awal untuk pengiriman akhir dari sistem pakar, dan bahkan setelah proyek selesai, dia juga mungkin terlibat dalam menjaga sistem.
Programmer adalah orang yang bertanggung jawab untuk pemrograman yang sebenarnya, menggambarkan pengetahuan domain dalam hal bahwa komputer dapat mengerti. Pemrogram perlu memiliki keahlian dalam pemrograman simbolik dalam bahasa AI seperti LISP, Prolog dan OPS5 dan juga beberapa pengalaman dalam penerapan berbagai jenis kerang sistem ahli. Selain itu, programmer harus tahu bahasa pemrograman konvensional seperti C, Pascal, FORTRAN dan Basic. Jika kerangka sistem pakar yang digunakan, insinyur pengetahuan dapat dengan mudah mengkodekan pengetahuan ke dalam sistem pakar dan dengan demikian menghilangkan kebutuhan untuk programmer. Namun, jika kerangka tidak dapat digunakan, programmer harus mengembangkan pengetahuan dan representasi data struktur (basis pengetahuan dan database), struktur pengendalian (mesin inferensi) dan struktur dialog (user interface). Programmer juga mungkin terlibat dalam pengujian sistem pakar.
Manajer proyek adalah pemimpin dari tim pengembangan sistem pakar, bertanggung jawab untuk menjaga proyek di trek. Dia memastikan bahwa semua kiriman dan tonggak terpenuhi, berinteraksi dengan pakar, knowledge engineer, programmer dan pengguna akhir.
Pengguna akhir, sering disebut sebagai pengguna, merupakan orang yang menggunakan sistem pakar ketika sistem pakar telah dikembangkan. Pengguna dapat berupa seorang ahli kimia analitis yang menentukan struktur molekul tanah dari Mars (Feigenbaum et al., 1971), seorang dokter muda mendiagnosa penyakit darah menular (Shortliffe, 1976), seorang geologis eksplorasi mencoba untuk menemukan deposit mineral baru (Duda et al., 1979), atau operator sistem tenaga membutuhkan saran dalam keadaan darurat (Negnevitsky, 1996). Masing-masing dari para pengguna sistem pakar memiliki kebutuhan yang berbeda, yang sistem harus memenuhi: penerimaan akhir sistem akan tergantung pada kepuasan pengguna. Pengguna tidak hanya harus percaya diri dalam kinerja sistem pakar tetapi juga merasa nyaman menggunakannya. Oleh karena itu, desain antarmuka pengguna dari sistem pakar ini juga penting bagi keberhasilan proyek; kontribusi pengguna akhir di sini dapat menjadi sangat penting.
Pengembangan sistem pakar bisa dimulai ketika semua lima pemain telah bergabung dengan tim. Namun, banyak sistem pakar kini dikembangkan pada komputer pribadi menggunakan kerangka sistem ahli. Hal ini dapat menghilangkan kebutuhan untuk programmer dan mungkin juga mengurangi peran insinyur pengetahuan. Untuk sistem kecil ahli, manajer proyek, insinyur pengetahuan, programmer dan bahkan ahli bisa menjadi orang yang sama. Tapi semua pemain tim diperlukan ketika sistem pakar besar dikembangkan.
2.4. Struktur sistem pakar berbasis aturan
Pada awal 1970-an, Newell dan Simon dari Carnegie-Mellon University mengusulkan sebuah model sistem produksi, dasar dari berbasis aturan sistem pakar modern (Newell dan Simon, 1972). Model produksi didasarkan pada gagasan bahwa manusia memecahkan masalah dengan menerapkan pengetahuan mereka (dinyatakan sebagai aturan produksi) terhadap suatu masalah dengan diwakili oleh informasi spesifik masalah. Aturan produksi disimpan dalam memori jangka panjang dan informasi spesifik masalah atau fakta dalam memori jangka pendek. Model sistem produksi dan struktur dasar dari sistem pakar berbasis aturan ditunjukkan pada Gambar 2.2.
Sebuah sistem pakar berbasis aturan memiliki lima komponen: basis pengetahuan, database, mesin inferensi, fasilitas penjelasan, dan antarmuka pengguna.
Gambar 2.2 Sistem Produksi dan struktur dasar dari sistem pakar berbasis aturan: (a) model sistem produksi; (B) struktur dasar dari sistem pakar berbasis aturan
Basis pengetahuan berisi pengetahuan domain berguna untuk pemecahan masalah. Dalam sistem pakar berbasis aturan, pengetahuan direpresentasikan sebagai seperangkat aturan. Setiap aturan menentukan hubungan, rekomendasi, direktif, strategi atau heuristik dan memiliki IF (kondisi) THEN (tindakan) struktur. Ketika bagian kondisi dari aturan sudah dipenuhi , aturan akan memberikan perintah dan bagian aksi akan dijalankan.
Database mencakup serangkaian fakta yang digunakan untuk disesuaikan terhadap bagian IF (kondisi) dari aturan yang disimpan dalam basis pengetahuan.
Mesin inferensi melaksanakan penalaran dimana sistem pakar mencapai solusi. Mesin inferensi menghubungkan aturan yang diberikan dalam basis pengetahuan dengan fakta-fakta yang diberikan dalam database.
Fasilitas Penjelasan memungkinkan pengguna untuk meminta sistem pakar bagaimana kesimpulan tertentu tercapai dan mengapa fakta tertentu diperlukan. Sistem pakar harus dapat menjelaskan alasan dan membenarkan saran, analisis atau kesimpulan.
Antarmuka pengguna adalah sarana komunikasi antara pengguna mencari solusi untuk masalah dan sistem pakar. Komunikasi harus sebagai bermakna dan ramah mungkin.
Kelima komponen penting untuk setiap sistem pakar berbasis aturan. Mereka merupakan intinya, tetapi mungkin ada beberapa komponen tambahan.
Antarmuka eksternal memungkinkan sistem pakar untuk bekerja dengan file data eksternal dan program yang ditulis dalam bahasa pemrograman konvensional seperti C, Pascal, FORTRAN dan Basic. Struktur lengkap dari sebuah sistem pakar berbasis aturan ditunjukkan pada Gambar 2.3.
Antarmuka pengembang biasanya mencakup editor basis pengetahuan, alat bantu debugging dan fasilitas input / output.
Semua kerangka sistem pakar menyediakan editor teks sederhana untuk input dan mengubah aturan-aturan, dan untuk memeriksa format yang benar dan ejaan. Banyak sistem pakar juga
Gambar 2.3 Struktur lengkap dari sistem pakar berbasis aturan