Pentingnya Pengetahuan
- Problem Solving Agent : Memilih
solusi di antara kemungkinan yang ada. Apa yang ia “ketahui” tentang dunia
tidak berkembang ! problem solution (initial state, successor function,
goal test)
- Knowledge-based Agent : Lebih
“pintar”. Ia “mengetahui” hal-hal tentang dunia dan dapat melakukan
reasoning (berpikir, bernalar) mengenai : Hal-hal yang tidak diketahui
sebelumnya (imperfect/partial information), dan Tindakan yang paling baik
untuk diambil
Knowledge-based Agent
Knowledge Base: apa yang
“diketahui” oleh si agent. Pendekatan deklaratif membangun agent: “beritahu”
informasi yang relevan, simpan dalam KB => (TELL). Agen dapat ditanya (atau
bertanya diri sendiri) apa yang sebaiknya dilakukan berdasarkan KB => (ASK).
Sebuah knowledge-based agent 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 :
- Himpunan
representasi fakta yang diketahui tentang lingkungannya
- Tiap
fakta disebut sentence.
-
Dinyatakan dalam bahasa formal ! bisa diolah
- TELL:
menambahkan sentence baru ke KB.
Inference Engine :
-
Menentukan fakta baru yang dapat diturunkan dari pengetahuan yang sudah ada
dalam KB.
- Menjawab
pertanyaan (ASK) berdasarkan KB yang sudah.
Representasi
Agent dapat dipandang
dari knowledge level: informasi apa yang diketahuinya? Mis: sebuah robot “mengetahui” bahwa
gedung B ada 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 Fasilkom (bitmap? vector?)
Pilihan representasi
berpengaruh thd. apa yang bisa dilakukan oleh inference engine.
Pendekatan Deklaratif vs
Pendekatan Prosedural
Programmer memberitahu
(TELL) agent informasi tentang environment. Kalau informasi kurang, agent bisa
melengkapinya sendiri. Bandingkan dengan pendekatan prosedural: Programmer
secara eksplisit memrogram agent untuk bertindak. Kalau program tidak benar ...
? (error?) Ini adalah masalah knowledge representation: Bagaimana representasi
yang tepat?
-
Expressive: bisa menyatakan fakta tentang environment
-
Tractable: bisa diolah/diproses inference engine (dg. cepat?)
Wumpus World
- Performance measure:
emas +1000, mati -1000, gerak -1, panah -10
- Environment: Matriks
4x4 kamar. Initial state [1,1]. Ada gold, wumpus dan pit yang lokasinya dipilih
secara acak.
- Percept
*
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
- Action: maju, belok
kiri 90
, kanan 90
, tembak panah (hanya 1!), ambil benda
, kanan 90
, tembak panah (hanya 1!), ambil benda
Sifat Wumpus World :
- (Fully) observable? Tidak, hanya bisa persepsi lokal
- Deterministic? Ya, hasil tindakan jelas & pasti
- Episodic? Tidak, tergantung action sequence
- Static? Ya, gold, wumpus, pit tidak bergerak
- Discrete? Ya
- Single agent? Tidak
Logic in General
Knowledge representation language (KRL): bahasa yang digunakan untuk menyatakan fakta tentang
“dunia”.
Syntax: aturan yang mendefinisikan sentence yang sah dalam bahasa.
Semantics: aturan yang mendefinisikan “arti” sebuah sentence, mis: kebenaran sentence di dalam dunia
Contoh KRL bahasa aritmatika :
Syntax:
x + 2 > y adalah kalimat sah.
x2 + y bukan kalimat sah.
Semantics: x + 2 > y benar 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 salah dalam “dunia” di mana x = 0, y = 6
Contoh KRL bahasa Indonesia :
Syntax:
“Jakarta adalah ibukota Indonesia” adalah kalimat sah.
“Ibu Indonesia kota Jakarta adalah” bukan kalimat sah.
Semantics: “X adalah ibukota Y” benar jika X adalah pusat pemerintahan negara Y.
“Jakarta adalah ibukota Indonesia” benar dalam “dunia” kita sekarang.
“Jakarta adalah ibukota Indonesia” salah dalam “dunia” th. 1948 (Yogya? Bukittinggi?).
Logic sebagai KRL
Logics: bahasa formal untuk merepresentasikan fakta sedemikian shg. kesimpulan (fakta baru, jawaban) dapat ditarik. Ada banyak metode inference yang diketahui. Kita bisa membangun agent Wumpus World dengan logika: memanfaatkan perkembangan logika oleh ahli matematika, filsafat selama ratusan tahun!
Entailment
Entailment berarti sesuatu fakta bisa disimpulkan dari (kumpulan) fakta lain.
KB |= : KB entails sentence jhj true dalam semua “dunia” di mana KB true.
Contoh:
- KB mengandung sentence “Anto ganteng” dan “Ani cantik”.
- KB |= 1: “Anto ganteng dan Ani cantik”
- KB 2 2: “Anto pintar”
- x + y = 4 |= 4 = x + y
Inference/Reasoning
- Inference, atau reasoning: pembentukan fakta (sentence) baru yang meng-entail fakta-fakta lama.
- Reasoning bukan dilakukan pada fakta di dunia (semantics), melainkan representasi fakta dalam KRL si agent (syntax).
- Otak manusia melakukan proses reasoning dalam suatu bentuk syntax!
No comments:
Post a Comment