Kecerdasan buatan Nelly Indriani Widiastuti S.Si.,M.T. TEKNIK INFERENSI Definition Inferensi adalah Proses yang digunakan dalam Sistem Pakar untuk menghasilkan informasi baru dari informasi yang telah diketahui ENVIRONMENT Input_1 Input_n EXPERT SYSTEM Knowledge Base Inference Engine ENVIRONMENT Output_a Output_z Objectives Inference engine merupakan modul yang berisi program tentang bagaimana mengendalikan proses reasoning. Premis1 Premis2 Premisn Conclusions REASONING Definisi : Proses bekerja dengan pengetahuan, fakta dan strategi pemecahan masalah, untuk mengambil suatu kesimpulan. (Berpikir dan mengambil kesimpulan) Metode Reasoning Deductive Reasoning Inductive Reasoning Abductive Reasoning Analogical Reasoning Common Sense Reasoning Deductive Reasoning Reasoning deduktif untuk mendeduksi informasi baru dari hubungan logika pada informasi yang telah diketahui. Contoh: Implikasi : Saya akan basah kuyup jika berdiri ditengah-tengah hujan deras (AB) Aksioma : Saya berdiri ditengah-tengah hujan deras (A) Konklusi : Saya akan basah kuyup (B) IF A is True AND IF A IMPLIES B is True, Then B is True Inductive Reasoning Reasoning induktif untuk mengambil kesimpulan umum dari sejumlah fakta khusus tertentu. Contoh: Premis : Monyet di Kebun Binatang Ragunan makan pisang Premis : Monyet di Kebun Raya Bogor makan pisang Konklusi : Semua monyet makan pisang Abductive Reasoning Merupakan bentuk dari proses deduksi yang mengijinkan inferensi plausible. Plausible berarti bahwa konklusi mungkin bisa mengikuti informasi yang tersedia, tetapi juga bisa salah. Contoh: Implikasi : Tanah menjadi basah jika terjadi hujan (AB) Aksioma : Tanah menjadi basah (B) Konklusi : Apakah terjadi hujan? (A?) IF B is True AND A implies B is true, Then A is True? Analogical Reasoning Analogi untuk membantu memahami situasi baru atau objek baru. Menggambar analogi antara 2 objek/situasi, kemudian melihat persamaan dan perbedaan untuk memandu proses reasoning. Contoh : Andi telah bekerja dengan baik Andi mendapat kenaikan jabatan Budi telah bekerja dengan baik Oleh Sebab itu, Budi mendapat kenaikan jabatan Common Sense Reasoning Melalui common sense (pengalaman), manusia belajar untuk memecahkan masalahnya secara efisien. Dalam sistem pakar, dapat dikategorikan sebagai Heuristic. Tentukan jenis reasoning berikut Soal 1 : Major premise : I don’t jog when temperature exceeds 90 degrees Minor premise : Today the temperature is 93(F) Conclusion : Therefore, I will not jog today Soal 2 : P1 : Jika dipanaskan, besi memuai. P2 : Jika dipanaskan, tembaga memuai. P3 : Jika dipanaskan, emas memuai. P4 : Jika dipanaskan, platina memuai K : jika dipanaskan, logam memuai. Soal 3 : Premis mayor Premis minor Kesimpulan : A akan diam jika marah : Saat ini A marah : A akan diam Soal 4 : Buat contoh analogical reasoning Soal 5 : a. My : Penyakit yang disebabkan oleh virus sulit diobati. Mn : Deman berdarah disebabkan oleh virus. K : b. My : Semua petani yang baik adalah petani yang menggarap sawahnya setiap tahun. Mn : Paijo menggarap tanah pertaniannya setiap tahun. K : Reasoning dengan Logika Modus Ponen Definisi: Rule dari logika yang menyatakan bahwa jika A adalah benar dan A implies B adalah juga benar, maka dapat diasumsikan bahwa B benar. Contoh: A = Udara Cerah B = Kita akan pergi ke pantai A→B = Jika udara cerah, maka kita pergi ke pantai kesimpulan berdasarkan Modus Ponen bahwa, “Kita akan pergi ke Pantai” Resolusi Definisi: Strategi inferensi yang digunakan pada sistem logika untuk menentukan kebenaran dari suatu assertion (penegasan) Metoda Resolusi mencoba untuk membuktikan bahwa beberapa teorema atau ekspresi sebagai proposisi P adalah TRUE, dengan memberikan sejumlah aksioma dari masalah tersebut. Proof by Refutation, suatu teknik yang ingin membuktikan bahwa ⌐P tidak dapat menjadi TRUE. Resolvent : ekspresi baru yang muncul dari metode resolusi yang merupakan gabungan (union) dari aksioma yang ada dengan teorema negasi. Misalnya: Ada aksioma: (A→B) Λ (B→C) Λ ¬ (A→C) Resolvent tersebut kemudian ditambahkan pada list dari aksioma dan akan menghasilkan resolvent baru. Proses ini berulang sampai menghasilkan kontradiksi. Mengubah suatu kalimat (konversi) ke bentuk CNF (Conjunctive Normal Form) Hilangkan implikasi dan ekuivalensi • x y menjadi ¬ x ∨ y • x ↔ y menjadi (¬ x ∨ y) ∧ (¬ y ∨ x) Kurangi lingkup semua negasi menjadi satu negasi saja • ¬ (¬ x) menjadi x • ¬ (x ∨ y) menjadi (¬ x ∧ ¬ y) • ¬ (x ∧ y) menjadi (¬ x ∨ ¬ y) Gunakan aturan assosiatif dan distributif untuk mengkonversi menjadi conjuction of disjunction • Assosiatif : (A∨ B)∨ C menjadi A∨ (B∨ C) • Distributif : (A ∧ B)∨ C menjadi (A∨ C) ∧ (B ∨ C) Buat satu kalimat terpisah untuk tiap-tiap konjungsi Ekspresi to CNF (A→B) Λ (B→C) Λ ¬ (A→C) ≡ (¬A v B) Λ (¬B v C) Λ ¬(¬A V C) ≡ (¬A v B) Λ (¬B v C) Λ (¬ ¬A Λ¬C) ≡ (¬A v B) Λ (¬B v C) Λ (A Λ ¬C) ≡ (¬A v B) Λ (¬B v C) Λ A Λ ¬C Jadi bentuk CNF yang diperoleh adalah: (¬A v B) Λ (¬B v C) Λ A Λ ¬C A→B De Morgan’s Law Law of Double Negation Asosiatif Inverted Tree resolved (¬AVB) ^ (¬BVC) A (¬AVC) C T Resolvent clause ¬C ┴ adalah Falsum , yakni konstanta proposisional yang selalu bernilai salah. Artinya jika nilai kebenaran dari premis-premis dan negasi kesimpulan-kesimpulan bernilai Salah (falsum), maka argumen pasti valid. Nonresolusi Pada resolusi, tidak ada pembedaan antara goals (tujuan), premises maupun rules. Semua dianggap sebagai aksioma dan diproses dengan rule resolusi untuk inferensi. Cara tersebut dapat menyebabkan kebingungan karena menjadi tidak jelas apa yang ingin dibuktikan Teknik Nonresolusi atau natural-deduction mencoba mengatasi hal tersebut dengan menyediakan beberapa statement sebagai goal-nya Untuk membuktikan [H Λ (A → B) → C]: If (B → C), then membuktikan (H → A) contoh kasus : Akan dibuktikan apakah Jack suka tim sepakbola Arema-Malang. Asumsinya adalah bahwa semua orang yang tinggal di Malang menyukai Arema. Karenanya, jika diketahui bahwa Jack tinggal di Malang, maka bisa membuktikan tujuan kita. Kasus tadi dapat direpresentasi menjadi: Antecedents: [Lives-Malang(Jack) Λ (Lives-Malang(X) → Likes-Arema(X)) Goals: → Likes-Arema(Jack)]: Pada contoh tersebut, dapat dibuktikan goal-nya jika (Lives-Malang(X) → Likes-Arema(X)), dan (Lives-Malang(Jack)) adalah BENAR. Beberapa hukum dalam Inferensi dengan Logika Beberapa hukum dalam Inferensi dengan Logika INFERENCING DENGAN RULES: FORWARD dan BACKWARD CHAINING Inferensi dengan rules merupakan implementasi dari modus ponen, yang direfleksikan dalam mekanisme search (pencarian). Firing a rule: Bilamana semua hipotesis pada rules (bagian “IF”) memberikan pernyataan BENAR Dapat mengecek semua rule pada knowledge base dalam arah forward maupun backward Proses pencarian berlanjut sampai tidak ada rule yang dapat digunakan (fire), atau sampai sebuah tujuan (goal)tercapai. Ada dua metode inferencing dengan rules, yaitu Forward Chaining atau Data-Driven dan Backward Chaining atau Goal-Driven. BACKWARD CHAINING Pendekatan goal-driven, Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining. HIPOTESIS SEBAB BACKWARD CHAINING Inductive Mundur /ke belakang, dari goal (noda tujuan) bergerak ke keadaan awal Diagnosa Disebabkan oleh apa ? Apa yang menjadi penyebab ? FORWARD CHAINING Multipel inferensi Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi Forward Chaining adalah data driven karena inferensi dimulai dengan informasi yg tersedia dan baru konklusi diperoleh INFORMASI KONKLUSI Forward-Chaining Deductive Maju / ke depan, dari keadaan awal menuju ke tujuan (goal) Apa akibatnya ? Mengakibatkan apa ? Backward atau Forward ? Contoh 1. Anda ingin terbang dari Denver ke Tokyo dan tidak ada penerbangan langsung antara kedua kota tersebut. Jadi, anda harus menemukan connecting flight dari Denver yang berakhir di Tokyo. Contoh 2 Mobil anda mogok dan anda ingin mencari tahu mengapa mobil tersebut mogok ? Motor Inferensi No. 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)? 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 Motor Inferensi • 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 Motor Inferensi • FORWARD CHAINING: Fakta R-4 A R-3 E Fakta R-9 G R-5 F J D R-6 H R-10 K Motor Inferensi • 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 Contoh Kasus Sistem Pakar: Penasihat Keuangan Kasus : Seorang user ingin berkonsultasi apakah tepat jika dia berinvestasi pada stock IBM? Variabel-variabel yang digunakan: A = memiliki uang $10.000 untuk investasi B = berusia < 30 tahun C = tingkat pendidikan pada level college D = pendapatan minimum pertahun $40.000 E = investasi pada bidang Sekuritas (Asuransi) F = investasi pada saham pertumbuhan (growth stock) G = investasi pada saham IBM Setiap variabel dapat bernilai TRUE atau FALSE FAKTA YANG ADA: Diasumsikan si user (investor) memiliki data: Memiliki uang $10.000 (A TRUE) Berusia 25 tahun (B TRUE) Dia ingin meminta nasihat apakah tepat jika berinvestasi pada IBM stock? RULES R1 : IF seseorang memiliki uang $10.000 untuk berinvestasi AND dia berpendidikan pada level college THEN dia harus berinvestasi pada bidang sekuritas R2 : IF seseorang memiliki pendapatan pertahun min $40.000 AND dia berpendidikan pada level college THEN dia harus berinvestasi pada saham pertumbuhan (growth stocks) Rules : R3 : IF seseorang berusia < 30 tahun AND dia berinvestasi pada bidang sekuritas THEN dia sebaiknya berinvestasi pada saham pertumbuhan R4 : IF seseorang berusia < 30 tahun dan > 22 tahun THEN dia berpendidikan college R5 : IF seseorang ingin berinvestasi pada saham pertumbuhan THEN saham yang dipilih adalah saham IBM. Rule simplification: – R1: IF A and C, THEN E – R2: IF D and C, THEN F – R3: IF B and E, THEN F – R4: IF B, THEN C – R5: IF F, THEN G Solusi dengan Backward Chaining Solusi dengan Forward Chaining Inferensi dengan rules dapat sangat efektif, tapi terdapat beberapa keterbatasan. Misalnya, perhatikan contoh berikut: Proposisi 1 : Semua burung dapat terbang Proposisi 2 : Burung Unta (Kasuari) adalah burung Konklusi : Burung Unta dapat terbang Konklusi tersebut adalah valid, tetapi dalam kenyataannya adalah salah, karena burung unta tidak dapat terbang. Untuk kasus seperti ini maka terkadang kita harus menggunakan teknik inferensi yang lain. Fungsi dari Inference Engine 1. 2. 3. 4. 5. 6. 7. 8. 9. Fire the rules Memberikan pertanyaan pada user Menambahkan jawaban pada Working Memory (Blackboard) Mengambil fakta baru dari suatu rule (dari hasil inferensi) Menambahkan fakta baru tersebut pada working memory Mencocokan fakta pada working memory dengan rules Jika ada yang cocok (matches), maka fire rules tersebut Jika ada dua rule yang cocok, cek dan pilih rule mana yang menghasilkan goal yang diinginkan Fire the lowest-numbered unfired rule INFERENCE TREE (POHON INFERENSI) Penggambaran secara skematik dari proses inferensi Sama dengan decision tree Inferencing: tree traversal Advantage: Panduan untuk Explanations Why dan How