Anda di halaman 1dari 41

Bab 2

Sistem pakar berbasis aturan


Di mana kami memperkenalkan pilihan bangunan yang paling populer
sistem berbasis pengetahuan: sistem pakar berbasis aturan.

2.1 Pendahuluan, atau apakah pengetahuan itu?


Pada 1970-an, akhirnya diterima bahwa untuk membuat mesin memecahkan intelektual
Masalahnya orang harus tahu solusinya. Dengan kata lain, kita harus memilikinya
pengetahuan, 'know-how', di beberapa domain tertentu.

Apa itu ilmu?


Pengetahuan adalah pemahaman teoretis atau praktis tentang suatu subjek atau domain.
Pengetahuan juga merupakan jumlah dari apa yang saat ini diketahui, dan ternyata pengetahuan
adalah kekuatan. Mereka yang memiliki pengetahuan disebut ahli. Mereka adalah
orang yang paling kuat dan penting dalam organisasi mereka. Ada yang berhasil
perusahaan memiliki setidaknya beberapa ahli kelas satu dan tidak dapat bertahan dalam bisnis
tanpa mereka.

Siapa yang umumnya diakui sebagai pakar?


Siapa pun dapat dianggap sebagai pakar domain jika ia memiliki pengetahuan yang mendalam
(tentang
baik fakta dan aturan) dan pengalaman praktis yang kuat dalam domain tertentu. Itu
area domain mungkin terbatas. Misalnya, pakar mesin listrik
mungkin hanya memiliki pengetahuan umum tentang transformer, sementara ahli dalam
kehidupan
pemasaran asuransi mungkin memiliki pemahaman yang terbatas tentang asuransi real estat
kebijakan. Secara umum, seorang ahli adalah orang yang terampil yang dapat melakukan hal-
hal orang lain
tidak bisa.

Bagaimana pendapat para ahli?


Proses mental manusia adalah internal, dan terlalu rumit untuk diwakili sebagai
sebuah algoritma. Namun, sebagian besar ahli mampu mengekspresikan pengetahuan mereka
dalam bentuk aturan untuk pemecahan masalah. Pertimbangkan contoh sederhana.
Membayangkan,

kamu bertemu alien! Dia ingin menyeberang jalan. Bisakah kamu membantunya? Anda
seorang

ahli dalam persimpangan jalan - Anda telah melakukan pekerjaan ini selama beberapa tahun.
Jadi kamu
mampu mengajar alien. Bagaimana Anda melakukan ini?

Anda menjelaskan kepada alien bahwa dia bisa menyeberang jalan dengan aman ketika lalu
lintas menyala
berwarna hijau, dan ia harus berhenti ketika lampu lalu lintas merah. Ini adalah aturan dasar.
Pengetahuan Anda dapat dirumuskan sebagai pernyataan sederhana berikut:

JIKA 'lampu lalu lintas' berwarna hijau


MAKA aksinya pergi
JIKA 'lampu lalu lintas' berwarna merah
MAKA aksinya berhenti

Pernyataan-pernyataan ini diwakili dalam bentuk JIKA-LALU disebut produksi

aturan atau aturan saja. Istilah 'aturan' dalam AI, yang merupakan jenis yang paling umum
digunakan
representasi pengetahuan, dapat didefinisikan sebagai struktur IF-THEN yang berhubungan

diberikan informasi atau fakta di bagian JIKA untuk beberapa tindakan di bagian KEMUDIAN.
Sebuah aturan
memberikan beberapa deskripsi tentang cara mengatasi masalah. Aturan relatif mudah
buat dan pahami.

2.2 Aturan sebagai teknik representasi pengetahuan


Setiap aturan terdiri dari dua bagian: bagian IF, disebut anteseden (premis atau
kondisi) dan MAKA bagian disebut konsekuen (kesimpulan atau tindakan).
Sintaks dasar aturan adalah:
JIKA <antecedent>
LALU <konsekuen>
Secara umum, aturan dapat memiliki beberapa anteseden bergabung dengan kata kunci DAN
(konjungsi), OR (disjunction) atau kombinasi keduanya. Namun, itu bagus
kebiasaan untuk menghindari pencampuran konjungsi dan disjungsi dalam aturan yang sama.
JIKA <anteseden 1>
DAN <anteseden 2>
.
.
.
DAN <anteseden n>
LALU <konsekuen>
JIKA <anteseden 1>
ATAU <anteseden 2>
.
.
.
ATAU <anteseden n>
LALU <konsekuen>

Konsekuensi dari aturan juga dapat memiliki beberapa klausa:


JIKA <antecedent>
MAKA <konsekuen 1>
<konsekuen 2>
.
.
.
<konsekuensinya m>
Anteseden aturan menggabungkan dua bagian: objek (objek linguistik)
dan nilainya. Dalam contoh persimpangan jalan kami, objek linguistik 'lampu lalu lintas'
dapat mengambil nilai hijau atau nilai merah. Objek dan nilainya terkait
oleh operator. Operator mengidentifikasi objek dan memberikan nilai.
Operator seperti, tidak, tidak, tidak digunakan untuk menetapkan nilai simbolik ke
objek linguistik. Tetapi sistem pakar juga dapat menggunakan operator matematika untuk
mendefinisikan objek sebagai numerik dan menetapkannya ke nilai numerik. Sebagai contoh,
JIKA ‘usia pelanggan’ <18
DAN ‘penarikan tunai’> 1000
MAKA "tanda tangan orang tua" diperlukan
Mirip dengan anteseden aturan, konsekuen menggabungkan objek dan nilai
dihubungkan oleh operator. Operator memberikan nilai ke objek linguistik.

Dalam contoh persimpangan jalan, jika nilai lampu lalu lintas berwarna hijau, aturan pertama
akan ditetapkan
tindakan objek linguistik untuk nilai pergi. Objek numerik dan bahkan sederhana
ekspresi aritmatika juga dapat digunakan dalam aturan konsekuensi.
JIKA 'penghasilan kena pajak'> 16283
LALU ‘Pungutan Medicare '¼ ¼ penghasilan kena pajak'? 1.5 / 100
Aturan dapat mewakili hubungan, rekomendasi, arahan, strategi dan
heuristik (Durkin, 1994).
Hubungan
JIKA 'tangki bahan bakar' kosong
MAKA mobil sudah mati
Rekomendasi
JIKA musimnya musim gugur
DAN langit mendung
DAN ramalan itu gerimis
MAKA sarannya adalah 'bawa payung'
Direktif
JIKA mobil itu mati
DAN 'tangki bahan bakar' kosong
MAKA aksinya adalah 'mengisi bahan bakar mobil'

Strategi
JIKA mobil itu mati
MAKA aksinya adalah ‘periksa tangki bahan bakar’;
langkah1 selesai
JIKA langkah1 selesai
DAN 'tangki bahan bakar' penuh
MAKA aksinya adalah ‘periksa baterai’;
step2 selesai
Heuristis
JIKA tumpahan itu cair
DAN 'pH tumpahan' <6
DAN 'bau tumpah' adalah cuka
MAKA 'bahan tumpahan' adalah 'asam asetat'
2.3. Pemain utama dalam tim pengembangan sistem pakar
Begitu pengetahuan diberikan oleh pakar manusia, kita dapat memasukkannya ke dalam
komputer. Kami berharap komputer bertindak sebagai asisten yang cerdas di beberapa negara
bidang keahlian khusus atau untuk memecahkan masalah yang seharusnya harus dilakukan
dipecahkan oleh seorang ahli. Kami juga ingin komputer dapat diintegrasikan

pengetahuan baru dan untuk menunjukkan pengetahuannya dalam bentuk yang mudah dibaca
dan
mengerti, dan untuk berurusan dengan kalimat sederhana dalam bahasa alami daripada
bahasa pemrograman buatan. Akhirnya, kami ingin komputer kami menjelaskan
bagaimana itu mencapai kesimpulan tertentu. Dengan kata lain, kita harus membangun sebuah
sistem pakar, program komputer yang mampu melakukan pada tingkat a
ahli manusia dalam bidang masalah yang sempit.
Sistem pakar yang paling populer adalah sistem berbasis aturan. Sejumlah besar memiliki
telah dibangun dan berhasil diterapkan di bidang-bidang seperti bisnis dan teknik,
kedokteran dan geologi, sistem tenaga dan pertambangan. Sejumlah besar perusahaan

