Introduction to Logic Propositional Logic Pertemuan IX Introduction to Logic Propositional Logic
Logical Intelligent Agent Problem solving agent hanya bisa menyelesaikan masalah yang lingkungannya accessible Kita membutuhkan agen yang dapat menambah pengetahuan dan menyimpulkan keadaan Agent seperti ini kita beri nama knowledge based agent
Knowledge based agent Representasi Pengetahuan yang bersifat general. Kemampuan beradaptasi sesuai temuan fakta. Kemampuan menyimpulkan sesuatu dari pengetahuan yang sudah ada.
Basis Pengetahuan (Knowledge Base) Inferensi (Inference Engine) Knowledge based agent E N V I R O M T Basis Pengetahuan (Knowledge Base) Mesin Inferensi (Inference Engine) percept Mula-mula berisi background knowledge pengetahuan Persepsi yang diterima Diubah menjadi pengetahuan Berdasarkan pengetahuan yang dimiliki aksi Hasil dari aksi disimpan kembali dalam bentuk pengetahuan Agen memilih aksi yang tepat (inferensi)
Knowledge Based Agent Komponen utama dari knowledge based agent adalah knowledge basenya Knowledge base (KB) adalah kumpulan representasi fakta tentang lingkungan atau dunia yang berhubungan atau menjadi daerah bekerjanya agen Setiap representasi dalam KB disebut sebagai sebuah sentence yang diekspresikan dalam sebuah bahasa yakni knowledge representation language
Knowledge Based Agent Inferensi adalah proses menyimpulkan fakta dari fakta fakta yang sudah ada di KB KB agent memiliki pengetahuan dasar yang disebut sebagai background knowledge
Robot Sonar
Agent Control Architecture Control dipisahkan ke dalam lapisan-lapisan yang merespons tingkah laku
Contoh Control Architecture
Generic KB-Agent
KB agent level Knowledge level / epistemological layer Logical level Implementation level
Syarat Representasi KB Representational Adequacy kemampuan merepresentasikan semua pengetahuan yang dibutuhkan dalam domainnya Inferential Adequacy kemampuan memanipulasi struktur pengetahuan untuk membentuk struktur baru dalam menampung pengetahuan baru hasil inferensi Inferential Efficiency kemampuan untuk manambahkan informasi untuk mempercepat pencarian dalam inferensi Acquisitional Efficiency kemampuan untuk menambah informasi baru secara mudah
The Wumpus World
Wumpus World Description Environment sederhana, berguna untuk menguji dan menjelaskan logical agent. Gua gelap dengan banyak ruangan yang dihubungkan dengan lorong-lorong. Agent masuk ke gua untuk mengambil emas yang ada di salah satu ruangan. Wumpus (monster) bersembunyi di salah satu ruangan. Jika agent bertemu, ia akan menjadi santapannya. Terdapat ruang-ruang yang memiliki lubang jebakan yang dapat membunuh agent. Agen hanya punya 1 panah yang bisa membunuh wumpus dari jarak jauh.
Wumpus PEAS Description Performance Measure: ketemu emas: +1000, mati: -1000 -1 untuk setiap langkah, -10 untuk memanah Environment: Petak yang bersebelahan dengan wumpus berbau busuk (smelly) Petak yang bersebelahan dengan pit (lubang) terasa angin (breezy) Petak tempat emas berada bercahaya (Glitter) Agent dapat memanah mati wumpus jika berhadapan langsung Memanah perlu 1 panah Agent bisa mengambil emas jika berada di petak emas tersebut ada
Wumpus PEAS Description Actuators: Left turn, Right turn, Forward, Grab, Release, Shoot Sensors: Breeze, Glitter, Smell, Bump (jika agent menabrak tembok), Scream (jika wumpus mati)
Knowledge Base Wumpus World Background knowledge : Jika ada bau maka ada wumpus di petak tetangga Jika ada angin maka ada lubang di petak tetangga Jika tak ada bau maka tak ada wumpus di petak tetangga Jika tak ada angin maka tak ada lubang di petak tetangga Jika tak ada lubang dan Wumpus boleh maju dst.
Contoh Inferensi Tak ada angin dan bau di (1,1) maka tak ada Wumpus dan lubang di (2,1) dan (1,2) Maju ke (2,1) Ada angin di (2,1) maka ada lubang di (2,2) atau (3,1) Tak ada bau di (2,1) maka tak ada Wumpus di (2,2) dan (3,1) Mundur ke (1,1) Maju ke (1,2) Ada bau di (1,2) maka ada Wumpus di (3,1) (karena tidak ada Wumpus di (2,2))
Exploring Wumpus World
Exploring Wumpus World
Exploring Wumpus World
Exploring Wumpus World
Exploring Wumpus World
Exploring Wumpus World
Exploring Wumpus World
Exploring Wumpus World
Kasus Sulit Breeze di (1,2) dan (2,1) tidak ada aksi yang aman Jika distribusi peluang lubang seragam, maka kemungkinan lubang ada di (2,2) lebih besar daripada (1,3)/(3,1) Smell di (1,1) wumpus ada di (1,2) atau (2,1), agent tidak dapat bergerak. bisa menggunakan strategi: panah lurus ke depan ada wumpus wumpus mati aman tidak ada wumpus aman
What’s next ?? Untuk dapat menyusun sebuah knowledge based agent maka kita harus terlebih dulu bisa menyusun knowledge basenya itu sendiri. Untuk menyusun knowledge base kita perlu menentukan bagaimana cara kita merepresentasikan pengetahuan kita (knowledge representation) Knowledge representation kita harus merupakan bentuk yang mudah disimpan dan digunakan pada komputer. Dalam perkuliahan ini kita menggunakan beberapa macam knowledge representation language
Logika Formal Logika formal adalah salah satu bahasa untuk merepresentasikan informasi sehingga kesimpulan dapat diambil. Sintaks mendefinisikan kalimat dalam bahasa. Semantik mendefinisikan “arti” dari kalimat (kebenaran dari kalimat tersebut di dunia nyata) Contoh: bahasa aritmatika: x + 2 y adalah kalimat; x2 + y > bukan kalimat x + 2 y benar jika dan hanya jika x + 2 tidak lebih kecil dari y x + 2 y benar di dunia nyata untuk x=7, y=1 x + 2 y salah di dunia nyata untuk x=0, y=6
Entailment Entailment artinya satu hal benar yang mengikuti dari kenyataan lainnya: KB Knowledge Base KB entails jika dan hanya jika benar di seluruh dunia (realitas) di mana KB benar Contoh: x + y = 4 entails 4 = y + x Entailment adalah hubungan antara kalimat (sintaks) berdasarkan semantik yang berlaku
Entailment dalam Wumpus World Situasi setelah aman di (1,1), bergerak ke kanan dan mendeteksi bau di (2,1) Berapa banyak kemungkinan model untuk ? (dengan mengabaikan kemungkinan wumpus) 3 variabel boolean 8 kemungkinan
Entailment dalam Wumpus World
Inferensi KB i jika metode inferensi i dapat menurunkan dari KB Sifat metode inferensi: Sound / Truth Preserving jika semua yang diturunkan adalah kalimat benar (derives only entailed sentences) Complete jika semua kalimat benar (sesuai KB) dapat diturunkan juga dengan cara inferensi (all entailed sentences can be derived)
Inferensi Inferensi adalah proses penalaran yang kesimpulannya dijamin benar dalam dunia/realitas di mana basis pengetahuan yang digunakan benar. Jika KB benar di dunia nyata, maka setiap kalimat yang diturunkan dari KB dengan metode inferensi yang sound juga benar di dunia nyata. Jadi proses inferensi berkorespondensi langsung dengan hubungan yang terjadi di dunia nyata
Logika Proposisi Simbol proposisi P1, P2, P3, dll adalah kalimat Setiap kalimat bisa bernilai benar (true) atau salah (false). Negasi : S Konjungsi : S1 S2 Disjungsi : S1 S2 Implikasi : S1 S2 Bi-kondisional : S1 S2
Logika Proposisi Tabel Kebenaran:
Logika Proposisi dalam Wumpus World Px,y : ada lubang di (x,y) Wx,y : ada Wumpus di (x,y) Sx,y : ada bau di (x,y) Bx,y : ada angin di (x,y) Knowledge Base: R1: P1,1 tidak ada lubang di (1,1) “lubang menimbulkan angin di petak yang bersebelahan” R2: B1,1 (P1,2 P2,1) R3: B2,1 (P1,1 P2,2 P3,1) R4: B1,1 tidak ada angin di (1,1) R5: B2,1 ada angin di (2,1)
Inferensi dengan Tabel Kebenaran Coba seluruh kombinasi nilai untuk semua variabel: Untuk setiap KB yang benar, periksa nilai Kompleksitas waktu O(2n)
Aturan-aturan Logika Standar
Metode Pembuktian Metode pembuktian dibagi menjadi dua jenis: Penerapan dari Aturan Inferensi Kalimat baru (yang sound) diturunkan dari kalimat-kalimat sebelumnya Bukti = urutan aplikasi aturan inferensi Biasanya perlu merubah kalimat ke bentuk normal (tanpa ‘’ dan ‘’) Model Checking Enumerasi tabel kebenaran (eksponensial, tidak efisien) Improved Backtracking (misalnya: Davis-Putnam-Logemann-Loveland) Heuristic search di model space (sound tetapi incomplete) misalnya min-conflict hill-climbing
Rules for propositional logic Modus Ponens Modus Tollens And Elimination And introduction Or introduction
Rules for propositional logic Double negation elimination Unit Resolution Resolution Or
Study Case: Please find the wumpus Example of input (facts) for Wumpus World
Knowledge base (the RULES) Can be construct as many as needed!
Finding the Wumpus Apply modus ponens with ~S1,1 and sentence R1
Finding the Wumpus (2) Apply And Elimination we obtain 3 fact
Modus Ponens & and elimination Finding the Wumpus (3) Apply modus ponens to ~S2,1 and R2 and apply and elimination Modus Ponens & and elimination
Finding the Wumpus (4) Apply resolution Modus Ponens
Finding the Wumpus (5) Resolution Resolution
Finding the Wumpus (6) Resolution Resolution
Finding the Wumpus (7) Resolution Resolution
Translating knowledge to action Pengetahuan yang dimiliki agent tidak berguna jika ia tidak melakukan apapun Karenanya kita perlu menambahkan aturan agar dia dapat bergerak (complete the knowledge base). Misalnya :
Propositional logic weakness Too many preposition need to be handle No relationship between objects Everything is connected by the logical operator
Latihan. Cobalah menjalankan logika preposisi seperti contoh inferensi pada wumpus world dengan input (facts) yang berbeda, sbb: Kalimat manakah dari input yang merupakan entailment dari KB? Apakah wumpus masih dapat ditemukan? Ambil asumsi untuk lokasi B dan G Coba tuliskan bagaimana proses inferensinya Representasi lokasi: P(y, x)