Anda di halaman 1dari 46

Kecerdasan Buatan/

Artificial Intelligence

Agen Logika
Pokok Bahasan
1. Agen Logika
2. Agen Berbasis Pengetahuan
3. Logika Proposisi
4. Metode Pembuktian
5. Latihan Individu + Tugas Kelompok
Agen Logika
 Agen logika merupakan agen yang memiliki
kemampuan bernalar secara logika.
 Ketika beberapa solusi tidak secara eksplisit
diketahui, maka diperlukan suatu agen berbasis logika.
 Logika sebagai Bahasa Representasi Pengetahuan
memiliki kemampuan untuk merepresentasikan fakta
sedemikian sehingga dapat menarik kesimpulan
(fakta baru, jawaban).
 Sedangkan pengetahuan merupakan komponen yang
penting, sehingga terdapat perbedaan jika diterapkan
pada dua agent, yakni problem solving agent dan
knowledge-based agent.
Agen Logika
 Perbedaan dua agent, problem solving agent dan
knowledge-based agent.
o Problem solving agent : memilih solusi di antara
kemungkinan yang ada. Apa yang ia “ketahui” tentang
dunia, pengetahuannya tidak berkembang untuk
mencapai problem solution (initial state, successor
function, goal test)
o Knowledge-based agent : lebih “pintar”. Ia
“mengetahui” hal-hal tentang dunia dan dapat
melakukan reasoning (berpikir, bernalar) mengenai :
• Hal-hal yang tidak diketahui sebelumnya
(imprefect/ partial information).
• Tindakan yang paling baik untuk diambil (best
action).
Agen Berbasis Pengetahuan
 Agen Berbasis Pengetahuan :
 Knowledge Base (KB) menyatakan 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).
 Maka sebuah agen berbasis pengetahuan harus bisa :
 Mereprentasikan 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.
Agen Berbasis Pengetahuan
 Agen Berbasis Pengetahuan :
 Knowledge Base (KB) merupakan :
o Himpunan representasi fakta yang diketahui tentang
lingkungannya.
o Tiap fakta disebut sebagai sentence.
o Fakta tersebut dinyatakan dalam bahasa formal sehingga
bisa diolah.
o TELL: menambahkan sentence baru ke KB.
 Inference Engine merupakan :
o Menentukan fakta baru yang dapat diturunkan dari
pengetahuan yang sudah ada dalam KB.
o Menjawab pertanyaan (ASK) berdasarkan KB yang sudah
ada.
Agen Berbasis Pengetahuan
 Agen Berbasis Pengetahuan :
 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?
o Logical sentence : di_antara(gdB, gdA, gdC).
o Natural language : “Gedung B ada di antara gedung A dan
gedung C”.
o Tabel posisi koordinat gedung-gedung.
o Gambar diagram peta (dalam bitmap atau vektor).
Agen Berbasis Pengetahuan
 Agen Berbasis Pengetahuan :
 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.
Agen Berbasis Pengetahuan
 Agen Berbasis Pengetahuan :
o Permasalahannya adalah bagaimana representasi yang tepat,
sehingga ada dua hal yang harus diperhatikan :
 Expressive : bisa menyatakan fakta tentang environment.
 Tractable : bisa mengolah/ memproses inference engine
(dengan cepat).
o Knowledge merupakan power atau kekuatan dari
pemrograman secara deklaratif.
o Representasi dan penalaran membentuk suatu Intelligence.
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World :
o Performance measure : emas +1000, mati -1000, gerak -1,
panah -10.
o Environment : Matriks 4x4 ruang dengan initial state [1,1]. Ada
gold, wumpus, dan pit yang lokasinya dipilih secara acak.
o 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).
o Action : maju, belok kiri 900,belok kanan 900, tembak panah
(hanya 1!), ambil benda.
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World:
 Sifat dari Wumpus World:
o Fully observable? Tidak,
hanya bisa berpersepsi
lokal.
o Deterministic? Ya, hasil
tindakan jelas dan pasti.
o Episodic? Tidak,
tergantung action
sequence.
o Static? Ya, gold,
wumpus, pit tidak
bergerak.
o Discrete? Ya
o Single agent? Ya
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World:
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World:
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World:
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World:
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World:
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World:
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World:
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World (Finish):
Agen Berbasis Pengetahuan
 Wumpus World (Kondisi Khusus):
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World (Other) :
Agen Berbasis Pengetahuan
 Contoh Aturan Permainan dalam Wumpus World (Other) :
Agen Berbasis Pengetahuan
 Bahasa Representasi Pengetahuan (Knowledge Representation
Language) :
o Menyatakan suatu bahasa yang digunakan untuk menyatakan fakta
tentang “dunia”.
o 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” sebuah
sentence, misalkan: kebenaran sentence dalam dunia.
 Contoh KRL (Knowledge Representation Language) dalam
bahasa aritmetika :
o Secara Sintaks dituliskan:
 x + 2 ≥ y adalah kalimat sah.
 x2 + y ≥ bukan kalimat sah.
Agen Berbasis Pengetahuan
 Contoh KRL (Knowledge Representation Language) dalam bahasa
aritmetika :
o 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 salah dalam “dunia” di mana x=0, y=6
 Contoh KRL dalam bahasa Indonesia :
o Secara Sintaks dituliskan:
 “Jakarta adalah ibu kota Indonesia” adalah kalimat sah.
 “Ibu Indonesia kota Jakarta adalah” bukan kalimat sah.
o 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?)
Agen Berbasis Logika
 Logika sebagai Bahasa Representasi Pengetahuan memiliki pengertian:
o Logika sebagai bahasa formal untuk merepresentasikan fakta
sedemikian sehingga kesimpulan (fakta baru, jawaban) dapat ditarik.
o Ada banyak metode inference yang diketahui.
o Sehingga kita bisa membangun agent Wumpus World dengan
logika : memanfaatkan perkembangan logika dari ahli matematika.
 Entailment dapat diartikan sebagai suatu fakta bisa disimpulkan dari
(kumpulan) fakta lain.
o KB |= α berarti KB melakukan entailment sentence α jika dan hanya
jika α true dalam “dunia” di mana KB true.
Contoh :
o KB mengandung dua sentence, yakni “ Anto Genius” dan “Ani Cantik”.
o KB |= α1: “Anto Genius dan Ani Cantik” (artinya: hasil entailment bisa
berupa kalimat gabungan dari dua kalimat)
o KB |≠ α2 : “Anto Tampan”
o x + y = 4 =| 4= x+y
Agen Berbasis Logika
 Inferensi atau reasoning merupakan pembentukan fakta (sentence)
baru yang meng-entail fakta-fakta lama.
 Reasoning bukan dilakukan pada fakta di dunia (berdasarkan semantik),
melainkan representasi fakta dalam bahasa representasi pengetahuan
si agent (secara sintaks).
 Otak manusia melakukan proses reasoning dalam suatu bentuk sintak
dapat diilustrasikan sebagaimana gambar berikut :

o Model merupakan suatu “dunia” di mana kebenaran suatu


sentence bisa diuji.
Agen Berbasis Logika
 Otak manusia melakukan proses reasoning dalam suatu bentuk
sintak dapat diilustrasikan sebagaimana gambar berikut:
o Model merupakan suatu “dunia” di mana kebenaran suatu sentence
bisa diuji.
o m adalah model α jika dan hanya jika true di “dalam” m.
o M(α) adalah himpunan semua model dari α.
o KB |= α jika dan hanya jika M(KB) subset dari M(α), sehingga bisa
dilihat pada ilustrasi gambar berikut:

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.
Agen Berbasis Logika
 Entailment dalam Wumpus World bisa diilustrasikan sebagaimana
berikut, dengan melihat [1,1] OK, [2,1] Breeze :

 Maka model jebakan ada 3 pilihan boolean di [2,1],[2,2],[3,1], dengan 8


kemungkinan model.
Agen Berbasis Logika
 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 kemungkinan M(KB), M(α1).

 Sehingga dari ilustrasi diatas menunjukkan bahwasannya : M(KB) subset