memproduksi dan memasarkan perangkat lunak untuk pengembangan sistem pakar berbasis
aturan - pakar
kerang sistem untuk komputer pribadi.
Kerang sistem pakar menjadi sangat populer untuk mengembangkan berbasis aturan
sistem. Keuntungan utama mereka adalah bahwa pembangun sistem sekarang dapat
berkonsentrasi pada pengetahuan itu sendiri daripada belajar pemrograman
bahasa.
Apa itu shell sistem pakar?
Shell sistem pakar dapat dianggap sebagai sistem pakar dengan

pengetahuan dihapus. Karena itu, yang harus dilakukan pengguna adalah menambah
pengetahuan
dalam bentuk aturan dan menyediakan data yang relevan untuk memecahkan masalah.

Mari kita lihat siapa yang dibutuhkan untuk mengembangkan sistem pakar dan keterampilan
apa
dibutuhkan.
Secara umum, ada lima anggota pengembangan sistem pakar
tim: ahli domain, insinyur pengetahuan, programmer, proyek
manajer dan pengguna akhir. Keberhasilan sistem pakar mereka sepenuhnya tergantung
tentang seberapa baik para anggota bekerja bersama. Hubungan dasar dalam pembangunan
tim dirangkum dalam Gambar 2.1.
Pakar domain adalah orang yang berpengetahuan dan terampil yang mampu memecahkan
masalah di area atau domain tertentu. Orang ini memiliki keahlian terbesar dalam a
domain yang diberikan. Keahlian ini harus ditangkap dalam sistem pakar. Karena itu,
Pakar harus bisa mengkomunikasikan ilmunya, mau
berpartisipasi dalam pengembangan sistem pakar dan melakukan sejumlah besar
waktu ke proyek. Pakar domain adalah pemain terpenting di Internet
tim pengembangan sistem pakar.
Insinyur pengetahuan adalah seseorang yang mampu mendesain, membangun
dan menguji sistem pakar. Orang ini bertanggung jawab untuk memilih
tugas yang sesuai untuk sistem pakar. Dia mewawancarai pakar domain
untuk mengetahui bagaimana masalah tertentu diselesaikan. Melalui interaksi dengan
ahli, insinyur pengetahuan menetapkan metode penalaran apa yang ahli

gunakan untuk menangani fakta dan aturan dan memutuskan bagaimana cara mewakili mereka
dalam ahli

sistem. Insinyur pengetahuan kemudian memilih beberapa perangkat lunak pengembangan


atau
shell sistem pakar, atau melihat bahasa pemrograman untuk menyandikan
pengetahuan (dan terkadang mengkodekannya sendiri). Dan akhirnya, ilmu
engineer bertanggung jawab untuk menguji, merevisi dan mengintegrasikan sistem pakar
ke tempat kerja. Dengan demikian, insinyur pengetahuan berkomitmen untuk proyek tersebut
dari tahap desain awal hingga pengiriman akhir sistem pakar, dan bahkan
setelah proyek selesai, ia mungkin juga terlibat dalam memelihara
sistem.
Programmer adalah orang yang bertanggung jawab untuk pemrograman yang sebenarnya,
menggambarkan pengetahuan domain dalam hal yang dapat dipahami komputer.
Programmer perlu memiliki keterampilan dalam pemrograman simbolik dalam AI tersebut

bahasa seperti LISP, Prolog dan OPS5 dan juga beberapa pengalaman dalam aplikasi
berbagai jenis cangkang sistem pakar. Selain itu, programmer harus
tahu bahasa pemrograman konvensional seperti C, Pascal, FORTRAN dan Basic.
Jika shell sistem pakar digunakan, insinyur pengetahuan dapat dengan mudah menyandikan

pengetahuan ke dalam sistem pakar dan dengan demikian menghilangkan kebutuhan untuk
programmer.
Namun, jika shell tidak dapat digunakan, seorang programmer harus mengembangkan
pengetahuan dan struktur representasi data (basis pengetahuan dan basis data),
struktur kontrol (mesin inferensi) dan struktur dialog (antarmuka pengguna). Itu
programmer juga dapat terlibat dalam pengujian sistem pakar.
Manajer proyek adalah pemimpin tim pengembangan sistem pakar,
bertanggung jawab untuk menjaga proyek tetap pada jalurnya. Dia memastikan itu semua
kiriman dan tonggak bertemu, berinteraksi dengan ahli, pengetahuan
insinyur, programmer dan pengguna akhir.
Pengguna akhir, sering disebut hanya pengguna, adalah orang yang menggunakan pakar
sistem ketika dikembangkan. Pengguna mungkin menentukan kimiawan analitik
struktur molekul tanah dari Mars (Feigenbaum et al., 1971), junior
dokter mendiagnosis penyakit darah menular (Shortliffe, 1976), sebuah eksplorasi
ahli geologi mencoba menemukan deposit mineral baru (Duda et al., 1979), atau kekuatan
operator sistem yang memerlukan saran dalam keadaan darurat (Negnevitsky, 1996). Setiap

para pengguna sistem pakar ini memiliki kebutuhan yang berbeda, yang harus dipenuhi oleh
sistem:
penerimaan akhir sistem akan bergantung pada kepuasan pengguna. Pengguna
tidak hanya harus percaya diri dalam kinerja sistem pakar tetapi juga merasakan
nyaman menggunakannya. Oleh karena itu, desain antarmuka pengguna ahli
sistem juga penting untuk keberhasilan proyek; kontribusi pengguna akhir di sini dapat
menjadi sangat penting.
Pengembangan sistem pakar dapat dimulai ketika kelima pemain memiliki
bergabung dengan tim. Namun, banyak sistem pakar sekarang dikembangkan secara pribadi
komputer menggunakan cangkang sistem pakar. Ini dapat menghilangkan kebutuhan untuk
Programmer dan juga dapat mengurangi peran insinyur pengetahuan. Untuk
sistem pakar kecil, manajer proyek, insinyur pengetahuan, programmer
dan bahkan ahli bisa menjadi orang yang sama. Tetapi 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
model sistem produksi, fondasi ahli berbasis aturan modern
sistem (Newell dan Simon, 1972). Model produksi didasarkan pada ide

bahwa manusia memecahkan masalah dengan menerapkan pengetahuan mereka (dinyatakan


sebagai produksi)
aturan) untuk masalah yang diberikan diwakili oleh informasi spesifik masalah. Itu
aturan produksi disimpan dalam memori jangka panjang dan khusus masalah
informasi atau fakta dalam ingatan jangka pendek. Model sistem produksi
dan struktur dasar dari sistem pakar berbasis aturan ditunjukkan pada Gambar 2.2.
Sistem pakar berbasis aturan memiliki lima komponen: basis pengetahuan,
database, mesin inferensi, fasilitas penjelasan, dan antarmuka pengguna.
Basis pengetahuan berisi pengetahuan domain yang berguna untuk masalah
pemecahan Dalam sistem pakar berbasis aturan, pengetahuan diwakili sebagai satu set
aturan. Setiap aturan menentukan hubungan, rekomendasi, arahan, strategi atau
heuristik dan memiliki struktur IF (kondisi) MAKA (tindakan). Ketika kondisinya
bagian dari aturan terpenuhi, aturan tersebut dikatakan memecat dan bagian tindakan
dieksekusi.
Basis data mencakup serangkaian fakta yang digunakan untuk mencocokkan dengan IF
(kondisi)
bagian dari aturan yang disimpan dalam basis pengetahuan.
Mesin inferensi melakukan penalaran dimana sistem pakar

mencapai solusi. Ini menghubungkan aturan yang diberikan dalam basis pengetahuan dengan
fakta
disediakan dalam database.

