BAB 6 Agen Logika
6.2 Agen Berbasis Pengetahuan
Agen berbasis pengetahuan adalah Knowledge Base (KB) menyatakan apa yang “diketahui” oleh si agent. Pendekatan deklaratif membangun agent yaitu “beritahu” informasi yang relevan, simpan dalam KB → (TELL). Agen dapat ditanya (atau bertanya diri sendiri) apa yang sebaiknya dilakukan berdasarkan KB → (ASK). Maka sebuah agen berbasis pengetahuan harus bisa:
- Merepresentasikan world, state, action, dst.
- Menerima informasi baru (dan meng-update representasinya).
- Menyimpulkan pengetahuan lain yang tidak eksplisit (hidden property).
- Menyimpulkan action apa yang perlu diambil.
Knowledge Base (KB) merupakan himpunan representasi fakta yang diketahui tentang lingkungannya. Tiap fakta disebut sebagai sen- tence. Fakta tersebut dinyatakan dalam bahasa formal sehingga bisa diolah. Sedangkan TELL berfungsi menambahkan sentence baru ke KB.
Inference Engine merupakan penentuan fakta baru yang dapat di- turunkan dari pengetahuan yang sudah ada dalam KB dan menjawab pertanyaan (ASK) berdasarkan KB yang sudah ada. Dalam representasi, agent dapat dipandang dari knowledge level apa saja informasi yang diketahui? Misal: sebuah robot “mengetahui” bahwa gedung B di antara gedung A dan gedung C. Agent dapat dipandang dari implementation level: Bagaimana representasi informasi yang diketahuinya?
- Logical sentence: di_antara(gdB, gdA, gdC).
- Natural language: “Gedung B ada di antara gedung A dan gedung C”.
- Tabel posisi koordinat gedung-gedung.
- Gambar diagram peta (dalam bitmap atau vektor).
Pilihan representasi berpengaruh terhadap apa yang bisa dilakukan inference engine. Pada pendekatan deklaratif programmer memberitahu (TELL) agent informasi tentang environment. Kalau informasi kurang, agen bisa melengkapinya sendiri.
Jika dibandingkan dengan pendekatan prosedural: programmer secara eksplisit memrogram agen untuk bertindak. Sehingga bagaimana jika program tidak benar, maka akan besar kemungkinan menyebabkan kesalahan. Permasalahannya adalah bagaimana representasi yang tepat, sehingga ada dua hal yang harus diper- hatikan:
- Expressive : bisa menyatakan fakta tentang environment.
- Tractable : bisa mengolah/ memproses inference engine (dengan cepat).
Knowledge merupakan power atau kekuatan dari pemrograman secara deklaratif. Representasi dan penalaran membentuk suatu Intelligence. Contoh Aturan Permainan dalam Wumpus World:
• Performance measure: emas +1000, mati -1000, gerak -1, panah - 10.
• Environment: Matriks 4x4 ruang dengan initial state [1,1]. Ada gold, wumpus, dan pit yang lokasinya dipilih secara acak.
• Percept terdiri dari:
- Breeze: kamar di samping lubang jebakan ada hembusan angin.
- Glitter: kamar di mana ada emas ada kilauan/ sinar.
- Smell: kamar di samping Wumpus berbau busuk (stench).
• Action: maju, belok kiri 900,belok kanan 900, tembak panah (hanya 1!), ambil benda.
Gambar 6.1 Permainan Wumpus Word
Gambar 6.2 Aturan dalam Permainan Wumpus World
• Sifat dari Wumpus World:
- Fully observable? Tidak, hanya bisa berpersepsi lokal.
- Deterministic? Ya, hasil tindakan jelas dan pasti.
- Episodic? Tidak, tergantung action sequence.
- Static? Ya, gold, wumpus, pit tidak bergerak.
- Discrete? Ya - Single agent? Ya Keterangan:
A = Agent B = Breeze S = Smell P = Pit W = Wumpus OK = Safe V = Visited G= Glitter
P
W
P?
B OK
OK
BGS OK P?
OK
OK S OK
A
A A
A
A
Gambar 6.3 Contoh Aturan Permainan Wumpus Step 1
Gambar 6.4 Contoh Aturan Permainan Wumpus Step 2 OK
OK
OK
A
OK
OK OK
A A B
P?
P?
Gambar 6.5 Contoh Aturan Permainan Wumpus Step 3
Gambar 6.6 Contoh Aturan Permainan Wumpus Step 4 OK
OK OK
A A B
P?
P?
A
P
W
P?
B OK P?
OK
OK S OK
A A
A
Gambar 6.7 Contoh Aturan Permainan Wumpus Step 5
Gambar 6.8 Contoh Aturan Permainan Wumpus Step 6
P
W
P?
B OK P?
OK
OK S OK
A A
A A
P
W
P?
B OK P?
OK
OK S OK
A A
A A
OK
OK
Gambar 6.9 Contoh Aturan Permainan Wumpus Step 7
Gambar 6.10 Wumpus World dalam Kondisi Khusus
Gambar 6.11 Wumpus World dalam Kondisi Khusus
P
W
P?
B OK
OK
BGS OK P?
OK
OK S OK
A
A A
A
A
P
P?
A A
A B OK
OK B OK P?
P?
P?
Breeze in (1,2) and (2,1)
→ no safe action
Assuming pits uniformly distributed, (2,2) is most likely to have a pit
A B
Smell in (1,1)
➔ cannot move
Can use a strategy of coercion:
shoot straight ahead wumpus was there → dead → safe
Wumpus wasn’t there → safe
Bahasa Representasi Pengetahuan (Knowledge Representation Language) yang menyatakan suatu bahasa yang digunakan untuk menyatakan fakta tentang “dunia”. Atau suatu bahasa representasi pengetahuan didefinisikan dalam dua aspek, yakni:
- Sintaks dari bahasa merupakan aturan yang mendefinisikan sentence yang sah dalam bahasa.
- Semantik menyatakan aturan yang mendefinisikan “arti” se- buah sentence, misalkan: kebenaran sentence dalam dunia.
• Contoh KRL (Knowledge Representation Language) dalam bahasa aritmetika yang secara Sintaks dituliskan:
- x + 2 ≥ y adalah kalimat sah.
- x2 + y ≥ bukan kalimat sah.
• Contoh KRL (Knowledge Representation Language) dalam bahasa aritmetika yang secara semantik: x + 2 ≥ y benar jika dan hanya jika bilangan x + 2 tidak lebih kecil dari bilangan y:
- x + 2 ≥ y benar dalam “dunia” di mana x=7, y=1 - x + 2 ≥ y benar dalam “dunia” di mana x=0, y=6
• Contoh KRL dalam bahasa Indonesia yang secara Sintaks dituliskan:
- “Jakarta adalah ibu kota Indonesia” adalah kalimat sah.
- “Ibu Indonesia kota Jakarta adalah” bukan kalimat sah.
Maka secara Semantik: “X adalah ibukota Y” benar jika dan hanya jika X adalah pusat pemerintahan negara Y.
- “Jakarta adalah ibukota Indonesia” benar dalam “dunia” kita sekarang.
- “Jakarta adalah ibukota Indonesia” salah dalam “dunia” tahun 1948 (Yogya? Bukitinggi?)
Logika sebagai Bahasa Representasi Pengetahuan memiliki pengertian yaitu sebagai bahasa formal untuk merepresentasikan fakta sedemikian sehingga kesimpulan (fakta baru, jawaban) dapat di- tarik. Ada banyak metode inference yang diketahui. Sehingga kita bisa membangun agent Wumpus World dengan logika yang memanfaatkan perkembangan logika dari ahli matematika.
Entailment dapat diartikan sebagai suatu fakta bisa disimpulkan dari (kumpulan) fakta lain. KB |= α berarti KB melakukan entailment sentence α jika dan hanya jika α true dalam “dunia” di mana KB true.
Contoh:
- KB mengandung dua sentence, yakni “ Anto Genius” dan “Ani Cantik”.
- KB |= α1: “Anto Genius dan Ani Cantik” (artinya: hasil entail- ment bisa berupa kalimat gabungan dari dua kalimat)
- KB |≠ α2: “Anto Tampan”
- x + y = 4 =| 4= x+y
Inferensi atau reasoning merupakan pembentukan fakta (sen- tence) baru yang meng-entail fakta-fakta lama. Reasoning bukan dil- akukan pada fakta di dunia (berdasarkan semantik), melainkan repre- sentasi fakta dalam bahasa representasi pengetahuan si agent (secara sintaks). Otak manusia melakukan proses reasoning dalam suatu ben- tuk sintak dapat diilustrasikan sebagaimana gambar berikut:
Gambar 6.12 Proses Reasoning
Model merupakan suatu “dunia” di mana kebenaran suatu sen- tence bisa diuji. Otak manusia melakukan proses reasoning dalam suatu bentuk sintak dapat diilustrasikan sebagaimana gambar berikut:
- Model merupakan suatu “dunia” di mana kebenaran suatu sentence bisa diuji.
- m adalah model α jika dan hanya jika true di “dalam” m.
- M(α) adalah himpunan semua model dari α.
Representation World
Setences Setences
Entails
Follows
Semantic Semantic
Aspects of the real world
Aspects of the real world
- KB |= α jika dan hanya jika M(KB) subset dari M(α), sehingga bisa dilihat pada ilustrasi gambar berikut:
Gambar 6.13 Ilustrasi Proses Reasoning dalam Otak Manusia Misalkan:
- KB= Anto Genius dan Ani Cantik - α = Anto Genius
- Hal ini bisa diartikan bahwasanya sentence Anto Genius lebih luas konotasinya dibandingkan dengan sentence Anto Genius dan Ani Cantik.
• Entailment dalam Wumpus World bisa diilustrasikan sebagaimana berikut, dengan melihat [1,1] OK, [2,1] Breeze:
Tabel 6.1 Ilustrasi Entailment dalam Wumpus World
? ?
?
Maka model jebakan ada 3 pilihan boolean di [2,1],[2,2],[3,1], dengan 8 kemungkinan model.
A A
B
• KB = pengamatan (percept) + aturan main Wumpus World, maka kita menyatakan apakah kamar [1,2] aman dengan cara melakukan entailment yang mana dibuktikan dengan menggunakan model checking, yakni memeriksa semua kemung- kinan M(KB), M(α1).
Gambar 6.15 Ilustrasi Model Checking
Sehingga dari ilustrasi diatas menunjukkan bahwasannya M(KB) subset dari M(α1), sehingga bisa disimpulkan bahwa kamar [1,2] aman.
Lain halnya ketika melakukan pengamatan apakah kamar [2,2] aman, dengan ditunjukkan oleh α2., terlihat sebagaimana ilustrasi berikut:
Gambar 6.16 Ilustrasi Model Checking Gambar 6.14 Contoh Model Jebakan
Dari gambar tersebut menunjukkan bahwasannya M(KB) bukan subset dari M(α2), sehingga bisa disimpulkan bahwa KB |≠ α2, dengan kata lain kamar [2,2] tidak aman. Inferensi merupakan proses atau al- goritma yang “menurunkan” fakta baru dari fakta-fakta lama.
- KB|-i α: sentence α bisa diturunkan dari KB oleh prosedur i.
- Soundness: i dikatakan sah (sound) jika untuk semua KB|-i α, KB |= α benar.
- Completeness: i dikatakan lengkap (complete) jika untuk semua KB |= α, KB|-i α benar.