SISTEM PRODUKSI (PRODUCTION SYSTEM) -Muhlis Tahir-
Sistem yang menggunakan aturan-aturan untuk merepresentasikan pengetahuan dinamakan productions system. Production system, ada 3 bagian :
• Rule base / knowledge base, berisi pola sisi kiri yang
menentukan pemakaian aturan tertentu, dan sisi kanan yang menggambarkan tindakan yang harus dilakukan jika aturan tertentu tersebut digunakan. • Data base / global database / working memory, berisi informasi tentang pengetahuan khusus atau perluasannya. • Rule interpreter / inference system / inference engine, berisi metodologi yg digunakan utk melakukan penalaran thd informasi-informasi dlm rule base.
Sistem
produksi memiliki struktur seperti struktur proses pencarian (search). Secara umum, sistem produksi terdiri dari komponen-komponen: 1. Ruang Keadaan. 2. Memori Aktif. 3. Strategi Kontrol.
Ruang
Keadaan berisi keadaan awal, tujuan dan kumpulan aturan yang digunakan untuk mencapai tujuan. Memori Aktif berisi deskripsi keadaan semesta pembicaraan saat ini dalam proses penalaran. Strategi Kontrol berguna untuk mengarahkan bagaimana proses pencarian akan berlangsung dan mengendalikan arah eksplorasi.
Dpl, Sistem
Produksi menyediakan pengendalian berdasar pola dari proses pemecahan problema dan terdiri dari sekumpulan aturan produksi, memori aktif, dan kontrol mekanisme inferensi
Representasi pengetahuan dengan sistem produksi dinamakan kaidah/aturan produksi (production method) sering disebut produksi saja. Merupakan seperangkat aturan yang masingmasing berisi pola sisi kiri (bagian kondisi/anteseden/premis) yang menentukan pemakaian aturan tertentu, dan sisi kanan (bagian tindakan/konsekuen/konklusi) yang menggambarkan tindakan yang harus dilakukan jika aturan tertentu tersebut digunakan.
1. 2. 3.
4.
Pada bagian kondisi (kiri) merupakan pernyataan dengan awalan if, sedangkan bagian tindakan (kanan) merupakan pernyataan dengan awalan then. Contoh kaidah tipikal : If harga stok turun di bawah Rp 1 juta, then beli 100 saham. If suhu lebih dari 30 °C, then hidupkan alat pendingin. If berada di bawah garis belakang lawan and bola berada di garis 30 meter dari gawang, then bikinlah ruang untuk mencetak gol. If pelamar itu wanita berusia tidak lebih dari 25 tahun or pelamar itu lulusan perguruan tinggi komputer, then bisa diterima sebagai karyawan.
Merupakan
satu atau lebih basis data (database) yang berisi informasi tentang tugas-tugas khusus. Beberapa bagian basis data mungkin bersifat permanen, sedangkan yang lain hanya berisi solusi problema yang sedang dihadapi saat ini. Informasi yang terdapat di dalam basis data tersebut mungkin terstruktur dengan cara tertentu.
Suatu strategi pengendalian (controlling strategy) yang menentukan urutan pembandingan suatu aturan dengan basis data dan cara menyelesaikan suatu konflik yang muncul bila beberapa aturan saling bertumbukan pada saat yang bersamaan. Proses berakhir bila tak ada kondisi aturan yang cocok dengan isi memori aktif
Keadaan Awal
Keadaan Akhir (Tujuan)
2
8
3
1
1
6
4
8
5
7
7
2
3 4
6
5
Himpunan kaidah produksi
Kondisi keadaan tujuan dlm memori aktif blank tidak berada di tepi atas
blank tidak berada di tepi bawah blank tidak berada di tepi kanan blank tidak berada di tepi kiri
Tindakan → → → → →
diam saja gerakan blank ke atas
gerakan blank ke bawah gerakan blank ke kanan gerakan blank ke kiri
Memori
aktif adalah keadaan papan saat ini dan keadaan tujuan. Pengendalian: • Mencoba setiap produksi secara urut. • Loop tidak diperkenankan. • Hentikan bila tujuan telah ditemukan.
Apabila
pengetahuan direpresentasikan dengan aturan, maka ada 2 metode yang dapat digunakan: 1. Penalaran Maju (Forward Reasoning) 2. Penalaran Mundur (Backward Reasoning)
Pada
penalaran maju, pelacakan dimulai dari keadaan awal (informasi atau fakta yang ada) dan kemudian dicoba untuk mencocokan dengan tujuan yang diharapkan. Pada penalaran mundur, pelacakan dimulai dari tujuan atau hipotesa, baru dicocokkan dengan keadaan awal atau fakta-fakta yang ada.
Faktor
yang mempengaruhi pemilihan backward atau forward dalam memilih metode penalaran: A. Banyaknya keadaan awal dan tujuan. Jika jml keadaan awal lebih kecil daripada tujuan, maka digunakan penalaran forward. Jika sebaliknya, maka digunakan penalaran backward.
B.
Jumlah simpul yang dapat diraih secara langsung. Labih baik dipilih yang jumlah simpul tiap cabangnya lebih sedikit.
C.
Apakah program butuh menanyai pengguna untuk melakukan justifikasi terhadap proses penalaran? Jika ya, maka alangkah baiknya dipilih arah yang lebih memudahkan pengguna.
D.
Bentuk kejadian yang akan memicu penyelesaian masalah. Jika kejadian itu berupa fakta baru, maka lebih baik dipilih penalaran forward. Namun, jika kejadian itu berupa query, maka lebih baik digunakan penalaran backward.
Production
rule: if_then_ rule. if A then B A: condition part, Left Hand Side (LHS) B: action part, Right Hand Side (RHS) Istilah fire digunakan jika condition part dipenuhi yang berarti action part dilaksanakan / terjadi. Di dalam logika, istilah fire adalah kalimat bernilai benar (true).
Ada
5 jenis minuman : bir, anggur beralkohol, jus anggur, air mineral , dan lemonade.
Rule base : R1 : if untuk anak-anak then non alkohol R2 : if untuk pengemudi then non alkohol R3 : if non alkohol then melegakan rasa haus R4 : if ideal jika panas then melegakan rasa haus R5 : if melegakan rasa haus and hanya untuk dewasa then bir R6 : if terbuat dari anggur and hanya untuk dewasa then anggur beralkohol R7 : if terbuat dari anggur dan rasa buah and non alkohol then jus anggur R8 : if melegakan rasa haus and tidak berasa buah and bersoda then air mineral R9 : if melegakan rasa haus and rasa buah and bersoda then lemonade
Untuk menyingkat penyajian dapat digunakan notasi, misalnya:
Untuk anak-anak : A Non alkohol : B Untuk pengemudi : C Melegakan rasa haus: D Ideal jika panas : E
Hanya untuk dewasa: G Bir : H Terbuat dari anggur: I Anggur beralkohol : J Rasa buah : K Jus anggur : L Bersoda : M Air Mineral : N Lemonade : O
Sehingga
R1 : R2 : R3 : R4 : R5 : R6 : R7 : R8 : R9 :
rule base nya menjadi:
A B C B B D E D D&G H I&G J I&K&B L D & not K & M N D&K&M O
Untuk mengetahui cara kerja sistem produksi, kita gunakan tahap-tahap sebagai berikut:
• •
•
•
Cari semua aturan yang bagian kondisinya (LHS) nya benar. Aktifkan aturan-aturan tadi yang akan mengakibatkan bagian aksi (RHS) menghasilkan simbol yang sudah disimpan di database. Pilih aturan yang membuat fire, jika lebih dari satu, maka pilih yang mempunyai rule rendah. Jika tidak ada keluar dari situ. Buat semua aturan non aktif dan kembali ke syarat satu untuk melakukan sikel ke-2.
Misalnya : database (A,M,K) • Mulai, sikel I. Pada tahap I
Aturan 1 (R1) digunakan, R1 fire, B terjadi. Database menjadi (B,A,M,K) R1 non aktif. • Sikel II: Aturan 3 (R3) digunakan, R3 fire, D terjadi.
Database menjadi (B,A,M,K) R3 non aktif. • Sikel III: Aturan 9 (R9) digunakan, R9 fire, O terjadi. Database menjadi (O,D,B,A,M,K) R9 non aktif.
Jadi menghasilkan O = lemonade.
Jika terdapat lebih dari satu aturan (rule) yang cocok dengan fakta, maka diperlukan pemilihan aturan mana yang didahulukan / diterapkan. Untuk maksud ini digunakan beberapa patokan: • Pada waktu membuat aturan (rule base), supaya disusun menurut aturan prioritas. • Untuk menentukan prioritas tidak ada patokan yang baku, tergantung dari pakar • •
• •
pembuat aturan. Ini disebut dengan rule order. Simbol/lambang/elemen yang disimpan di basis datanya terurut. Urutan simbol/lambang/elemen disesuaikan dengan urutan/prioritas dari rule basenya. Sehingga pada saat dilakukan pemindaian (scanning), simbol/lambang/elemen yang menyebabkan aturan dengan prioritas tertinggi yang dipilih (fire). Ini disebut data order. Jika lebih dari satu yang memenuhi, maka aturan yang lebih spesifik yang diambil. Ini dinamakan generating order (specify). Dipilih aturan yang mengakibatkan penambahan pada basis datanya
Misalkan pakar membuat rule order sebagai berikut: R1 : A B R2 : B C R3 : E D R4 : E & C K Maka urutan prioritasnya dari yang tertinggi sampai terendah adalah R1, R2, R3, dan R4. Dengan demikian, untuk database (B,E,C) langkah yang dilakukan
• R1 tidak dipilih, karena LHS salah (tidak ada dalam database) • R2 tidak dipilih, karena tidak mengakibatkan penambahan
database. • R3 dipilih (fire), karena terjadi penambahan database. • R4 tidak dipilih, karena prioritasnya lebih rendah dari R3. Sehingga menghasilkan (D,B,E,C).