Fasilitas penjelasan memungkinkan pengguna untuk bertanya kepada sistem pakar bagaimana
a
kesimpulan khusus tercapai dan mengapa fakta khusus diperlukan. Seorang ahli
sistem harus dapat menjelaskan alasannya dan membenarkan nasihatnya, analisis atau
kesimpulan.
Antarmuka pengguna adalah alat komunikasi antara pengguna yang mencari
solusi untuk masalah dan sistem pakar. Komunikasi harus sama
bermakna dan ramah mungkin.
Kelima komponen ini penting untuk sistem pakar berbasis aturan apa pun. Mereka
merupakan intinya, tetapi mungkin ada beberapa komponen tambahan.
Antarmuka eksternal memungkinkan sistem pakar untuk bekerja dengan data eksternal
file dan program yang ditulis dalam bahasa pemrograman konvensional seperti C,
Pascal, FORTRAN dan Basic. Struktur lengkap dari sistem pakar berbasis aturan
ditunjukkan pada Gambar 2.3.
Antarmuka pengembang biasanya mencakup editor basis pengetahuan, debugging
bantu dan fasilitas input / output.
Semua shell sistem pakar menyediakan editor teks sederhana untuk diinput dan dimodifikasi
aturan, dan untuk memeriksa format dan ejaan yang benar. Banyak sistem pakar juga
termasuk fasilitas pembukuan untuk memantau perubahan yang dilakukan oleh pengetahuan
insinyur atau ahli. Jika aturan diubah, editor akan secara otomatis menyimpan
ubah tanggal dan nama orang yang membuat perubahan ini untuk nanti
referensi. Ini sangat penting ketika sejumlah insinyur pengetahuan dan
para ahli memiliki akses ke basis pengetahuan dan dapat memodifikasinya.
Alat bantu debug biasanya terdiri dari fasilitas penelusuran dan paket istirahat.
Tracing menyediakan daftar semua aturan yang dipecat selama eksekusi program, dan a
paket istirahat memungkinkan untuk memberitahu sistem pakar terlebih dahulu ke mana
berhenti sehingga insinyur pengetahuan atau pakar dapat memeriksa saat ini
nilai dalam database.
Sebagian besar sistem pakar juga mengakomodasi fasilitas input / output seperti runtime
akuisisi pengetahuan. Ini memungkinkan sistem pakar yang sedang berjalan untuk meminta
informasi yang diperlukan setiap kali informasi ini tidak tersedia dalam database.
Ketika informasi yang diminta dimasukkan oleh insinyur pengetahuan atau
ahli, program dilanjutkan.
Secara umum, antarmuka pengembang, dan fasilitas akuisisi pengetahuan di
khususnya, dirancang untuk memungkinkan pakar domain memasukkan pengetahuannya
langsung dalam sistem pakar dan dengan demikian meminimalkan intervensi a
insinyur pengetahuan.
2.5 Karakteristik mendasar dari sistem pakar
Sistem pakar dibangun untuk bekerja pada tingkat pakar manusia dalam ruang sempit,
domain khusus. Dengan demikian, karakteristik paling penting dari seorang ahli

sistem adalah kinerja berkualitas tinggi. Tidak peduli seberapa cepat sistem dapat
menyelesaikannya
masalah, pengguna tidak akan puas jika hasilnya salah. Di samping itu,
kecepatan mencapai solusi sangat penting. Bahkan yang paling akurat
keputusan atau diagnosis mungkin tidak berguna jika terlambat untuk diterapkan, misalnya di

keadaan darurat, ketika seorang pasien meninggal atau pembangkit listrik tenaga nuklir
meledak. Pakar
gunakan pengalaman praktis dan pemahaman mereka tentang masalah untuk menemukan
kekurangan
memotong solusi. Para ahli menggunakan aturan praktis atau heuristik. Seperti manusia mereka
rekan, sistem pakar harus menerapkan heuristik untuk memandu penalaran dan
sehingga mengurangi area pencarian untuk solusi.
Fitur unik dari sistem pakar adalah kemampuan penjelasannya. Ini
memungkinkan sistem pakar untuk meninjau alasannya sendiri dan menjelaskan keputusannya.
Penjelasan dalam sistem pakar yang berlaku melacak aturan yang dikeluarkan selama a
sesi pemecahan masalah. Ini, tentu saja, penyederhanaan; Namun nyata atau
Penjelasan 'manusia' belum memungkinkan karena membutuhkan pemahaman dasar

dari domain. Meskipun urutan aturan yang dipecat tidak dapat digunakan untuk membenarkan
a
Kesimpulannya, kita dapat melampirkan prinsip-prinsip dasar yang tepat dari domain tersebut
dinyatakan sebagai teks untuk setiap aturan, atau setidaknya setiap aturan tingkat tinggi,
disimpan dalam
dasar pengetahuan. Ini mungkin sejauh kemampuan penjelasan bisa
diambil. Namun, kemampuan untuk menjelaskan garis penalaran mungkin tidak penting untuk
itu
beberapa sistem pakar. Misalnya, sistem ilmiah yang dibangun untuk para ahli mungkin tidak
diminta untuk memberikan penjelasan yang luas, karena kesimpulan yang dicapai

bisa jelas bagi para ahli lainnya; aturan-penelusuran sederhana mungkin cukup
sesuai. Di sisi lain, sistem pakar biasanya digunakan dalam pengambilan keputusan
menuntut penjelasan yang lengkap dan bijaksana, sebagai biaya keputusan yang salah
mungkin sangat tinggi.
Sistem pakar menggunakan penalaran simbolis ketika memecahkan suatu masalah.
Simbol digunakan untuk mewakili berbagai jenis pengetahuan seperti fakta,
konsep dan aturan. Tidak seperti program konvensional yang ditulis untuk data numerik

pemrosesan, sistem pakar dibangun untuk pemrosesan pengetahuan dan dapat dengan mudah
menangani
dengan data kualitatif.
Program konvensional memproses data menggunakan algoritma, atau dengan kata lain, a

serangkaian operasi langkah demi langkah yang terdefinisi dengan baik. Algoritma selalu
melakukan
operasi yang sama dalam urutan yang sama, dan selalu memberikan solusi yang tepat.

Program konvensional tidak membuat kesalahan - tetapi programmer terkadang


melakukannya.
Tidak seperti program konvensional, sistem pakar tidak mengikuti yang ditentukan

urutan langkah. Mereka mengizinkan penalaran yang tidak tepat dan dapat menangani yang
tidak lengkap,
data tidak pasti dan kabur.
Bisakah sistem pakar membuat kesalahan?

Bahkan seorang ahli yang cemerlang hanyalah manusia dan dengan demikian dapat membuat
kesalahan. Ini

menunjukkan bahwa sistem pakar yang dibangun untuk melakukan pada tingkat ahli manusia
juga

harus diizinkan untuk melakukan kesalahan. Tapi kami masih mempercayai para ahli,
meskipun kami percaya

menyadari bahwa penilaian mereka terkadang salah. Demikian juga, setidaknya di sebagian
besar
kasus, kita bisa mengandalkan solusi yang disediakan oleh sistem pakar, tetapi kesalahannya
mungkin dan kita harus menyadari hal ini.
Apakah ini berarti bahwa program konvensional memiliki keunggulan dibandingkan ahli
sistem?
Secara teori, program konvensional selalu memberikan solusi 'benar' yang sama.
Namun, kita harus ingat bahwa program konvensional dapat mengatasi masalah jika,
dan hanya jika, data lengkap dan tepat. Ketika data tidak lengkap atau
termasuk beberapa kesalahan, program konvensional tidak akan memberikan solusi
semua atau yang salah. Sebaliknya, sistem pakar mengakui bahwa tersedia

informasi mungkin tidak lengkap atau tidak jelas, tetapi mereka dapat bekerja dalam situasi
seperti itu
dan masih sampai pada kesimpulan yang masuk akal.
Fitur penting lainnya yang membedakan sistem pakar dari yang konvensional
program adalah bahwa pengetahuan dipisahkan dari prosesnya (the
basis pengetahuan dan mesin inferensi terbelah). Program konvensional
adalah campuran pengetahuan dan struktur kontrol untuk memproses pengetahuan ini.
Penggabungan ini menyebabkan kesulitan dalam memahami dan meninjau program
kode, karena setiap perubahan pada kode mempengaruhi pengetahuan dan pemrosesan. Di
sistem pakar, pengetahuan jelas dipisahkan dari mekanisme pemrosesan.
Ini membuat sistem pakar lebih mudah dibangun dan dipelihara. Ketika seorang ahli
shell sistem digunakan, seorang insinyur pengetahuan atau ahli hanya memasukkan aturan di

dasar pengetahuan. Setiap aturan baru menambah beberapa pengetahuan baru dan
menjadikannya ahli
sistem lebih pintar. Sistem kemudian dapat dengan mudah dimodifikasi dengan mengubah atau
mengurangi aturan.
Karakteristik sistem pakar yang dibahas di atas membuatnya berbeda
dari sistem konvensional dan pakar manusia. Perbandingan ditunjukkan dalam
Tabel 2.1.
2.6 Penerusan rantai ke depan dan ke belakang
teknik
Dalam sistem pakar berbasis aturan, pengetahuan domain diwakili oleh seperangkat
JIKA-KALAU aturan produksi dan data diwakili oleh serangkaian fakta tentang
situasi saat ini. Mesin inferensi membandingkan setiap aturan yang disimpan di

