pertemuan 5 ai

advertisement
REPRESENTASI PENGETAHUAN
Dalam menyelesaikan suatu masalah tentu saja
dibutuhkan pengetahuan yang cukup. Tidak hanya itu,
sistem juga harus memiliki kemampuan untuk menalar.
Basis pengetahuan dan kemampuan untuk
melakukan penalaran merupakan bagian yang terpenting
dari sistem yang menggunakan kecerdasan buatan.
Meskipun suatu sistem memiliki banyak pengetahuan,
namun tidak memiliki kemampuan untuk menalar, tentu
akan menjadi percuma saja. Demikian sebaliknya, apabila
suatu sistem memiliki kemampuan yang sangat handal
untuk menalar, namun basis pengetahuan yang dimilikinya
tidak cukup, maka solusi yang diperolehpun tidak maksimal.
3.1. LOGIKA
Logika adalah bentuk representasi pengetahuan yang paling tua. Pada
dasarnya proses logika adalah proses membentuk kesimpulan /
menarik suatu inferensi berdasarkan fakta yang telah ada.
input dari proses logika berupa premis atau fakta-fakta yang diakui
kebenarannya sehingga akan melakukan penalaran pada proses
logika dapat dibentuk suatu inferensi atau kesimpulan yang benar
pula.
Ada 2 penalaran yang dapat dilakukan untuk mendapatkan konklusi:
1. Penalaran deduktif : penalaran yang dimulai dari prinsip umum untuk
mendapatkan konklusi yang lebih khusus. Contoh:
premis mayor : jika hujan turun saya tidak akan berangkat kuliah.
premis minor : hari ini hujan turun
konklusi
: hari ini saya tidak akan berangkat kuliah
2. Penalaran Induktif : penalaran yang dimulai dri fakta-fakta khusus untuk
mendapatkan kesimpulan umum. Contoh
premis-1 : alajabar adalah pelajaran yang sulit
premis-2 : geometri adalah pelajaran yang sulit
premis-3 : kalkulus adalah pelajaran yang sulit
konklusi : matematika adalah pelajaran yang sulit.
Jika muncul premis-4 : optika adalah pelajaran yang sulit , maka premis
tersebut menyebabkan konklusi: “matematika adalah pelajaran yang sulit”
menjadi salah. Itu disebabkan “optika” bukan merupakan bagian dari
“MATEMATIKA”. Sehingga apabila menggunakan penalaran induktif sangat
dimungkinkan adanya KETIDAKPASTIAN.
3.1.1. LOGIKA PROPOSISI
Proposisi adalah suatu pernyataan yang dapat
bernilai benar (B) atau salah (S). Simbol-simbol
seperti P dan Q menunjukkan proposisi. Dua atau
lebih proposisi dapat digabungkan dengan
menggunakan operator logika:
a. Konjungsi : ^ (and)
b. Disjungsi : v (or)
c. Negasi : ¬ (not)
d. Implikasi :  (if-then)
e. Ekuivalensi : 
a.
Operator AND
operator AND digunakan untuk mengkombinasikan 2 buah proposisi. Hasil yang
akan diperoleh akan bernilai benar jika kedua proposisi bernili benar, dan akan
bernilai salah jika salah satu dari keduanya proposisi bernilai salah
Tabel kebenaran operator AND
P
Q
P AND Q
B
B
B
B
S
S
S
B
S
S
S
S
b. Operatot NOT
operator not digunakan untuk memberikan nilai negasi (lawan) dari pernyataan
yang telah ada.
Tabel Kebenaran Operator NOT
P
NOT (P)
B
S
S
B
c. Operator OR
Operator or digunakan untuk mengkombinasikan 2 buah proposisi.
Hasil yang akan diperoleh akan bernilai benar jika salah satu dari
kedua proposisi bernilai benar, dan akan bernilai salah jika kedua
proposisi bernilai salah.
tabel kebenaran operator OR
P
Q
P OR Q
B
B
B
B
S
B
S
B
B
S
S
S
d. Implikasi
jika p maka q akan menghasilkan nilai salah. Jika p benar dan q salah,
selain itu akan selalu bernilai benar.
Tabel kebenaran Implikasi
P
Q
PQ
B
B
B
B
S
S
S
B
B
S
S
B
e. Ekuivalensi
ekuivalensi akan menghasilkan nilai benar jika p dan q
keduanya benar atau keduanya salah
Tabel Kebenaran Ekuivalensi
P
Q
PQ
B
B
B
B
S
S
S
B
S
S
S
B
Untuk melakukan inferensi pada logika proposisi dapat dilakukan
dengan menggunakan resolusi. Resolusi adalah suatu aturan untuk
melakukan inferensi yang dapat berjalan secara efisien dalam suatu
bentuk khusus. Bentuk khusus tersebut dikenal dengan nama
conjunctive normal form(CNF). Bentuk CNF memiliki ciri-ciri sebagai
berikut:
a. Setiap kelimat merupakan disjungsi literal
b. Semua kalimat secara implisit.
Kalimat yang ditulis dengan menggunakan logika proposisi dapat
dikonversi ke bentuk CNF. Kita perlu menghapus operator-operator
selain OR tanpa harus mengubah arti dari kalimat tersebut.
Untuk mengubah suatu kalimat ke dalam bentuk CNF, dapat digunakan
langkah-langkah sebagai berikut:
1. Hilangkan implikasi dan ekuivalensi
a. X Y menjadi ¬ x v y
b. X  Y menjadi (¬ x v y) ^ (¬ x v y)
2. Kurangi lingkup semua negasi menjadi satu negasi saja
a. ¬ (¬ x) menjadi X
b. ¬(x v y) menjadi (¬ x ^ ¬y)
c. ¬(x ^ y) menjadi (¬ x V ¬y)
3. Gunakan aturan assosiatif dan distributif untuk mengkonversi
menjadi conjunction of disjunction.
a. Assosiatif : (A V B) V C = A V (B V C)
b. Distributif : (A^B) V C = (A V C) ^(B V C)
Pada logika , beberapa aksioma F yang telah diketahui, dengan
menggunakan resolusi, dapat dilakukan melalui algoritma sebagai
berikut :
1. Konversikan semua proposisi F kebentuk CNF
2. Negasikan P, dan konversikan hasil negasi tersebut ke bentuk klausa.
Tambahkan ke himpunan klausa yang telah ada pada langkah 1.
3. Kerjakan hingga terjadi kontradiksi atau proses tidak mengalami
kemajuan.
a. Seleksi 2 klausa sebagai klausa parent
b. Bandingkan (resolve)secara bersama-sama. Klausa hasil resolve
tersebut dinamakan resolvent. Jika ada pasangan literal L dan ¬L,
eliminir dari resolvent
c. Jika resolvent berupa klausa kosong, maka ditemukan
kontradiksi. Jika tidak, tambahkan ke himpunan klausa yang telah
ada
Contoh:
Diketahui basis pengetahuan (fakta-fakta yang bernilai benar) sebagai
berikut:
1. P
2. (P ^ Q)  R
3. (S V T)  Q
4. T
Buktikan kebenaran R?
JAWAB :
Apabila kita ingin membuktikan kebenaran R dengan menggunakan
resolusi, maka pertama-tama kita harus ubah dulu ke empat fakta
diatas menjadi bentu CNF. Konversi ke CNF dapat dilakukan sebagai
berikut:
KALIMAT
LANGKAH-LANGKAH
CNF
1. P
Sudah merupakan bentuk CNF
P
2. (P ^ Q)  R
-Menghilangkan implikasi
¬(P ^Q)V R
-Mengurangi lingkup negasi
(¬P V¬Q) V R
-Gunakan asosiatif
¬P V¬ Q V R
¬P V¬ Q V R
3. (S V T)  Q
-Menghilangkan implikasi
¬(S V T) v Q
-Mengurangi lingkup negasi
(¬S V ¬T) V Q
-Gunakan asosiatif
(¬S V T) ^ (¬T V Q)
¬S V T
¬T V Q
4. T
Sudah merupakan bentuk CNF
T
Kemudia kita tambahkan kontradiksi pada tujuannya, R menjadi ¬R
sehingga fakta-fakta (dalam bentuk CNF) dapat disusun menjadi:
1. P
2. ¬P v ¬ q v r
3. ¬S v q
4. ¬T V Q
5. T
6. ¬R
Dengan demikian resolusi dapat dilakukan untuk membuktikan R
sebagaimana terlihat pada gambar
Contoh apabila diterapkan dalam kalimat
P : Andi anak yang cerdas
Q : Andi rajin belajar
R : Andi akan menjadi juara kelas
S : Andi makannya banyak
T : Andi istirahat cukup
Kalimat yang terbentuk:
- Andi anak yang cerdas
- Jika andi anak yang cerdas dan andi rajin belajar, maka andi akan
menjadi juara kelas
- Jika andi makannya banyak atau andi istirahatnya cukup, maka
andi rajin belajar.
- Andi istirahatnya cukup.
Setelah dilakukan konversi ke bentuk CNF, di dapat
₋ Fakta ke -2 : andi tidak cerdas atau andi tidak rajin belajar atau
andi akan menjadi juara kelas
₋ Fakta ke-3 : andi tidak makan banyak atau andi rajin belajar
₋ Fakta ke-4: andi tidak cukup istirahat atau andi rajin belajar
Gambar resolusi pada logika proposisi dengan penyataan lengkap
3.1.2. LOGIKA PREDIKAT
A. Representasi Fakta Sederhana
Misalkan diketahui fakta-fakta sebagai berikut:
- Andi adalah seorang laki-laki : A
- Ali adalah seorang laki-laki : B
- Amir adalah seorang laki-laki : C
- Anto adalah seorang laki-laki : D
- Agus adalah seorang laki-laki : E
Logika predikat digunakan untuk merepresentasikan hal-hal yang
tidak dapat direperentasikan dengan menggunakan logika proposisi.
Pada logika predikat kita dapat merepresentasikan fakta-fakta
sebagai suatu pernyataan yang disebut dengan wff (well-formed
formula).
pada contoh diatas, dapat dituliskan: laki2(x)
dimana x adalah variabel yang bisa disubstitusikan dengan Andi, Ali,
Amir, Anto, Agus dan laki2 yang lain.
Contoh :
Misalkan terdapat pernyataan-pernyataan sebagai berikut:
1. Andi adalah seorang mahasiswa
2. Andi masuk jurusan elektro
3. Setiap mahasiswa elektro pasti mahasiswa teknik
4. Kalkulus adalah matakuliah yang sulit
5. Setiap mahasiswa teknik pasti akan suka kalkulus atau akan
membencinya.
6. Setiap mahasiswa pasti akan suka terhadap suatu matakuliah
7. Mahasiswa yang tidak pernah hadir pada kuliah matakuliah sulit,
maka mereka pasti tidak suka terhadap matakuliah tersebut.
8. Andi tidak pernah hadir kuliah matakuliah kalkulus.
1.
2.
3.
4.
5.
6.
7.
8.
Ke delapan pernyataan diatas dapat dibawa ke bentuk logika
predikat, dengan menggunakan operator-operator:  (implikasi),
⌐(not), ^(and), v(or),
(untuk setiap), (terdapat), sebagai berikut:
Mahasiswa (andi)
Elektro (andi)
X: elektro(x)  teknik (x)
Sulit(kalkulus)
X: Teknik (x)  suka (x, kalkulus) v benci (x, kalkulus)
X: y : suka(x,y)
X:
y: mahasiswa (x) ^ sulit (y) ^ hadir(x,y) suka(x,y)
⌐Hadir(andi, kalkulus)
Andaikan kita akan menjawab pertanyaan:
“apakah andi suka matakuliah kalkulus”
Maka dari pernyataan ke-7 kita akan membuktikan bahwa andi tidak
suka dengan matakuliah kalkulus. Dengan menggunakan penalaran
backward bisa dibuktikan bahwa:
⌐Suka(andi, kalkulus)
Dari penalaran tersebut dapat dibuktikan bahwa andi tidak suka
dengan matakuliah kalkulus
B. Representasi Hubungan Instance & Isa
Instance: predikat dengan argumen 1 berupa
objek dan argumen 2 sebagai klas dimana
objek terdapat
1.
2.
3.
4.
5.
instance(andi,mahasiswa)
instance(andi,elektro)
x instance(x,elektro) → instance(x,tehnik)
instance(kalkulus,sulit)
x instance(x,tehnik) → suka(x,kalkulus) v
benci(x,kalkulus)
Isa: predikat yang menunjukkan hubungan antar
sub-klas
1.
2.
3.
4.
5.
instance(andi,mahasiswa)
instance(andi,elektro)
isa(elektro,tehnik)
instance(kalkulus,sulit)
x instance(x,tehnik) → suka(x,kalkulus) v
benci(x,kalkulus)
C. Computable function
Computable function diperlukan jika kita ingin
menyatakan bahwa suatu bilangan x lebih besar
dari pada y.
Contoh fungsi lb dan lk  lb(1,0) dan lk(0,1)
1.
2.
3.
4.
5.
6.
7.
8.
9.
Karjo adalah seorang laki-laki
Karjo adalah orang Jawa
Karjo lahir pada tahun 1840
Setiap laki-laki pasti akan mati
Semua orang Jawa mati pada saat Krakatau meletus tahun 1883
Setiap orang akan mati setelah hidup lebih dari 150 tahun
Sekarang tahun 2003
Mati berarti tidak hidup
Jika seseorang mati, maka beberapa waktu kemudian ia pasti
dinyatakan telah mati
Diubah menjadi predikat:
1. Laki2(Karjo)
2. Jawa(Karjo)
3. lahir(Karjo,1840)
4. x: laki2(x) → pastimati(x)
5. meletus(Krakatau,1883) Λ x: [Jawa(x) → mati(x,1883)
Dipecah menjadi:
5a.meletus(Krakatau,1883)
5b.x: [Jawa(x) → mati(x,1883)
6. x: t1: t2: pastimati(x) Λ lahir(x,t1) Λ 1b(t2-t1,150) → mati(x,t2)
7. Sekarang(2003)
8. x: t: [mati(x,t) → ¬hidup(x,t)] Λ [¬hidup(x,t) → mati(x,t)]
9. x: t1: t2: mati(x,t1) Λ lb(t2,t1) → mati(x,t2)
“Apakah Karjo masih hidup sekarang ?”
Buktikan ¬hidup(Karjo,sekarang)
¬hidup(Karjo,sekarang)
↑
(8,substitusi)
mati(Karjo,sekarang)
↑
(9,substitusi)
mati(Karjo,t1) Λ lb(sekarang,t1)
↑
(5b,substitusi)
Jawa(Karjo) Λ (lb(sekarang,1883)
↑
(2)
lb(sekarang,1883)
↑
(7,substitusi)
lb(2003,1883)
↑
(menghitung 1b)
nil
• Cara lain
¬hidup(Karjo,sekarang)
↑
(8,substitusi)
mati(Karjo,sekarang)
↑
(6,substitusi)
pastimati(Karjo) Λ lahir(Karjo,t1) Λ lb(sekarang-t1,150)
↑
(4,substitusi)
laki2(Karjo) Λ lahir(Karjo,t1) Λ lb(sekarang-t1,150)
↑
(1)
lahir(Karjo,t1) Λ lb(sekarang-t1,150)
↑
(3,substitusi)
lb(sekarang-1840,150)
↑
(7,substitusi)
lb(2003-1840,150)
↑(menghitung minus)
lb(163,150)
↑
(menghitung lb)
nil
D. Resolusi
• Teknik pembuktian yang lebih efisien
• Fakta-fakta dirubah dulu ke bentuk klausa
• Pembuktian dilakukan dengan menegasikan
pernyataan lalu cari kontradiksi
A. Konversi  Klausa
• Eliminir a → b menjadi ¬a V b
• Kurangi lingkup negasi
» ¬ (¬a Λ b) Ξ ¬ a V ¬b
» ¬ (¬a V b) Ξ ¬ a Λ ¬b
» ¬ x: P(x) Ξ x: ¬P(x)
» ¬ x: P(x) Ξ x: ¬P(x)
• Standarisasi variabel sehingga semua qualifier terletak pada 1
variabel unik
x: P(x) V x : Q(x) menjadi
x: P(x) V y : Q(y)
• Pindahkan semua qualifier ke depan tanpa mengubah urutan
relatifnya
• Eliminasi “”
x: y: P(y,x) menjadi
x: P( S (x) ,x )
•
•
Buang semua prefiks qualifier “”
Ubah ke “conjunction of disjunction”
(a Λ b) V c Ξ (a V c) Λ (b V c)
•
•
Bentuk klausa untuk tiap-tiap konjungsi
Standarisasi variabel di setiap klausa
•
Exp. “Setiap orang yang mengenal Hitler, maka ia akan
menyukainya atau berpikir bahwa orang yang membunuh orang
lain itu gila”
Bentuk wff:
•
x: [orang(x) Λ kenal(x,Hitler)] → [suka(x,Hitler) v (y:z:bunuh(y,z) →
gila(x,y))]
•
Konversi ke bentuk klausa
1. x:¬[orang(x) Λ kenal(x,Hitler)] v [suka(x,Hitler) v (y: ¬(z:bunuh(y,z)) v gila(x,y)]
2. x: [¬orang(x) v ¬kenal(x,Hitler)] v [suka(x,Hitler) v (y: (z: ¬ bunuh(y,z)) v
gila(x,y)]
3. sesuai
4. x: y: z: [¬orang(x) v ¬kenal(x,Hitler)] v [suka(x,Hitler) v ¬
bunuh(y,z) v gila(x,y)]
5. sesuai
6. [¬orang(x) v ¬kenal(x,Hitler)] v [suka(x,Hitler) v ¬ bunuh(y,z) v
gila(x,y)]
7. ¬orang(x) v ¬kenal(x,Hitler) v suka(x,Hitler) v ¬ bunuh(y,z) v
gila(x,y)
8. sesuai
9. sesuai
B. Unifikasi Pada Logika Predikat
• Unifikasi Ξ pencocokan
• Untuk menentukan kontradiksi perlu ada prosedur
pencocokan
• Mis.
– P(x,x)
– P(y,z)
•
•
Kedua instan P cocok
Compare x dan y, substitusi y ke x: y/x.
– Hasil:P(y,y)
P(y,z)
•
dan substitusi z ke y: z/y
– Hasil:P(z,z)
P(z,z)
•
•
•
Proses unifikasi : (z/y) (y/x)
Tidak boleh mensubstitusikan y dan z ke x karena substitusi menjadi tidak konsisten
Cara lain ?
• Contoh:
suka(x,y)
suka(Andi,z)
Dapat dilakukan unifikasi melalui proses substitusi
berikut:
(Andi/x,z/y) atau (Andi/x,y/z)
(Andi/x,SepakBola/y,SepakBola/z)
(Andi/x,Tenis/y,Tenis/z)
Resolusi Pada Logika Predikat
•
•
•
Konversi semua proposisi F ke bentuk klausa
Negasikan P dan konversi ke bentuk klausa,
tambahkan ke himpunan klausa
Kerjakan hingga terjadi kontradiksi atau proses
tidak mengalami kemajuan
a) Seleksi 2 klausa sebagai klausa parent
b) Bandingkan,jika ada pasangan literal T dan ¬T dan dapat
dilakukan unifikasi, maka literal itu tidak muncul lagi dalam
resolvent
c) Jika resolvent nil, terjadi kontradiksi, jika tidak tambahkan himp.
klausa yang telah ada.
•
Exp.
1.
2.
3.
4.
5.
mahasiswa(Andi)
elektor(Andi)
¬elektro(x1) v teknik(x1)
sulit(kalkulus)
¬teknik(x2) v suka(x2,Kalkulus) v
benci(x2,kalkulus)
6. ¬mahasiswa(x4) v ¬sulit(y1) v hadir(x4,y1) v
¬suka(x4,y1)
7. ¬hadir(Andi,kalkulus)
•
Exp.
1.
2.
3.
4.
5.
6.
¬makanan(x1) v suka(Ita,x1)
makanan(pisang)
makanan(pecel)
¬manusia(x2) v ¬makan(x2,y1) v mati(x2) v makanan(y1)
Laki2(Hendra)
a.makan(Hendra,jeruk)
b. hidup(Hendra)
7. ¬makan(Hendra,x3) v makan(Rini,x3)
8. ¬laki2(x4) v manusia(x4)
9. a. ¬hidup(x5) v ¬mati(x4)
b. mati(x5) v hidup(x5)
Jaringan Semantik
• Defenisi: representasi pengetahuan grafis yang
menunjukkan hubungan antar berbagai objek
• Terdiri dari:
• lingkaran (objek  benda atau peristiwa dan informasi)
• arc  hubungan antar objek
• Kelebihan jaringan semantik:’bisa mewariskan’
• ‘Apakah Budi mahluk hidup ?’
• Sistem jaringan semantik selalu tergantung jenis dan
cakupan permasalahan
Frame
• Kumpulan pengetahuan tentang suatu objek,
peristiwa, lokasi,situasi
• Memiliki slot: menggambarkan rincian
(atribut) dan karakteristik objek
• Ada slot bernilai tetap dan ada yang tidak
tetap (prosedural)
• Merepresentasikan pengetahuan berdasarkan
karakteristik yang sudah dikenal, berupa
pengalaman-pengalaman.
Naskah (Script)
• Sama dengan Frame, beda  frame menggambarkan
objek, script menggambarkan urutan peristiwa
• Elemen-elemen script
• Kondisi Input: kondisi yang harus dipenuhi sebelum terjadi
peristiwa dalam script
• Track: variasi yang mungkin terjadi dalam script
• Prop: berisi objek pendukung selama peristiwa terjadi
• Role: peran yang dimainkan seseorang dalam peristiwa
• Scene: adegan yang menjadi bagian dari suatu peristiwa
• Hasil: kondisi yang ada setelah urutan peristiwa dalam script
terjadi
Sistem Produksi
• Komponen:
• Ruang keadaan: awal, tujuan dan rule untuk mencapai tujuan
• Strategi Kontrol: mengarahkan bagaimana proses pencarian
berlangsung dan mengendalikan arah eksplorasi
• Representasi pengetahuan berupa aplikasi rule:
• Antecedent: mengekspresikan situasi (premis) berawalan IF
• Konsekwen: konklusi yang diharapkan jika premis benar
Contoh :
IF lalulintas_pagi_ini_padat
THEN saya_naik_sepedamotor_saja
• Metoda penalaran untuk represenatsi
pengetahuan dengan aturan:
– Forward Reasoning (Penalaran maju)  pelacakan
dimulai dari keadaan awal (informasi / fakta yang
ada) dan kemudian dicoba untuk mencocokkan
dengan tujuan yang diharapkan
– Backward Reasoning (Penalaran mundur) 
pelacakan dimulai dari tujuan lalu dicocokkan
dengan keadaan awal atau fakta-fakta
Download