dari M(α1), sehingga bisa disimpulkan bahwa kamar [1,2] aman.
Agen Berbasis Logika
 Lain halnya ketika melakukan pengamatan apakah kamar [2,2] aman,
dengan ditunjukkan oleh α2., terlihat sebagaimana ilustrasi berikut :

 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.
Agen Berbasis Logika
 Inferensi merupakan proses atau algoritma yang
“menurunkan” fakta baru dari fakta-fakta lama.
o KB|-i α: sentence α bisa diturunkan dari KB oleh
prosedur i.
o Soundness: i dikatakan sah (sound) jika untuk
semua KB|-i α, KB |= α benar.
o Completeness: i dikatakan lengkap (complete) jika
untuk semua KB |= α, KB|-i α benar.
Logika Proposisi
 Logika Proposisi
o Merupakan logika yang paling sederhana. Sebuah sentence
dinyatakan sebagai simbol proposional P1, P2, dst.
o Sintaks dari logika proposisi
 Jika S adalah kalimat, ⌐S adalah kalimat (negasi)
 Jika S1 dan S2 adalah kalimat, S1 Ʌ S2 adalah kalimat
(conjunction)
 Jika S1 dan S2 adalah kalimat, S1 V S2 adalah kalimat
(disjunction)
 Jika Jika S1 dan S2 adalah kalimat, S1 → S2 adalah kalimat
(implication)
 Jika S1 dan S2 adalah kalimat, S1 ↔ S2 adalah kalimat
(biconditional)
Logika Proposisi
 Logika Proposisi
o Semantik dari logika proposisi
 Sebuah model memberi nilai true/ false terhadap setiap
proposisi, misal P1,2 = true, P2,2 = true, P3.1 = false.
 Sebuah proses rekursif bisa mengevaluasi kalimat
sembarang: ⌐P1,2 Ʌ (P2,2 V P3,1) = true Ʌ (false V true) =
true Ʌ true = true.
Logika Proposisi
 Logika Proposisi
o Semantik dari logika proposisi
 Maka kalimat yang digunakan untuk merepresentasikan
Wumpus World
 Secara semantik :
• Pi,j = true menyatakan kalau ada lubang jebakan (pit) di [i, j].
• Bi,j = true menyatakan kalau ada hembusan angin (breeze).
 Aturan main dalam Wumpus World : kamar di samping
lubang jebakan ada hembusan angin:
• B1,1↔ (P1,2 V P2,1) Menyatakan KB untuk dibuktikan
• B2,1↔ (P1,2 V P2,2 V P3,1) misalnya dengan tabel kebenaran.

 Hasil pengamatan (percept):


• ⌐P1,1
• ⌐ B1,1 Menyatakan kamar i,j tersebut (αi) aman atau tidak.
• B2,1

 dgd
Logika Proposisi
 Logika Proposisi
o Dasar Manipulasi Rules
• ¬(¬A) = A Double negation

• ¬(A ^ B) = (¬A) V (¬B) Negated “and”


• ¬(A V B) = (¬A) ^ (¬B) Negated “or”

• A ^ (B V C) = (A ^ B) V (A ^ C) Distributivity of ^ on V
• A => B = (¬A) V B by definition
• ¬(A => B) = A ^ (¬B) using negated or
• A  B = (A => B) ^ (B => A) by definition
• ¬(A  B) = (A ^ (¬B))V(B ^ (¬A)) using negated and & or
• …
Logika Proposisi
 Logika Proposisi
o Contoh :
Logika Proposisi
 Logika Proposisi
o Solusi :
Logika Proposisi
 Logika Proposisi
o Inferensi bisa dilakukan menggunakan tabel kebenaran untuk
membuktikan entailment dari suatu knowledge. Sehingga kita
dapat membuktikan apakah KB |= α1 menggunakan tabel
kebenaran (sejenis model checking), di mana α1 menyatakan
kamar di [1, 2] aman sebagaimana tabel di bawah ini.
Metode pembuktian
 Metode Pembuktian
o Secara umum, ada dua jenis metode pembuktian :
 Pengaplikasian inference rule