basis pengetahuan dengan fakta yang terkandung dalam database. Ketika IF (kondisi)
bagian dari aturan cocok dengan fakta, aturan dipecat dan MAKA (tindakan) bagiannya

dieksekusi. Aturan yang dipecat dapat mengubah set fakta dengan menambahkan fakta
baru, seperti

ditunjukkan pada Gambar 2.4. Surat-surat dalam basis data dan basis pengetahuan
digunakan untuk itu
mewakili situasi atau konsep.
Pencocokan aturan JIKA bagian dengan fakta menghasilkan rantai inferensi.

Rantai inferensi menunjukkan bagaimana sistem pakar menerapkan aturan yang harus
dicapai

sebuah kesimpulan. Untuk menggambarkan teknik inferensi rantai, pertimbangkan


sederhana
contoh.
Misalkan database awalnya mencakup fakta A, B, C, D dan E, dan
basis pengetahuan hanya berisi tiga aturan:
Aturan 1: JIKA Y benar
DAN D itu benar
LALU Z itu benar
Aturan 2: JIKA X benar
DAN B benar
DAN E itu benar
LALU Y itu benar
Aturan 3: JIKA A benar
MAKA X itu benar

Rantai inferensi yang ditunjukkan pada Gambar 2.5 menunjukkan bagaimana sistem
pakar

menerapkan aturan untuk menyimpulkan fakta Z. Peraturan Pertama 3 dipecat untuk


menyimpulkan fakta X baru dari

diberikan fakta A. Kemudian Aturan 2 dijalankan untuk menyimpulkan fakta Y dari


fakta yang diketahui awal B

dan E, dan sudah diketahui fakta X. Dan akhirnya, Aturan 1 berlaku fakta awalnya
diketahui
D dan fakta yang baru saja didapat Y sampai pada kesimpulan Z.
Suatu sistem pakar dapat menampilkan rantai inferensi untuk menjelaskan bagaimana
caranya
kesimpulan tercapai; ini adalah bagian penting dari fasilitas penjelasannya.

Mesin inferensi harus memutuskan kapan aturan harus dipecat. Ada


dua cara utama di mana aturan dijalankan. Satu disebut forward chaining
dan rantai mundur lainnya (Waterman and Hayes-Roth, 1978).
2.6.1 Forward chaining

Contoh yang dibahas di atas menggunakan forward chaining. Sekarang pertimbangkan teknik
ini
lebih detail. Mari kita menulis ulang aturan kita terlebih dahulu dalam bentuk berikut:
Aturan 1: Y & D! Z
Aturan 2: X & B & E! Y
Aturan 3: A! X

Tanda panah di sini menunjukkan bagian IF dan THEN dari aturan. Mari kita tambahkan dua
lagi
aturan:
Aturan 4: C! L.
Aturan 5: L & M! N

Gambar 2.6 menunjukkan bagaimana forward chaining bekerja untuk sekumpulan aturan
sederhana ini.
Forward chaining adalah alasan yang didorong oleh data. Alasannya dimulai dari
data yang diketahui dan maju ke depan dengan data itu. Setiap kali hanya yang paling atas
aturan dijalankan. Saat dipecat, aturan menambahkan fakta baru dalam database. Aturan apa
pun

dapat dieksekusi hanya sekali. Siklus api pertandingan berhenti ketika tidak ada aturan lebih
lanjut yang bisa
dipecat.
Pada siklus pertama, hanya dua aturan, Aturan 3: A! X dan Aturan 4: C! L, cocokkan fakta
dalam database. Aturan 3: A! X dipecat pertama sebagai yang paling atas. JIKA bagian dari ini
aturan cocok dengan fakta A dalam database, MAKA bagiannya dieksekusi dan fakta baru X
adalah
ditambahkan ke database. Lalu Aturan 4: C! L dipecat dan fakta L juga ditempatkan di
basis data.
Dalam siklus kedua, Aturan 2: X & B & E! Y dipecat karena fakta B, E dan X adalah

sudah ada dalam database, dan sebagai konsekuensinya fakta Y disimpulkan dan dimasukkan
ke dalam
basis data. Ini pada gilirannya menyebabkan Aturan 1: Y & D! Z untuk mengeksekusi,
menempatkan fakta Z di
database (siklus 3). Sekarang siklus pertandingan-api berhenti karena bagian IF dari
Aturan 5: L&M! N tidak cocok dengan semua fakta dalam basis data dan karenanya Aturan 5
tidak bisa dipecat.

Forward chaining adalah teknik untuk mengumpulkan informasi dan kemudian menyimpulkan
dari itu apa pun bisa disimpulkan. Namun, dalam forward chaining, banyak aturan mungkin
dieksekusi yang tidak ada hubungannya dengan tujuan yang ditetapkan. Misalkan, di kita
contoh, tujuannya adalah untuk menentukan fakta Z. Kami hanya memiliki lima aturan di
basis pengetahuan dan empat dari mereka dipecat. Tapi Aturan 4: C! L, yaitu
tidak terkait dengan fakta Z, juga dipecat antara lain. Sistem pakar berbasis aturan nyata

dapat memiliki ratusan aturan, yang banyak di antaranya mungkin dipecat untuk mendapatkan
fakta baru

yang valid, tetapi sayangnya tidak terkait dengan tujuan. Karena itu, jika tujuan kita adalah
untuk
menyimpulkan hanya satu fakta tertentu, teknik inferensi rantai depan akan
tidak efisien.
Dalam situasi seperti itu, rantai mundur lebih tepat.
2.6.2 Rantai mundur
Rantai mundur adalah alasan yang digerakkan oleh tujuan. Dalam rantai mundur, sebuah
sistem pakar memiliki tujuan (solusi hipotetis) dan mesin inferensi
berupaya menemukan bukti untuk membuktikannya. Pertama, basis pengetahuan dicari
temukan aturan yang mungkin memiliki solusi yang diinginkan. Aturan semacam itu harus
memiliki tujuan
bagian THEN (action) mereka. Jika aturan seperti itu ditemukan dan bagian IF (kondisi) nya
cocok dengan data dalam database, maka aturan dipecat dan tujuannya terbukti.
Namun, ini jarang terjadi. Jadi mesin inferensi mengesampingkan aturan itu
bekerja dengan (aturan dikatakan menumpuk) dan mengatur tujuan baru, sub-tujuan, untuk
buktikan bagian IF dari aturan ini. Kemudian basis pengetahuan dicari lagi untuk aturan
itu bisa membuktikan sub-tujuan. Mesin inferensi mengulangi proses penumpukan

aturan sampai tidak ada aturan yang ditemukan di basis pengetahuan untuk membuktikan saat
ini
sub-sasaran.
Gambar 2.7 menunjukkan bagaimana backward chaining bekerja, menggunakan aturan untuk
contoh forward chaining.
Dalam Pass 1, mesin inferensi mencoba untuk menyimpulkan fakta Z. Ia mencari

basis pengetahuan untuk menemukan aturan yang memiliki tujuan, dalam kasus kami fakta Z,
dalam MAKA
bagian. Mesin inferensi menemukan dan menumpuk Aturan 1: Y & D! Z. Bagian IF dari
Aturan 1 mencakup fakta Y dan D, dan dengan demikian fakta-fakta ini harus ditetapkan.
Di Pass 2, mesin inferensi mengatur sub-sasaran, fakta Y, dan mencoba melakukannya
tentukan itu. Pertama memeriksa database, tetapi kenyataannya Y tidak ada. Lalu
basis pengetahuan dicari lagi untuk aturan dengan fakta Y di bagian MAKA. Itu
Gambar 2.7 Backward chaining
TEKNIK INFERENSI PENGANTINAN MAJU DAN BACKWARD 39
mesin inferensi mencari dan menumpuk Aturan 2: X & B & E! Y. Bagian IF dari Aturan 2
terdiri dari fakta X, B dan E, dan fakta-fakta ini juga harus ditetapkan.
Di Pass 3, mesin inferensi membuat sub-tujuan baru, fakta X. Ia memeriksa
database untuk fakta X, dan ketika itu gagal, mencari aturan yang menyimpulkan X.
Mesin inferensi menemukan dan menumpuk Aturan 3: A! X. Sekarang harus ditentukan
fakta A.
Di Pass 4, mesin inferensi menemukan fakta A di database, Aturan 3: A! X adalah
dipecat dan fakta baru X disimpulkan.
Di Pass 5, mesin inferensi kembali ke fakta sub-tujuan Y dan sekali lagi
mencoba menjalankan Aturan 2: X & B & E! Y. Fakta X, B dan E ada dalam database dan
dengan demikian Aturan 2 dipecat dan fakta baru, fakta Y, ditambahkan ke database.
Di Lulus 6, sistem kembali ke Aturan 1: Y & D! Z mencoba membangun
tujuan awal, fakta Z. Bagian IF dari Peraturan 1 cocok dengan semua fakta dalam basis data,
Aturan 1
dieksekusi dan dengan demikian tujuan asli akhirnya ditetapkan.

