Anda di halaman 1dari 47

Kecerdasan Buatan/

Artificial Intelligence

Agen Logika
Imam Cholissodin, S.Si., M.Kom.

Pokok Bahasan
1.
2.
3.
4.
5.
6.

Membahas soal UTS AI


Agen Logika
Agen Berbasis Pengetahuan
Logika Proposisi
Metode Pembuktian
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.


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

o
o

o
o

Fully observable? Tidak,


hanya bisa berpresepsi
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

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

Contoh Aturan Permainan dalam Wumpus World:

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
o

Menyatakan suatu bahasa yang digunakan untuk menyatakan fakta


tentang dunia.
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 benar 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 :

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)

B2,1 (P1,2 V P2,2 V P3,1)

Hasil pengamatan (percept):

P1,1

B1,1

B2,1

dgd

Menyatakan KB untuk dibuktikan


misalnya dengan tabel kebenaran.

Menyatakan kamar i,j tersebut (i) aman atau tidak.

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

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 conclusionnya
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.
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

Forward, backward chaining merupakan proses inferensi


complete dan linear untuk Horn form.

Latihan Individu
Membahas Soal UTS AI!

Tugas Kelompok
1.
2.

Jelaskan konsep dasar dari agen berbasis pengetahuan dan halhal apa saja yang harus dipenuhi ketika membuat agen tersebut!
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,1

P2,1

P3,1

P2,1 P3,1

B1,1 (P2,1 P3,1)

KB

Selesai

Anda mungkin juga menyukai