• Dihasilkan kalimat baru yang sah (sound) dari yang lama.
• Bukti (proof) merupakan serangkaian pengaplikasian inference rule
(operator ) dari algoritma search.
• Biasanya, kalimat harus diterjemahkan ke dalam sebuah normal form.
 Model checking
• Penjabaran truth table (eksponensial dalam n)
• Backtracking lebih efisien, misalkan: algoritma DPLL
• Heuristic search dalam model space (sound tetapi incomplete), misalkan
: min-conflicts hill –climbing
o Horn Form
 Dalam Horn form, KB merupakan conjuction dari Horn Clauses.
 Horn Clause terdiri :
• Proposition symbol
• (Conjuction of symbol)  symbol
Metode pembuktian
 Metode Pembuktian
o Horn form
 Misalkan:

 Modus ponen pada Horn form (lengkap pada Horn KB):

 Horn form bisa digunakan dengan algoritma forward


chaining atau backward chaining
 forward chaining adalah aplikasi rule yang premise-
nya diketahui benar dalam KB, kemudian tambahkan
conclusionnya ke dalam KB, ulangi sampai query (Q)
terbukti. Sehingga bisa dikatakan kinerja dari forward
chaining merupakan metode bottom up dari fakta
menuju konklusi.
Metode pembuktian
 Metode Pembuktian
 forward chaining adalah aplikasi rule yang premise-nya
diketahui benar dalam KB, kemudian tambahkan conclusion-nya
ke dalam KB, ulangi sampai query (Q) terbukti. Sehingga bisa
dikatakan kinerja dari forward chaining merupakan metode
bottom up dari fakta menuju konklusi. Misal diilustrasikan sebagai
berikut :
Metode pembuktian
 Metode Pembuktian
 Sedangkan konsep dasar dari algoritma backward
chaining digunakan untuk membuktikan query (Q),
dengan cara memeriksa Q jika sudah diketahui, atau
secara rekursif, dengan membuktikan semua premise rule
yang conclusion-nya Q (dikenal sebagai metode top
down).
 Dalam backward chaining ada beberapa hal yang perlu
diketahui :
 Menghindari loop : dengan cara memeriksa apakah
sub-goal yang baru sudah ada di goal stack.
 Menghindari perulangan pekerjaan : periksa apakah
sub-goal yang baru sudah dibuktikan benar atau sudah
dibuktikan salah.
Kesimpulan
 Kesimpulan :
o Agen berbasis pengetahuan menggunakan inferensi dan
knowledge base untuk menghasilkan informasi baru atau
untuk mengambil keputusan.
o Konsep-konsep dasar logika sebagai knowledge
representation language meliputi :
 Sintak : struktur kalimat bahasa formal
 Semantik : arti kalimat sebagai kebenaran terhadao model
 Entailment : menyimpulkan kalimat baru yang benar
 Inferensi : proses menurunkan kalimat baru dari kalimat-kalimat lama
 Soundness : proses menurunkan hanya kalimat yang di-entail
 Completeness : pross menurunkan SEMUA kalimat yang di-entail
o Forward, backward chaining merupakan proses inferensi
complete dan linear untuk Horn form.
Latihan Individu
1. Diketahui KB = ( B1,1  (P2,1  P3,1))  B1,1 dan α =  P2,1  P3,1.
Buktikan dengan tabel kebenaran berikut, apa saja kondisi yang
memenuhi KB|=α !
B1, P2, P3,
P2,1  P3,1  B1,1  (P2,1  P3,1) KB α
1 1 1

1 F F F
2 F F T
3 F T F
4 F T T
5 T F F
6 T F T
7 T T F
8 T T T
Tugas Kelompok
1. Jelaskan konsep dasar dari agen berbasis pengetahuan dan hal-hal apa
saja yang harus dipenuhi ketika membuat agen tersebut!
2. Diketahui KB = “bebas”, α = “bebas”, letak Smell, Breeze “bebas”.
Buktikan dengan tabel kebenaran, apa kondisi yang memenuhi KB|=α !

Bi,j Pi,j Pi,j ……. KB α


F F F
F F T
F T F
F T T
T F F
T F T
T T F
T T T
Selesai

Anda mungkin juga menyukai