Sekarang mari kita bandingkan Gambar 2.6 dengan Gambar 2.7. Seperti yang Anda lihat, ada
empat aturan
dipecat ketika forward chaining digunakan, tetapi hanya tiga aturan ketika kami diterapkan
rantai mundur. Contoh sederhana ini menunjukkan bahwa backward chaining
Teknik inferensi lebih efektif ketika kita perlu menyimpulkan satu fakta tertentu,
dalam kasus kami fakta Z. Dalam forward chaining, data diketahui di awal
proses inferensi, dan pengguna tidak pernah diminta untuk memasukkan fakta tambahan. Di

rantai mundur, tujuannya diatur dan satu-satunya data yang digunakan adalah data yang
dibutuhkan
untuk mendukung jalur penalaran langsung, dan pengguna dapat diminta untuk memasukkan
fakta yang tidak ada dalam database.
Bagaimana kita memilih antara rantai maju dan mundur?

Jawabannya adalah mempelajari bagaimana pakar domain memecahkan masalah. Kalau ahli
dulu

perlu mengumpulkan beberapa informasi dan kemudian mencoba mengambil kesimpulan


darinya apa pun bisa
disimpulkan, pilih mesin inferensi rantai depan. Namun, jika ahlinya

dimulai dengan solusi hipotetis dan kemudian berusaha menemukan fakta untuk
membuktikannya,
pilih mesin inferensi rantai belakang.
Forward chaining adalah cara alami untuk merancang sistem pakar untuk analisis dan
interpretasi. Misalnya, DENDRAL, sistem pakar untuk menentukan
struktur molekul tanah yang tidak diketahui berdasarkan data spektral massanya (Feigenbaum
et al., 1971), menggunakan forward chaining. Sistem pakar chaining paling terbelakang
digunakan untuk tujuan diagnostik. Misalnya, MYCIN, sistem pakar medis
untuk mendiagnosis penyakit darah menular (Shortliffe, 1976), gunakan mundur
rantai.
Bisakah kita menggabungkan chaining maju dan mundur?
Banyak cangkang sistem pakar menggunakan kombinasi rantai maju dan mundur
teknik inferensi, sehingga insinyur pengetahuan tidak harus memilih
diantara mereka. Namun, mekanisme inferensi dasar biasanya mundur
rantai. Hanya ketika fakta baru didirikan maka forward chaining digunakan untuk itu
memaksimalkan penggunaan data baru.

2.7 PENASEHAT MEDIA: seorang ahli berbasis aturan demonstrasi


sistem

Untuk mengilustrasikan beberapa ide yang dibahas di atas, kami selanjutnya


mempertimbangkan berdasarkan aturan sederhana
sistem ahli. Cangkang sistem pakar Leonardo dipilih sebagai alat untuk

membangun sistem pendukung keputusan yang disebut MEDIA ADVISOR. Sistem


menyediakan
saran tentang pemilihan media untuk menyampaikan program pelatihan berdasarkan

pekerjaan trainee. Misalnya, jika peserta pelatihan adalah teknisi mekanik yang bertanggung
jawab
memelihara sistem hidrolik, media yang tepat mungkin bengkel,

di mana peserta dapat belajar bagaimana komponen hidrolik dasar beroperasi, bagaimana
caranya
memecahkan masalah hidrolika dan bagaimana membuat perbaikan sederhana menjadi
hidrolik
sistem. Di sisi lain, jika peserta pelatihan adalah petugas yang menilai aplikasi asuransi,
program pelatihan dapat mencakup kuliah tentang masalah-masalah spesifik dari tugas
tersebut,
serta tutorial di mana peserta pelatihan dapat mengevaluasi aplikasi nyata. Untuk

tugas-tugas kompleks, di mana peserta cenderung membuat kesalahan, sebuah program


pelatihan
harus juga menyertakan umpan balik tentang kinerja peserta pelatihan.
Dasar pengetahuan
/ * MEDIA ADVISOR: sistem pakar berbasis aturan demonstrasi
Aturan: 1
jika lingkungan adalah kertas
atau lingkungannya adalah manual
atau lingkungan adalah dokumen
atau lingkungannya adalah buku teks
maka situasi stimulus_ adalah verbal
Aturan: 2
jika lingkungan adalah gambar
atau lingkungan adalah ilustrasi
atau lingkungan adalah foto
atau lingkungannya adalah diagram
maka situasi stimulus_ adalah visual
Aturan: 3
jika lingkungan adalah mesin
atau lingkungan adalah bangunan
atau lingkungan adalah alat
maka situasi stimulus_ adalah 'objek fisik'
Aturan: 4
jika lingkungan adalah angka
atau lingkungannya adalah formula
atau lingkungannya adalah 'program komputer'
maka situasi stimulus_simbolis
PENASEHAT MEDIA: SISTEM PAKAR DEMONSTRASI BERDASARKAN 41
Aturan: 5
jika pekerjaan itu memberi kuliah
atau pekerjaan itu menasihati
atau pekerjaannya adalah konseling
maka stimulus_response adalah lisan
Aturan: 6
jika pekerjaan sedang membangun
atau pekerjaan sedang diperbaiki
atau pekerjaan itu pemecahan masalah
maka stimulus_response adalah 'langsung'
Aturan: 7
jika pekerjaan itu menulis
atau pekerjaan sedang mengetik
atau pekerjaan menggambar
kemudian stimulus_response didokumentasikan
Aturan: 8
jika pekerjaan sedang mengevaluasi
atau pekerjaan itu masuk akal
atau pekerjaan sedang menyelidiki
maka stimulus_response bersifat analitis
Aturan: 9
jika stimulus_situation adalah 'objek fisik'
dan stimulus_response adalah 'langsung'
dan umpan balik diperlukan
kemudian medium adalah bengkel
Aturan: 10
jika situasi stimulus_ simbolis
dan stimulus_response bersifat analitis
dan umpan balik diperlukan
maka mediumnya adalah 'kuliah - tutorial'
Aturan: 11
jika situasi stimulus_ adalah visual
dan stimulus_response didokumentasikan
dan umpan balik tidak diperlukan
maka medium adalah kaset video
Aturan: 12
jika situasi stimulus_ adalah visual
dan stimulus_response adalah lisan
dan umpan balik diperlukan
maka mediumnya adalah 'kuliah - tutorial'
42 SISTEM PAKAR BERDASARKAN ATURAN
Aturan: 13
jika situasi stimulus_ adalah verbal
dan stimulus_response bersifat analitis
dan umpan balik diperlukan
maka mediumnya adalah 'kuliah - tutorial'
Aturan: 14
jika situasi stimulus_ adalah verbal
dan stimulus_response adalah lisan
dan umpan balik diperlukan
maka mediumnya adalah 'latihan bermain peran'
/ * Arahan SEEK menetapkan tujuan dari aturan yang ditetapkan
mencari medium
Benda
PENASEHAT MEDIA menggunakan enam objek linguistik: lingkungan, stimulus_situation,
pekerjaan,
stimulus_response, umpan balik, dan sedang. Setiap objek dapat mengambil salah satu yang
diizinkan
nilai (misalnya, lingkungan objek dapat mengambil nilai makalah, manual,
dokumen, buku teks, gambar, ilustrasi, foto, diagram, mesin, bangunan,
alat, angka, formula, program komputer). Objek dan nilainya
merupakan fakta (misalnya, lingkungan adalah mesin, dan pekerjaan itu
memperbaiki). Semua fakta ditempatkan dalam database.
Pilihan
Tujuan akhir dari sistem pakar berbasis aturan adalah untuk menghasilkan solusi untuk
masalah berdasarkan input data. Dalam MEDIA ADVISOR, solusinya adalah media
dipilih dari daftar empat opsi:
media adalah bengkel
sedang adalah ‘kuliah - tutorial’
medium adalah kaset video
sedang adalah 'latihan bermain peran'
Dialog

Dalam dialog yang ditunjukkan di bawah ini, sistem pakar meminta pengguna untuk
memasukkan data

