1. IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
IKI 30320: Sistem Cerdas
agent
Contoh:
Kuliah 10: Logical Agents
Wumpus
World
Logic
Propositional
Ruli Manurung
logic
Metode Fakultas Ilmu Komputer
pembuktian
Universitas Indonesia
Ringkasan
10 Oktober 2007
2. Outline
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung 1 Knowledge-based agent
Knowledge-
based
agent
2 Contoh: Wumpus World
Contoh:
Wumpus
World 3 Logic
Logic
Propositional
logic
4 Propositional logic
Metode
pembuktian
5 Metode pembuktian
Ringkasan
6 Ringkasan
3. Outline
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung 1 Knowledge-based agent
Knowledge-
based
agent
2 Contoh: Wumpus World
Contoh:
Wumpus
World 3 Logic
Logic
Propositional
logic
4 Propositional logic
Metode
pembuktian
5 Metode pembuktian
Ringkasan
6 Ringkasan
4. Pentingnya pengetahuan
IKI30320
Kuliah 10
10 Okt 2007
Problem solving agent: memilih solusi di antara
Ruli Manurung
kemungkinan yang ada. Apa yang ia “ketahui” tentang
Knowledge- dunia tidak berkembang → problem solution (initial
based
agent state, successor function, goal test)
Contoh:
Wumpus
Knowledge-based agent: lebih “pintar”. Ia “mengetahui”
World hal-hal tentang dunia dan dapat melakukan reasoning
Logic (berpikir, bernalar) mengenai:
Propositional Hal-hal yang tidak diketahui sebelumnya
logic
(imperfect/partial information)
Metode
pembuktian Tindakan yang paling baik untuk diambil
Ringkasan
Inference engine domain−independent algorithms
Knowledge base domain−specific content
5. Knowledge-based agent
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Knowledge Base: apa yang “diketahui” oleh si agent
Knowledge- Pendekatan deklaratif membangun agent: “beritahu”
based
agent informasi yang relevan, simpan dalam KB → (T ELL).
Contoh:
Wumpus
Agen dapat ditanya (atau bertanya diri sendiri) apa
World yang sebaiknya dilakukan berdasarkan KB → (A SK).
Logic
Sebuah knowledge-based agent harus bisa:
Propositional
logic Merepresentasikan world, state, action, dst.
Metode Menerima informasi baru (dan meng-update
pembuktian
representasinya)
Ringkasan
Menyimpulkan pengetahuan lain yang tidak eksplisit
(hidden property)
Menyimpulkan action apa yang perlu diambil
6. Knowledge Base
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge Base:
Knowledge-
based Himpunan representasi fakta yang diketahui tentang
agent lingkungannya
Contoh:
Wumpus
Tiap fakta disebut sentence.
World Dinyatakan dalam bahasa formal → bisa diolah
Logic T ELL: menambahkan sentence baru ke KB.
Propositional
logic
Inference Engine:
Metode
Menentukan fakta baru yang dapat diturunkan dari
pembuktian pengetahuan yang sudah ada dalam KB.
Ringkasan Menjawab pertanyaan (A SK) berdasarkan KB yang
sudah.
7. Representasi
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Agent dapat dipandang dari knowledge level: informasi
apa yang diketahuinya? Mis: sebuah robot
Knowledge-
based “mengetahui” bahwa gedung B ada di antara gedung A
agent
dan gedung C.
Contoh:
Wumpus Agent dapat dipandang dari implementation level:
World
bagaimana representasi informasi yang diketahuinya?
Logic
Logical sentence: di_antara(gdB,gdA,gdC)
Propositional
logic Natural language: “Gedung B ada di antara
Metode gedung A dan gedung C”
pembuktian
Tabel posisi koordinat gedung-gedung
Ringkasan
Gambar diagram peta Fasilkom (bitmap? vector?)
Pilihan representasi berpengaruh thd. apa yang bisa
dilakukan oleh inference engine.
8. Pendekatan deklaratif vs. prosedural
IKI30320
Kuliah 10 Programmer memberitahu (T ELL) agent informasi
10 Okt 2007
Ruli Manurung
tentang environment.
Kalau informasi kurang, agent bisa melengkapinya
Knowledge-
based sendiri.
agent
Contoh:
Bandingkan dengan pendekatan prosedural:
Wumpus programmer secara eksplisit memrogram agent untuk
World
Logic
bertindak.
Propositional Kalau program tidak benar ... ? (error?)
logic
Ini adalah masalah knowledge representation:
Metode
pembuktian bagaimana representasi yang tepat?
Ringkasan Expressive: bisa menyatakan fakta tentang environment
Tractable: bisa diolah/diproses inference engine (dg. cepat?)
Knowledge is power
Representation + Reasoning = Intelligence!
9. Outline
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung 1 Knowledge-based agent
Knowledge-
based
agent
2 Contoh: Wumpus World
Contoh:
Wumpus
World 3 Logic
Logic
Propositional
logic
4 Propositional logic
Metode
pembuktian
5 Metode pembuktian
Ringkasan
6 Ringkasan
10. Aturan Main Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Performance measure: emas +1000,
mati -1000, gerak -1, panah -10 4 Stench Breeze
PIT
Knowledge-
based Environment: Matriks 4x4 kamar.
agent Initial state [1,1]. Ada gold, wumpus Breeze
Breeze
Contoh: dan pit yang lokasinya dipilih secara 3 Stench PIT
Wumpus
World acak. Gold
Logic Percept: 2
Stench Breeze
Propositional Breeze: kamar di samping lubang
logic
jebakan ada hembusan angin
Metode Glitter: kamar di mana ada emas ada 1
Breeze
PIT
Breeze
pembuktian
kilauan/sinar START
Ringkasan
Smell: kamar di samping Wumpus
1 2 3 4
berbau busuk
Action: maju, belok kiri 90◦ , kanan
90◦ , tembak panah (hanya 1!), ambil
benda
11. Sifat Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based (Fully) observable? Tidak, hanya bisa persepsi lokal
agent
Contoh: Deterministic? Ya, hasil tindakan jelas & pasti
Wumpus
World Episodic? Tidak, tergantung action sequence
Logic
Static? Ya, gold, wumpus, pit tidak bergerak
Propositional
logic Discrete? Ya
Metode
pembuktian Single agent? Tidak
Ringkasan
12. Menjelajahi Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Contoh:
Wumpus
World
Logic
Propositional
logic OK
Metode
pembuktian
Ringkasan
OK OK
A
13. Menjelajahi Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Contoh:
Wumpus
World
Logic
Propositional
logic B OK
Metode
pembuktian A
Ringkasan
OK OK
A
14. Menjelajahi Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Contoh:
P?
Wumpus
World
Logic
Propositional
logic B OK P?
Metode
pembuktian A
Ringkasan
OK OK
A
15. Menjelajahi Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Contoh:
P?
Wumpus
World
Logic
Propositional
logic B OK P?
Metode
pembuktian A
Ringkasan
OK S OK
A A
16. Menjelajahi Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Contoh:
P?
Wumpus
World
Logic
P
Propositional
logic B OK P?
Metode
OK
pembuktian A
Ringkasan
OK S OK
A A
W
17. Menjelajahi Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Contoh:
P?
Wumpus
World
Logic
P
Propositional
logic B OK P?
Metode
OK
pembuktian A A
Ringkasan
OK S OK
A A
W
18. Menjelajahi Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Contoh:
P? OK
Wumpus
World
Logic
P
Propositional
logic B OK P? OK
Metode
OK
pembuktian A A
Ringkasan
OK S OK
A A
W
19. Menjelajahi Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Contoh:
P? OK
Wumpus
World
Logic
P
Propositional
logic B OK P? BGS OK
Metode
OK
pembuktian A A A
Ringkasan
OK S OK
A A
W
20. Outline
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung 1 Knowledge-based agent
Knowledge-
based
agent
2 Contoh: Wumpus World
Contoh:
Wumpus
World 3 Logic
Logic
Propositional
logic
4 Propositional logic
Metode
pembuktian
5 Metode pembuktian
Ringkasan
6 Ringkasan
21. Knowledge representation language
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based Knowledge representation language (KRL): bahasa
agent
yang digunakan untuk menyatakan fakta tentang
Contoh:
Wumpus “dunia”.
World
Logic Syntax: aturan yang mendefinisikan sentence yang sah
Propositional dalam bahasa
logic
Metode
Semantics: aturan yang mendefinisikan “arti” sebuah
pembuktian sentence, mis: kebenaran sentence di dalam dunia
Ringkasan
22. Contoh KRL: bahasa aritmetika
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Syntax:
Contoh:
x + 2 ≥ y adalah kalimat sah.
Wumpus x2 + y ≥ bukan kalimat sah.
World
Logic Semantics: x + 2 ≥ y benar jhj bilangan x + 2 tidak
Propositional
lebih kecil dari bilangan y :
logic
x + 2 ≥ y benar dalam “dunia” di mana x = 7, y = 1
Metode
pembuktian
x + 2 ≥ y salah dalam “dunia” di mana x = 0, y = 6
Ringkasan
23. Contoh KRL: bahasa Indonesia
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge- Syntax:
based
agent “Jakarta adalah ibukota Indonesia” adalah kalimat sah.
Contoh: “Ibu Indonesia kota Jakarta adalah” bukan kalimat sah.
Wumpus
World Semantics: “X adalah ibukota Y ” benar jhj X adalah
Logic pusat pemerintahan negara Y .
Propositional “Jakarta adalah ibukota Indonesia” benar dalam “dunia”
logic
kita sekarang.
Metode
pembuktian “Jakarta adalah ibukota Indonesia” salah dalam “dunia”
Ringkasan th. 1948 (Yogya? Bukittinggi?).
24. Logika sebagai KRL
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
based Logics: bahasa formal untuk merepresentasikan fakta
agent
sedemikian shg. kesimpulan (fakta baru, jawaban)
Contoh:
Wumpus dapat ditarik.
World
Logic Ada banyak metode inference yang diketahui.
Propositional
logic
Kita bisa membangun agent Wumpus World dengan
Metode
logika: memanfaatkan perkembangan logika oleh ahli
pembuktian matematika, filsafat selama ratusan tahun!
Ringkasan
25. Entailment
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Entailment berarti sesuatu fakta bisa disimpulkan dari
Knowledge-
based (kumpulan) fakta lain.
agent
Contoh:
KB |= α: KB entails sentence α jhj α true dalam semua
Wumpus
World
“dunia” di mana KB true.
Logic Contoh:
Propositional KB mengandung sentence “Anto ganteng” dan “Ani
logic
cantik”.
Metode
pembuktian KB |= α1 : “Anto ganteng dan Ani cantik”
Ringkasan KB α2 : “Anto pintar”
x + y = 4 |= 4 = x + y
26. Inference/reasoning
IKI30320
Kuliah 10 Inference, atau reasoning: pembentukan fakta
10 Okt 2007
Ruli Manurung
(sentence) baru yang meng-entail fakta-fakta lama.
Reasoning bukan dilakukan pada fakta di dunia
Knowledge-
based (semantics), melainkan representasi fakta dalam KRL
agent
si agent (syntax).
Contoh:
Wumpus
World
Otak manusia melakukan proses reasoning dalam
Logic
suatu bentuk syntax!
Propositional
logic
Sentences Sentence
Metode Entails
Semantics
Semantics
pembuktian Representation
Ringkasan
World
Aspects of the Aspect of the
real world Follows real world
27. Model
IKI30320
Kuliah 10 Model: sebuah “dunia” di mana kebenaran suatu
10 Okt 2007
sentence bisa diuji.
Ruli Manurung
m adalah model α jika α true di “dalam” m.
Knowledge- M(α) adalah himpunan semua model dari α
based
agent KB |= α jhj M(KB) ⊆ M(α)
Contoh:
Wumpus
Mis:
World KB= Anto ganteng dan Ani cantik.
Logic
α = Anto ganteng.
Propositional
logic
x
x x x
Metode x x
pembuktian x x
x
M( ) x
x x x
Ringkasan x
x x
x
x x
x x x x
x x
x x x x
xx x xx
x
x x
x x x
M(KB) x
x x x
x x
x
28. Entailment dalam Wumpus World
IKI30320
Kuliah 10 Setelah melihat [1,1] OK, [2,1] Breeze:
10 Okt 2007
Ruli Manurung
Knowledge-
based
agent
Contoh:
Wumpus
World
Logic
Propositional
logic
Metode
? ?
pembuktian B
Ringkasan A A
?
Model jebakan di [2,1],[2,2],[3,1]: 3 pilihan boolean → 8
kemungkinan model.
33. Inference
IKI30320
Kuliah 10 Inference adalah proses/algoritma yang “menurunkan”
10 Okt 2007
Ruli Manurung
fakta baru dari fakta-fakta lama.
KB i α: sentence α bisa diturunkan dari KB oleh
Knowledge-
based prosedur i
agent
Soundness: i dikatakan sound jika untuk semua
Contoh:
Wumpus KB i α, KB |= α benar
World
Logic
Completeness: i dikatakan sound jika untuk semua
Propositional
KB |= α, KB i α benar
logic
Metode Preview!
pembuktian
Ringkasan Kita akan melihat sebuah logic, first-order logic, yang cukup
ekspresif untuk menyatakan fakta-fakta, dan memiliki
prosedur inference yang sound dan complete! Prosedur ini
bisa menjawab semua pertanyaan yang jawabannya
“terkandung” dalam KB.
34. Outline
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung 1 Knowledge-based agent
Knowledge-
based
agent
2 Contoh: Wumpus World
Contoh:
Wumpus
World 3 Logic
Logic
Propositional
logic
4 Propositional logic
Metode
pembuktian
5 Metode pembuktian
Ringkasan
6 Ringkasan
35. Propositional logic
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Knowledge-
Propositional logic adalah logic yang paling sederhana
based
agent Sebuah sentence dinyatakan sebagai propositional
Contoh: symbol P1 , P2 , dst.
Wumpus
World
Syntax
Logic
Propositional Jika S adalah kalimat, ¬S adalah kalimat (negation)
logic Jika S1 dan S2 adalah kalimat, S1 ∧ S2 adalah kalimat (conjunction)
Metode Jika S1 dan S2 adalah kalimat, S1 ∨ S2 adalah kalimat (disjunction)
pembuktian
Jika S1 dan S2 adalah kalimat, S1 ⇒ S2 adalah kalimat (implication)
Ringkasan Jika S1 dan S2 adalah kalimat, S1 ⇔ S2 adalah kalimat (biconditional)
36. Semantics dari propositional logic
IKI30320
Kuliah 10
10 Okt 2007 Sebuah model memberi menilai true/false terhadap setiap
Ruli Manurung proposition, mis:
P1,2 P2,2 P3,1
Knowledge-
based true true false
agent
(Semua 8 model yang mungkin bisa dijabarkan)
Contoh:
Wumpus
World
Aturan menentukan kebenaran sebuah kalimat terhadap m:
Logic ¬S true iff S false
Propositional S1 ∧ S2 true iff S1 true and S2 true
logic S1 ∨ S2 true iff S1 true or S2 true
Metode S1 ⇒ S2 true iff S1 false or S2 true
pembuktian
dkl. false iff S1 true and S2 false
Ringkasan
S1 ⇔ S2 true iff S1 ⇒ S2 true and S2 ⇒ S1 true
Sebuah proses rekursif bisa mengevaluasi kalimat sembarang:
¬P1,2 ∧ (P2,2 ∨ P3,1 ) = true ∧ (false ∨ true) = true ∧ true = true
37. Kalimat representasi Wumpus World
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Semantics:
Knowledge- Pi,j = true kalau ada lubang jebakan (pit) di [i, j].
based
agent Bi,j = true kalau ada hembusan angin (breeze) di [i, j].
Contoh:
Wumpus
Aturan main: kamar di samping lubang jebakan ada
World hembusan angin
Logic B1,1 ⇔ (P1,2 ∨ P2,1 )
Propositional B2,1 ⇔ (P1,1 ∨ P2,2 ∨ P3,1 )
logic
Metode
Hasil pengamatan (percept):
pembuktian
¬P1,1
Ringkasan
¬B1,1
B2,1
39. Prosedur inference dengan truth-table
IKI30320
Kuliah 10
10 Okt 2007 function TT-E NTAILS ?(KB, α) returns true or false
Ruli Manurung
symbols ← a list of the proposition symbols in KB and α
Knowledge- return TT-C HECK -A LL(KB, α, symbols, [ ])
based
agent function TT-C HECK -A LL(KB, α, symbols, model) returns true or false
Contoh: if E MPTY ?(symbols) then
Wumpus if PL-T RUE ?(KB, model) then return PL-T RUE ?(α, model)
World
else return true
Logic else do
Propositional P ← F IRST(symbols); rest ← R EST(symbols)
logic return TT-C HECK -A LL(KB, α, rest, E XTEND(P, true, model) and
Metode TT-C HECK -A LL(KB, α, rest, E XTEND(P, false, model)
pembuktian
Ringkasan Inference dengan menjabarkan seluruh truth table adalah sound
dan complete.
Untuk n symbol → O(2n ). NP complete ¨
40. Logical equivalence
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Dua kalimat logically equivalent jhj mereka benar dalam
model yang sama: α ≡ β jhj α |= β dan β |= α
Knowledge-
based
agent
(α ∧ β) ≡ (β ∧ α) commutativity of ∧
(α ∨ β) ≡ (β ∨ α) commutativity of ∨
Contoh:
Wumpus ((α ∧ β) ∧ γ) ≡ (α ∧ (β ∧ γ)) associativity of ∧
World ((α ∨ β) ∨ γ) ≡ (α ∨ (β ∨ γ)) associativity of ∨
Logic ¬(¬α) ≡ α double-negation elimination
Propositional (α ⇒ β) ≡ (¬β ⇒ ¬α) contraposition
logic
(α ⇒ β) ≡ (¬α ∨ β) implication elimination
Metode (α ⇔ β) ≡ ((α ⇒ β) ∧ (β ⇒ α)) biconditional elimination
pembuktian
¬(α ∧ β) ≡ (¬α ∨ ¬β) de Morgan
Ringkasan
¬(α ∨ β) ≡ (¬α ∧ ¬β) de Morgan
(α ∧ (β ∨ γ)) ≡ ((α ∧ β) ∨ (α ∧ γ)) distributivity of ∧ over ∨
(α ∨ (β ∧ γ)) ≡ ((α ∨ β) ∧ (α ∨ γ)) distributivity of ∨ over ∧
41. Validity dan Satisfiability
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Sebuah kalimat valid jika ia true dalam semua model
Mis.: “Hari ini hujan atau hari ini tidak hujan”.
Knowledge-
based
agent Deduction Theorem
Contoh: KB |= α jika dan hanya jika (KB ⇒ α) valid
Wumpus
World
Logic Sebuah kalimat satisfiable jika ada model di mana ia true
Propositional
Mis.: “Hari ini hujan”.
logic
Sebuah kalimat unsatisfiable jika tidak ada model di mana ia true
Metode Mis.: “Hari ini hujan dan hari ini tidak hujan”.
pembuktian
Ringkasan Reductio ad absurdum (proof by contradiction)
KB |= α jika dan hanya jika (KB ∧ ¬α) unsatisfiable
42. Outline
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung 1 Knowledge-based agent
Knowledge-
based
agent
2 Contoh: Wumpus World
Contoh:
Wumpus
World 3 Logic
Logic
Propositional
logic
4 Propositional logic
Metode
pembuktian
5 Metode pembuktian
Ringkasan
6 Ringkasan
43. Rules of Inference
IKI30320
Kuliah 10 Sebuah inference rule adalah pola syntax yang dapat menurunkan
10 Okt 2007
sebuah kalimat baru yang sah (sound).
Ruli Manurung
Rule yang paling terkenal adalah modus ponens:
Knowledge-
based α⇒β , α
agent
β
Contoh:
Wumpus Contoh rule lain: and elimination:
World
Logic
α∧β α∧β
dan
Propositional α β
logic
Semua logical equivalence juga bisa dipakai sebagai inference rule.
Metode
pembuktian Untuk membuktikan KB |= α, kita bisa mencari serangkaian
Ringkasan inference rule yang hasil akhirnya adalah α.
Jika kita gunakan semua inference rule sebagai operator →
algoritma search biasa!
Seringkali bisa jauh lebih efisien dari penjabaran truth-table → tidak
tergantung ukuran KB (monotonicity).
44. Jenis-jenis metode pembuktian
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Secara umum, ada 2 jenis:
Knowledge- Pengaplikasian inference rule
based
agent Hasilkan kalimat baru yang sah (sound) dari yang lama
Contoh: Bukti (proof): serangkaian pengaplikasian inference rule
Wumpus
World
Inference rule sebagai operator → algoritma search.
Logic
Biasanya, kalimat harus diterjemahkan ke dalam
sebuah normal form
Propositional
logic Model checking
Metode
pembuktian Penjabaran truth table (eksponensial dalam n)
Ringkasan
Backtracking lebih efisien, mis: algoritma DPLL
Heuristic search dalam model space (sound tapi
incomplete), mis: min-conflicts hill-climbing
45. Horn Form
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Horn Form: KB = conjunction of Horn Clauses
Knowledge- Horn Clause:
based
agent Proposition symbol
Contoh: (Conjunction of symbols) → symbol
Wumpus
World Mis: C ∧ (B ⇒ A) ∧ (C ∧ D ⇒ B)
Logic
Modus ponens pada Horn Form (complete pada Horn
Propositional
logic KB):
Metode α1 ,...,αn , α1 ∧...∧αn ⇒β
pembuktian
Ringkasan
β
Bisa digunakan dengan algoritma forward chaining
atau backward chaining.
46. Forward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Ide dasar Q
Knowledge-
based Aplikasikan rule yang premise-nya
agent
diketahui benar dalam KB, tambah
Contoh:
Wumpus
conclusion ke dalam KB, ulangi P
World sampai query (Q) terbukti.
Logic
Propositional
Mis: M
logic P⇒Q
Metode L∧M ⇒P
pembuktian
L
B∧L⇒M
Ringkasan A∧P ⇒L
A∧B ⇒L
A A B
B
47. Algoritma Forward Chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Algorithm Forward Chaining
Knowledge-
based function PL-FC-E NTAILS ?(KB, q) returns true or false
agent local variables: count, a table, indexed by clause, initially the number of premises
inferred, a table, indexed by symbol, each entry initially false
Contoh:
agenda, a list of symbols, initially the symbols known to be true
Wumpus
World
while agenda is not empty do
Logic p ← P OP(agenda)
unless inferred[p] do
Propositional inferred[p] ← true
logic for each Horn clause c in whose premise p appears do
decrement count[c]
Metode if count[c] = 0 then do
pembuktian if H EAD[c] = q then return true
P USH(H EAD[c], agenda)
Ringkasan
return false
48. Forward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
1
agent
Contoh: P
Wumpus
World 2
Logic
Propositional M
logic
Metode 2
pembuktian
L
Ringkasan
2 2
A B
49. Forward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
1
agent
Contoh: P
Wumpus
World 2
Logic
Propositional M
logic
Metode 2
pembuktian
L
Ringkasan
1 1
A B
50. Forward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
1
agent
Contoh: P
Wumpus
World 2
Logic
Propositional M
logic
Metode 1
pembuktian
L
Ringkasan
1 0
A B
51. Forward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
1
agent
Contoh: P
Wumpus
World 1
Logic
Propositional M
logic
Metode 0
pembuktian
L
Ringkasan
1 0
A B
52. Forward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
1
agent
Contoh: P
Wumpus
World 0
Logic
Propositional M
logic
Metode 0
pembuktian
L
Ringkasan
1 0
A B
53. Forward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
0
agent
Contoh: P
Wumpus
World 0
Logic
Propositional M
logic
Metode 0
pembuktian
L
Ringkasan
0 0
A B
54. Forward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
0
agent
Contoh: P
Wumpus
World 0
Logic
Propositional M
logic
Metode 0
pembuktian
L
Ringkasan
0 0
A B
55. Forward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
0
agent
Contoh: P
Wumpus
World 0
Logic
Propositional M
logic
Metode 0
pembuktian
L
Ringkasan
0 0
A B
56. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung
Ide dasar
Knowledge-
based
Untuk membuktikan query q: periksa jika q sudah diketahui,
agent atau secara rekursif, buktikan semua premise rule yang
Contoh:
Wumpus
conlusion-nya q.
World
Logic
Hindari loop: periksa apakah subgoal yang baru sudah
Propositional
logic ada di goal stack
Metode
pembuktian
Hindari mengulang pekerjaan: periksa apakah subgoal
Ringkasan
yang baru
sudah dibuktikan benar, atau
sudah dibuktikan salah.
57. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
58. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
59. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
60. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
61. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
62. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
63. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
64. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
65. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
66. Backward chaining
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Q
Knowledge-
based
agent
Contoh: P
Wumpus
World
Logic
Propositional M
logic
Metode
pembuktian
L
Ringkasan
A B
67. Forward vs. Backward Chaining
IKI30320
Kuliah 10
10 Okt 2007
Forward Chaining adalah pendekatan data-driven,
Ruli Manurung
bottom-up → pemrosesan informasi secara tak sadar
Knowledge- (unconscious processing)
based
agent Mis: mengenali obyek (indera penglihatan)
Contoh:
Wumpus Melakukan banyak usaha/kerja yang tidak relevan
World
terhadap goal.
Logic
Propositional
Backward chaining adalah pendekatan goal-driven,
logic top-down → pemrosesan informasi secara sadar
Metode
pembuktian
(conscious processing)
Ringkasan Mis: Bagaimana saya ke Bucharest? lulus kuliah
cepat?
Kompleksitas BC bisa jauh lebih kecil dari linear dalam
ukuran KB.
68. Resolution
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung Conjunctive Normal Form (CNF):
conjunction of disjunction of literals
Knowledge-
based
mis: (A ∨ ¬B) ∧ (B ∨ ¬C ∨ ¬D)
agent
Resolution inference rule (untuk CNF):
Contoh:
Wumpus 1 ∨...∨ k , m1 ∨...∨mn
World
1 ∨...∨ i−1 ∨ i+1 ∨...∨ k ∨m1 ∨...∨mj−1 ∨mj+1 ∨...∨mn
Logic
di mana i dan mj adalah complementary literal (mis: P dan ¬P).
Propositional
logic Contoh:
Metode
pembuktian
P1,3 ∨P2,2 , ¬P2,2
Ringkasan
P1,3 P?
Resolution adalah sound dan complete P
untuk propositional logic! B OK P?
OK
A A
OK S OK
A A
W
69. Pembuktian dengan resolution
IKI30320
Kuliah 10
10 Okt 2007
Untuk membuktikan apakah KB |= α:
Ruli Manurung Terjemahkan KB dan α ke dalam CNF.
Knowledge-
Lakukan proof by contradiction:
based
agent
buktikan (KB ∧ ¬α) adalah unsatisfiable
Contoh:
Wumpus
World Algoritma Resolution
Logic
function PL-R ESOLUTION(KB, α) returns true or false
Propositional
logic clauses ← the set of clauses in the CNF representation of KB ∧ ¬α
Metode new ← { }
pembuktian loop do
Ringkasan for each Ci , Cj in clauses do
resolvents ← PL-R ESOLVE(Ci , Cj )
if resolvents contains the empty clause then return true
new ← new ∪ resolvents
if new ⊆ clauses then return false
clauses ← clauses ∪ new
71. Outline
IKI30320
Kuliah 10
10 Okt 2007
Ruli Manurung 1 Knowledge-based agent
Knowledge-
based
agent
2 Contoh: Wumpus World
Contoh:
Wumpus
World 3 Logic
Logic
Propositional
logic
4 Propositional logic
Metode
pembuktian
5 Metode pembuktian
Ringkasan
6 Ringkasan
72. Ringkasan
IKI30320
Kuliah 10 Knowledge-based agent menggunakan inference pada knowledge
10 Okt 2007
base untuk menghasilkan informasi baru atau mengambil
Ruli Manurung keputusan.
Knowledge- Konsep-konsep dasar logika sebagai knowedge representation
based language:
agent
Contoh: Syntax: struktur kalimat bahasa formal
Wumpus Semantics: arti kalimat sebagai kebenaran terhadap model
World
Entailment: menyimpulkan kalimat baru yang benar
Logic
Inference: proses menurunkan kalimat baru dari
Propositional kalimat-kalimat lama
logic
Soundness: proses menurunkan hanya kalimat yang di-entail
Metode
pembuktian Completeness: proses menurunkan SEMUA kalimat yang
Ringkasan di-entail
Forward, backward chaining: proses inference complete dan linear
untuk Horn form
Resolution: inference rule yang complete untuk propositional logic
Baca bab 7 buku Russell & Norvig