diperlukan untuk menyelesaikan masalah (lingkungan, pekerjaan dan umpan balik).


Berdasarkan
jawaban yang diberikan oleh pengguna (jawaban ditunjukkan oleh panah), pakar

sistem menerapkan aturan dari basis pengetahuannya untuk menyimpulkan bahwa


stimulus_situation adalah
objek fisik, dan stimulus_response langsung. Aturan 9 kemudian memilih salah satu
nilai medium yang diizinkan.
Lingkungan seperti apa yang dihadapi seorang peserta pelatihan saat bekerja?
) mesin
Aturan: 3
jika lingkungan adalah mesin
atau lingkungan adalah bangunan
atau lingkungan adalah alat
maka situasi stimulus_ adalah 'objek fisik'
Dengan cara apa peserta diharapkan untuk bertindak atau merespons pada pekerjaan?
) memperbaiki
Aturan: 6
jika pekerjaan sedang membangun
atau pekerjaan sedang diperbaiki
atau pekerjaan itu pemecahan masalah
maka stimulus_response adalah 'langsung'
Apakah umpan balik mengenai kemajuan peserta pelatihan diperlukan selama pelatihan?
) wajib diisi
Aturan: 9
jika stimulus_situation adalah 'objek fisik'
dan stimulus_response adalah 'langsung'
dan umpan balik diperlukan
kemudian medium adalah bengkel
media adalah bengkel
44 SISTEM PAKAR BERDASARKAN ATURAN
Teknik inferensi
Teknik inferensi standar dalam Leonardo adalah backward chaining
forward chaining oportunistik, yang merupakan cara paling efisien untuk menghadapinya
informasi yang tersedia. Namun, Leonardo juga memungkinkan pengguna untuk mematikan
baik rantai mundur atau maju, dan dengan demikian memungkinkan kita untuk mempelajari
setiap kesimpulan
teknik secara terpisah.

Forward chaining adalah penalaran yang didorong oleh data, jadi kita perlu menyediakan
beberapa terlebih dahulu
data. Asumsikan bahwa
lingkungan adalah mesin
'Lingkungan' dipakai oleh input pengguna ke 'mesin'
pekerjaan sedang diperbaiki
‘Pekerjaan’ dipakai oleh input pengguna untuk ‘memperbaiki’
umpan balik diperlukan
‘Umpan balik’ dipakai oleh input pengguna untuk ‘wajib’
Proses berikut akan terjadi:
Aturan: 3 menembakkan 'stimulus_situation' dipakai oleh Aturan: 3 untuk 'objek fisik'
Aturan: 6 fires 'stimulus_response' dipakai oleh Aturan: 6 sampai 'hands-on'
Aturan: 9 api ‘sedang’ dipakai oleh Aturan: 9 sampai ‘bengkel’
Tidak ada aturan api berhenti

Backward chaining adalah penalaran yang digerakkan oleh tujuan, jadi kita harus terlebih
dahulu menetapkan a
solusi hipotetis (tujuan). Misalnya, mari kita tentukan tujuan berikut:
‘Sedang’ adalah ‘bengkel’
Lulus 1
Mencoba Aturan: 9 Perlu menemukan objek 'stimulus_situation'
Aturan: 9 ditumpuk Objek 'stimulus_situation' dicari sebagai 'fisik
obyek'
Lulus 2
Mencoba Aturan: 3 Perlu menemukan objek 'lingkungan'
Aturan: 3 objek 'lingkungan' ditumpuk dicari sebagai 'mesin'
tanyakan lingkungan
) mesin 'lingkungan' dipakai oleh input pengguna untuk
'Mesin'
Mencoba Aturan: 3 'stimulus_situation' dipakai oleh Aturan: 3 sampai
‘Objek fisik’
Lulus 3
Mencoba Aturan: 9 Perlu menemukan objek ‘stimulus_response’
Aturan: 9 Objek bertumpuk 'stimulus_response' dicari sebagai 'langsung'
MEDIA: SISTEM PAKAR DEMONSTRASI BERDASARKAN ATURAN 45
Lulus 4
Mencoba Aturan: 6 Perlu menemukan objek 'pekerjaan'
Aturan: 6 objek bertumpuk 'pekerjaan' dicari sebagai 'bangunan'
minta pekerjaan
) memperbaiki ‘pekerjaan’ dipakai oleh input pengguna untuk ‘memperbaiki’
Mencoba Aturan: 6 'stimulus_response' dipakai oleh Aturan: 6 hingga
'tangan di atas'
Lulus 5
Mencoba Aturan: 9 Perlu menemukan objek 'umpan balik'
Aturan: 9 Objek bertumpuk ‘umpan balik’ dicari sesuai ‘wajib’
minta umpan balik
) diperlukan ‘umpan balik’ dipakai oleh input pengguna untuk ‘wajib’
Mencoba Aturan: 9 'sedang' dipakai oleh Aturan: 9 sampai 'lokakarya'
media adalah bengkel
Penting untuk memiliki diagram pohon yang memetakan sesi konsultasi dengan a
sistem ahli. Diagram untuk MEDIA ADVISOR ditunjukkan pada Gambar 2.8. Akar
simpul adalah tujuannya; ketika sistem dimulai, mesin inferensi berusaha
menentukan nilai sasaran.
Sasaran: sedang
Apakah MEDIA ADVISOR menangani semua situasi yang mungkin terjadi?
Ketika kita mulai menggunakan sistem pakar kita lebih sering, kita mungkin menemukan
bahwa
opsi yang disediakan tidak mencakup semua situasi yang memungkinkan. Misalnya, berikut
ini
dialog mungkin terjadi:
Lingkungan seperti apa yang dihadapi seorang peserta pelatihan saat bekerja?
) ilustrasi
Dengan cara apa peserta diharapkan untuk bertindak atau merespons pada pekerjaan?
)gambar
Apakah umpan balik mengenai kemajuan peserta pelatihan diperlukan selama pelatihan?
)wajib
Saya tidak dapat menarik kesimpulan berdasarkan data.
Dengan demikian, MEDIA ADVISOR dalam kondisi saat ini tidak dapat menangani hal ini
situasi. Untungnya, sistem pakar dapat dengan mudah diperluas untuk mengakomodasi
lebih banyak aturan hingga akhirnya melakukan apa yang diinginkan pengguna.
2.8 Resolusi konflik

Sebelumnya dalam bab ini, kami mempertimbangkan dua aturan sederhana untuk melintasi
jalan. Biarkan kami
sekarang tambahkan aturan ketiga. Kami akan mendapatkan seperangkat aturan berikut:
Aturan 1:
JIKA 'lampu lalu lintas' berwarna hijau
MAKA aksinya pergi
Aturan 2:
JIKA 'lampu lalu lintas' berwarna merah
MAKA aksinya berhenti
Aturan 3:
JIKA 'lampu lalu lintas' berwarna merah
MAKA aksinya pergi
Apa yang akan terjadi?
Mesin inferensi membandingkan IF (kondisi) bagian aturan dengan data
tersedia dalam database, dan ketika kondisi terpenuhi, aturan ditetapkan ke
api. Menembak satu aturan dapat memengaruhi aktivasi aturan lainnya, dan karenanya
mesin inferensi harus memungkinkan hanya satu aturan untuk diaktifkan sekaligus. Di jalan
kita

contoh persimpangan, kami memiliki dua aturan, Aturan 2 dan Aturan 3, dengan bagian IF
yang sama.
Dengan demikian keduanya dapat dibakar ketika bagian kondisi terpenuhi. Ini
aturan mewakili set konflik. Mesin inferensi harus menentukan aturan untuk
api dari set seperti itu. Metode untuk memilih aturan untuk diaktifkan ketika lebih dari satu
Aturan dapat dipecat dalam siklus tertentu disebut resolusi konflik.
RESOLUSI KONFLIK 47
Jika lampu lalu lintas berwarna merah, aturan mana yang harus dijalankan?
Dalam forward chaining, kedua aturan akan dipecat. Aturan 2 dipecat pertama sebagai yang
paling atas
satu, dan sebagai hasilnya, MAKA bagiannya dieksekusi dan tindakan objek linguistik
mendapatkan nilai stop. Namun, Peraturan 3 juga dipecat karena bagian dari kondisi

aturan ini cocok dengan fakta 'lampu lalu lintas' berwarna merah, yang masih ada dalam
database.
Sebagai akibatnya, aksi objek mengambil nilai baru. Contoh sederhana ini menunjukkan
bahwa aturan aturan sangat penting ketika teknik inferensi forward chaining digunakan.
Bagaimana kita bisa menyelesaikan konflik?

Strategi yang jelas untuk menyelesaikan konflik adalah menetapkan tujuan dan menghentikan
aturan
eksekusi ketika tujuan tercapai. Dalam masalah kita, misalnya, tujuannya adalah untuk
menetapkan nilai untuk tindakan objek linguistik. Ketika sistem pakar menentukan
nilai untuk tindakan, telah mencapai tujuan dan berhenti. Jadi jika lampu lalu lintas menyala
merah, Aturan 2 dijalankan, aksi objek mencapai nilai stop dan sistem pakar

berhenti. Dalam contoh yang diberikan, sistem pakar membuat keputusan yang tepat; namun
jika
kami mengatur aturan dalam urutan terbalik, kesimpulannya akan salah. Saya t
berarti bahwa aturan aturan dalam basis pengetahuan masih sangat penting.
Apakah ada metode penyelesaian konflik lainnya?
Beberapa metode sedang digunakan (Giarratano dan Riley, 1998; Shirai dan Tsuji, 1982):
. Tembak aturan dengan prioritas tertinggi. Dalam aplikasi sederhana, prioritas bisa
didirikan dengan menempatkan aturan dalam urutan yang sesuai dalam pengetahuan
mendasarkan. Biasanya strategi ini bekerja dengan baik untuk sistem pakar dengan sekitar 100
aturan. Namun, dalam beberapa aplikasi, data harus diproses sesuai urutan
pentingnya. Misalnya, dalam sistem konsultasi medis (Durkin, 1994),
prioritas berikut diperkenalkan:
Sasaran 1. Resepnya adalah? Resep
ATURAN 1 Resep Meningitis1
(Prioritas 100)
JIKA Infeksi adalah Meningitis
DAN Pasien adalah Anak-Anak
LALU Resep adalah Number_1
DAN Rekomendasi Obat adalah Ampisilin
DAN Rekomendasi Obat adalah Gentamicin
DAN Menampilkan Resep Meningitis1
ATURAN 2 Resep Meningitis2
(Prioritas 90)
JIKA Infeksi adalah Meningitis
DAN Pasien itu Dewasa
LALU Resep adalah Number_2
DAN Rekomendasi Obat adalah Penisilin
DAN Menampilkan Resep Meningitis2

Menembak aturan yang paling spesifik. Metode ini juga dikenal sebagai yang terpanjang
strategi pencocokan. Hal ini didasarkan pada asumsi bahwa suatu proses aturan tertentu
lebih banyak informasi daripada yang umum. Sebagai contoh,
Aturan 1:
JIKA musimnya musim gugur
DAN langit mendung
DAN ramalannya adalah hujan
MAKA sarannya adalah 'tinggal di rumah'
Aturan 2:
JIKA musimnya musim gugur
MAKA sarannya adalah 'bawa payung'
Jika musim gugur, langit mendung dan ramalan hujan, maka Peraturan 1
akan dipecat karena pendahulunya, bagian yang cocok, lebih spesifik daripada

bahwa dari Aturan 2. Tetapi jika diketahui hanya bahwa musimnya adalah musim gugur, maka
Aturan 2
akan dieksekusi.
. Menjalankan aturan yang menggunakan data yang paling baru dimasukkan dalam database.
Ini

Metode ini bergantung pada tanda waktu yang dilampirkan pada setiap fakta dalam database.
Dalam konflik

set, sistem pakar pertama-tama menembakkan aturan yang pendahulunya paling banyak
menggunakan data
baru ditambahkan ke database. Sebagai contoh,
Aturan 1:
JIKA ramalan hujan [08:16 PM 11/25/96]
MAKA sarannya adalah 'bawa payung'
Aturan 2:
JIKA cuacanya basah [10:18 AM 11/26/96]
MAKA sarannya adalah 'tinggal di rumah'
Asumsikan bahwa bagian IF dari kedua aturan cocok dengan fakta dalam database. Di dalam
kasus, Aturan 2 akan dipecat karena cuaca basah dimasukkan setelah
ramalan fakta adalah hujan. Teknik ini sangat berguna bagi ahli real-time
aplikasi sistem ketika informasi dalam database terus diperbarui.
Metode resolusi konflik yang dipertimbangkan di atas sederhana dan mudah

diimplementasikan. Dalam kebanyakan kasus, metode ini memberikan solusi yang


memuaskan.
Namun, ketika sebuah program tumbuh lebih besar dan lebih kompleks, itu menjadi semakin
sulit bagi insinyur pengetahuan untuk mengelola dan mengawasi aturan di
dasar pengetahuan. Sistem pakar itu sendiri harus menanggung setidaknya beberapa beban
dan memahami perilakunya sendiri.
Untuk meningkatkan kinerja sistem pakar, kami harus menyediakan
sistem dengan pengetahuan tentang pengetahuan yang dimilikinya, atau yang lain
kata-kata, pengetahuan dasar.

Metaknowledge dapat secara sederhana didefinisikan sebagai pengetahuan tentang


pengetahuan.
Metaknowledge adalah pengetahuan tentang penggunaan dan kontrol pengetahuan domain
dalam sistem pakar (Waterman, 1986). Dalam sistem pakar berbasis aturan, pengetahuan dasar
diwakili oleh metarules. Sebuah metarule menentukan strategi untuk
penggunaan aturan khusus tugas dalam sistem pakar.
RESOLUSI KONFLIK 49
Apa asal mula pengetahuan dasar?
Insinyur pengetahuan mentransfer pengetahuan pakar domain ke

sistem pakar, mempelajari bagaimana aturan khusus masalah digunakan, dan secara bertahap
menciptakan
dalam benaknya sendiri tubuh pengetahuan baru, pengetahuan tentang keseluruhan
perilaku sistem pakar. Pengetahuan baru ini, atau ilmu pengetahuan, adalah
sebagian besar domain-independen. Sebagai contoh,
Metarule 1:

Aturan yang diberikan oleh para ahli memiliki prioritas lebih tinggi daripada aturan yang
disediakan oleh
novis.
Metarule 2:

Aturan yang mengatur penyelamatan nyawa manusia memiliki prioritas lebih tinggi daripada
aturan
berkaitan dengan membersihkan kelebihan beban pada peralatan sistem tenaga.
Bisakah sistem pakar memahami dan menggunakan metarula?
Beberapa sistem pakar menyediakan mesin inferensi terpisah untuk metarula. Namun,
kebanyakan sistem pakar tidak dapat membedakan antara aturan dan metarula. Demikian
metarula harus diberikan prioritas tertinggi dalam basis pengetahuan yang ada.

Ketika dipecat, sebuah metarule 'menyuntikkan' beberapa informasi penting ke dalam basis
data
yang dapat mengubah prioritas beberapa aturan lainnya.
2.9 Keuntungan dan kerugian ahli berbasis aturan
sistem
Sistem pakar berbasis aturan umumnya diterima sebagai pilihan terbaik untuk membangun
sistem berbasis pengetahuan.
Fitur mana yang membuat sistem pakar berbasis aturan menjadi sangat menarik
insinyur pengetahuan?
Di antara fitur-fitur ini adalah:
. Representasi pengetahuan alam. Seorang ahli biasanya menjelaskan pemecahan masalah
prosedur dengan ekspresi seperti ini: ‘Dalam situasi ini-dan-itu,

Saya melakukannya-dan-begitu '. Ungkapan-ungkapan ini dapat direpresentasikan secara alami


sebagai
JIKA-KEMUDIAN aturan produksi.
. Struktur seragam. Aturan produksi memiliki struktur IF-THEN yang seragam.
Setiap aturan adalah bagian pengetahuan yang independen. Sintaks produksi yang sangat
aturan memungkinkan mereka untuk didokumentasikan sendiri.
. Pemisahan pengetahuan dari prosesnya. Struktur berbasis aturan
sistem pakar memberikan pemisahan yang efektif dari basis pengetahuan dari
mesin inferensi. Ini memungkinkan untuk mengembangkan aplikasi yang berbeda
menggunakan shell sistem pakar yang sama. Itu juga memungkinkan yang anggun dan mudah
perluasan sistem pakar. Untuk membuat sistem lebih pintar, sebuah pengetahuan
Insinyur hanya menambahkan beberapa aturan ke basis pengetahuan tanpa campur tangan
dalam struktur kontrol.

Berurusan dengan pengetahuan yang tidak lengkap dan tidak pasti. Kebanyakan pakar berbasis
aturan
sistem mampu mewakili dan bernalar dengan tidak lengkap dan
pengetahuan yang tidak pasti. Misalnya aturannya
JIKA musim gugur
DAN langit ‘berawan’
DAN angin rendah
LALU perkiraan jelas {cf 0,1};
ramalan adalah gerimis {cf 1.0};
perkiraan adalah hujan {cf 0.9}
dapat digunakan untuk mengekspresikan ketidakpastian dari pernyataan berikut, ‘Jika
musim sedang musim gugur dan sepertinya gerimis, maka mungkin akan hujan lagi
hari ke hari'.
Aturan mewakili ketidakpastian dengan angka yang disebut faktor kepastian
fcf 0,1g. Sistem pakar menggunakan faktor kepastian untuk menetapkan derajat
keyakinan atau tingkat kepercayaan bahwa kesimpulan aturan itu benar. Topik ini akan
dipertimbangkan secara rinci dalam Bab 3.
Semua fitur sistem pakar berbasis aturan ini membuatnya sangat diinginkan
untuk representasi pengetahuan dalam masalah dunia nyata.
Apakah sistem pakar berbasis aturan bebas masalah?
Ada tiga kekurangan utama:
. Hubungan buram antar aturan. Meskipun aturan produksi individu
cenderung relatif sederhana dan didokumentasikan sendiri, interaksi logis mereka
dalam seperangkat aturan besar mungkin buram. Sistem berbasis aturan membuatnya
sulit untuk mengamati bagaimana aturan individu melayani strategi keseluruhan. Ini
masalah ini terkait dengan kurangnya representasi pengetahuan hirarkis di
sistem pakar berbasis aturan.
. Strategi pencarian tidak efektif. Mesin inferensi berlaku lengkap
cari semua aturan produksi selama setiap siklus. Sistem pakar
dengan seperangkat aturan besar (lebih dari 100 aturan) bisa lambat, dan karenanya berbasis
aturan besar
sistem bisa tidak cocok untuk aplikasi waktu nyata.
. Ketidakmampuan untuk belajar. Secara umum, sistem pakar berbasis aturan tidak memiliki
kemampuan belajar dari pengalaman. Berbeda dengan pakar manusia, siapa tahu
kapan harus 'melanggar aturan', sistem pakar tidak dapat secara otomatis memodifikasinya

basis pengetahuan, atau menyesuaikan aturan yang ada atau menambah yang baru.
Pengetahuan
Insinyur masih bertanggung jawab untuk merevisi dan memelihara sistem.
2.10 Ringkasan
Dalam bab ini, kami menyajikan ikhtisar sistem pakar berbasis aturan. Kita

mendiskusikan secara singkat pengetahuan apa itu, dan bagaimana para ahli mengekspresikan
pengetahuan mereka
bentuk aturan produksi. Kami mengidentifikasi pemain utama dalam pakar
tim pengembangan sistem dan menunjukkan struktur sistem berbasis aturan. Kita
membahas karakteristik dasar sistem pakar dan mencatat pakar itu
sistem dapat membuat kesalahan. Kemudian kami meninjau maju dan mundur
perangkaian teknik inferensi dan strategi penyelesaian konflik yang diperdebatkan. Akhirnya,
keuntungan dan kerugian dari sistem pakar berbasis aturan diperiksa.
Pelajaran terpenting yang dipelajari dalam bab ini adalah:
. Pengetahuan adalah pemahaman teoretis atau praktis tentang suatu subjek. Pengetahuan
adalah jumlah dari apa yang saat ini diketahui.
. Pakar adalah orang yang memiliki pengetahuan mendalam dalam bentuk fakta dan aturan
dan pengalaman praktis yang kuat dalam domain tertentu. Seorang ahli bisa melakukannya
hal-hal yang orang lain tidak bisa.
. Para ahli biasanya bisa mengekspresikan ilmunya dalam bentuk produksi
aturan.
. Aturan produksi direpresentasikan sebagai IF (anteseden) LALU (konsekuen)
pernyataan. Aturan produksi adalah jenis pengetahuan yang paling populer
perwakilan. Aturan dapat mengungkapkan hubungan, rekomendasi, arahan,
strategi dan heuristik.
. Program komputer yang mampu melakukan pada tingkat manusia-ahli dalam a
area domain masalah sempit disebut sistem pakar. Yang paling populer
sistem pakar adalah sistem pakar berbasis aturan.
. Dalam mengembangkan sistem pakar berbasis aturan, cangkang menjadi sangat khusus
umum. Shell sistem pakar adalah sistem pakar kerangka dengan
pengetahuan dihapus. Untuk membangun aplikasi sistem pakar baru, semua pengguna

Yang harus dilakukan adalah menambah pengetahuan dalam bentuk aturan dan memberikan
yang relevan
data. Kerang sistem pakar menawarkan pengurangan dramatis dalam waktu pengembangan
sistem pakar.
. Tim pengembangan sistem pakar harus menyertakan pakar domain, the
insinyur pengetahuan, programmer, manajer proyek dan pengguna akhir.

Insinyur pengetahuan mendesain, membangun dan menguji sistem pakar. Laki-laki atau
perempuan
menangkap pengetahuan dari pakar domain, menetapkan alasan
metode dan memilih perangkat lunak pengembangan. Untuk sistem pakar kecil
berdasarkan cangkang sistem pakar, manajer proyek, insinyur pengetahuan,
Programmer dan bahkan pakar bisa menjadi orang yang sama.
. Sistem pakar berbasis aturan memiliki lima komponen dasar: basis pengetahuan,
database, mesin inferensi, fasilitas penjelasan dan pengguna
antarmuka. Basis pengetahuan berisi pengetahuan domain yang direpresentasikan sebagai

seperangkat aturan. Basis data mencakup serangkaian fakta yang digunakan untuk
mencocokkan dengan IF
bagian dari aturan. Mesin inferensi mengaitkan aturan dengan fakta dan bawaan
keluar alasan di mana sistem pakar mencapai solusi. Itu
fasilitas penjelasan memungkinkan pengguna untuk menanyakan sistem pakar tentang caranya
kesimpulan tertentu dicapai dan mengapa fakta khusus diperlukan. Pengguna
antarmuka adalah alat komunikasi antara pengguna dan seorang ahli
sistem.

Sistem pakar memisahkan pengetahuan dari prosesnya dengan memisahkan


basis pengetahuan dan mesin inferensi. Ini membuat tugas membangun dan
memelihara sistem pakar jauh lebih mudah. Ketika shell sistem pakar

digunakan, seorang insinyur pengetahuan atau seorang ahli cukup memasukkan aturan dalam
pengetahuan

mendasarkan. Setiap aturan baru menambahkan beberapa pengetahuan baru dan membuat
sistem pakar
lebih pintar.
. Sistem pakar memberikan kemampuan penjelasan terbatas dengan menelusuri aturan
dipecat saat sesi pemecahan masalah.
. Tidak seperti program konvensional, sistem pakar dapat menangani dan tidak lengkap
data yang tidak pasti dan izin penalaran yang tidak tepat. Namun, seperti manusia mereka
rekan, sistem pakar dapat membuat kesalahan ketika informasi tidak lengkap
atau kabur.
. Ada dua metode utama untuk mengarahkan pencarian dan penalaran: maju
teknik inferensi chaining dan backward chaining. Forward chaining adalah
alasan berbasis data; itu dimulai dari data yang diketahui dan berlanjut ke depan

sampai tidak ada aturan lebih lanjut yang bisa dipecat. Rantai mundur adalah alasan yang
digerakkan oleh tujuan;
sistem pakar memiliki solusi hipotetis (tujuan), dan kesimpulan
mesin berusaha menemukan bukti untuk membuktikannya.
. Jika lebih dari satu aturan dapat ditembakkan dalam siklus tertentu, mesin inferensi
harus memutuskan aturan mana yang akan dipecat. Metode untuk memutuskan disebut konflik
resolusi.
. Sistem pakar berbasis aturan memiliki keunggulan representasi pengetahuan alam,
struktur yang seragam, pemisahan pengetahuan dari prosesnya, dan
mengatasi pengetahuan yang tidak lengkap dan tidak pasti.
. Sistem pakar berbasis aturan juga memiliki kelemahan, terutama hubungan yang tidak jelas
antara aturan, strategi pencarian yang tidak efektif, dan ketidakmampuan untuk belajar.

Anda mungkin juga menyukai