Representasi Pengetahuan - Politeknik Elektronika Negeri Surabaya

advertisement
Kecerdasan Buatan
Pertemuan 2
Knowledge
Representation
Ali Ridho Barakbah
IT-EEPIS
Knowledge Representation
Suppose I tell you the following...
• The Duck-Bill Platypus and the Echidna are
the only two mammals that lay eggs.
• Only birds and mammals are warm blooded.
• “Susan”, my pet Armadillo is warm blooded,
and has no feathers.
• All birds have feathers.
…and I ask you, does “Susan” lay eggs?
Knowledge Representation
- Dibangun sebuah sistem yang berisi sekumpulan
fakta. Sistem ini disebut Knowledge Base (KB).
- Selanjutnya dari Sistem tersebut, kita dapat
mengajukan pertanyaan dengan jawaban benar/salah.
- Sebagai contoh untuk mendapatkan jawaban
“what class is susan?”
Dapat kita rubah menjadi
“susan a amphibian?”
“susan a bird?”
dsb
Knowledge Representation
(Representasi Pengetahuan)
• Suatu proses untuk menangkap sifat-sifat penting
problema dan membuat informasi tersebut dapat
diakses oleh prosedur pemecahan permasalahan
• Bahasa representasi harus dapat membuat seorang
pemrogram mampu mengekspresikan pengetahuan
yang diperlukan untuk mendapatkan solusi
permasalahan.
Knowledge Representation
(Representasi Pengetahuan)
• Knowledge engineering : proses
mengumpulkan dan mengorganisasi
pengetahuan
• Knowledge representation : proses
bagaimana pengetahuan direpresentasikan
untuk membentuk basis pengetahuan
Entiti Representasi Pengetahuan
• Fakta
Adalah kejadian sebenarnya. Fakta inilah yang
akan kita representasikan.
• Representasi dari fakta
Bagaimana cara untuk memodelkan fakta. Dari
representasi ini, kita akan dapat memanipulasinya.
• Aturan adalah suatu pernyataan yang
menunjukkan bagaimana fakta-fakta berinteraksi
satu dengan yang lain untuk membentuk suatu
kesimpulan.
Representasi yang baik
•
•
•
•
•
Mengemukakan hal secara eksplisit
Membuat masalah menjadi transparan
Komplit dan efisien
Menampilkan batasan-batasan alami yang ada
Menekan/menghilangkan detil-detil yang
diperlukan
• Dapat dilakukan komputasi (ada
batasan/konstraint)
Kategori Representasi
• Representasi logika [dibahas dalam ppt ini] : Representasi jenis
ini menggunakan ekspresi-ekspresi dalam logika formal untuk
merepresentasikan basis pengetahuan.
• Representasi prosedural: Representasi menggambarkan
pengetahuan sebagai kumpulan instruksi untuk memecahkan
suatu problema. Digunakan dalam pemrograman: IF-THEN
• Representasi network: Representasi ini menangkap pengetahuan
sebagai sebuah graph dimana simpul-simpulnya menggambarkan
obyek atau konsep dari problema yang dihadapi, sedangkan
edge-nya menggambarkan hubungan atau asosiasi antar mereka.
Contoh Graph dan Tree
• Representasi terstruktur: Representasi terstruktur memperluas
network dengan cara membuat setiap simpulnya menjadi sebuah
struktur data kompleks. Contoh: script, frame, dan object
• Dan lain-lain (kromosom, jaringan syaraf, gen, dll)
Jika suatu permasalahan
dideskripsikan dengan menggunakan
representasi yang tepat, maka dapat
dipastikan bahwa permasalahan
tersebut dapat diselesaikan.
Logika



Bentuk representasi pengetahuan yang
paling tua
Proses menarik kesimpulan (inferensi)
berdasarkan fakta yang telah ada
Terdiri dari :

Logika Proposisi (tidak di bahas)

Logika Predikat
Logika Predikat Order Pertama
• Konsep dan aturan sama dengan logika
proposisi
• Membagi sebuah pernyataan menjadi 2
bagian :
• Argumen
• Predikat
PREDICATE (Individual [object]1, Individual [object]2)
Logika Predikat Order Pertama
Contoh :
• Joko suka bahasa inggris  Suka(joko,
bahasa inggris)
• Predikat (keterangan) : suka, argumen (objek) :
joko, bahasa inggris
• Toni adalah seorang mahasiswa 
mahasiswa(Toni)
Logika Predikat Order Pertama
Contoh :
• 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
• Dapat ditulis : laki2(x), dimana x adalah variabel
yang bisa diganti dengan Andi, Ali,dll
Logika Predikat Order Pertama
Contoh :
teman(Andi,Joko)
teman(ayah_dari(Joni),ayah_dari(Andre))
dimana :
argument : ayah_dari(Joni) adalah Andi
argument : ayah_dari(Andre) adalah Joko
predikat : teman
Ilustrasi Representasi Pengetahuan
secara logik (Representasi Logika)
• Contoh sederhana fakta adalah sebagai
berikut:
helder adalah anjing
• Sebagai predikat : anjing, argumen : helder
• Fakta tersebut dapat direpresentasikan
secara logika, yaitu:
anjing(helder)
• Kita juga dapat merepresentasikan secara
logik fakta lain, yaitu bahwa semua anjing
mempunyai ekor
x : anjing(x)  mempunyai_ekor(x)
• Kemudian secara deduktif dari mekanisme
logik ini kita bisa mendapatkan representasi
baru:
mempunyai_ekor(anjing)
• Dengan menggunakan fungsi mapping
secara backward, kita dapat men-generate
suatu kalimat yang berbunyi
helder mempunyai ekor
Contoh kasus
Representasi Pengetahuan
• Cobalah representasi pengetahuan dari
silsilah keluarga berikut ini
hari
agus
budi
ria
ita
ani
rudi
Hasil representasi
anaklaki(hari, agus).  dibaca sebagai anak laki-laki
dari hari adalah agus
anaklaki(agus, budi).
anakperempuan(agus, ani).
anakperempuan(budi, ria).
anakperempuan(budi, ita).
anaklaki(ani, rudi).
Catatan
• Kita dapat menggunakan kalimat
apapun sebagai predikat
• Ide dasar untuk membuat notasi adalah
predicate (argument, argument ).
Simple Query
on Knowledge Database
• Adalah bagaimana mencari suatu pengetahuan dari
representasi yang ada
• Contoh:
anakperempuan(agus,P).
hasilnya adalah P = ani  yang menandakan
bahwa ani adalah anak perempuan dari agus
• Contoh lain:
anaklaki(OT,AL).
Hasil :
OT=hari AL=agus
OT=agus AL=budi
OT=ani AL=rudi
• Contoh lain:
anaklaki(P,budi), anakperempuan(P,D).
 untuk menanyakan saudara perempuan
dari budi
Hasil :
P=agus
D=ani
Meng-extend hubungan antara
knowledge
• Kita dapat menambahkan hubungan
antara knowledge, misalnya antara
anak laki dan anak perempuan diextend menjadi hubungan orangtua
orangtua(C,P):-anaklaki(P,C).
orangtua(C,P):-anakperempuan(P,C).
• Contoh :
orangtua(budi,P).
Hasil :
P=agus
Recursive description
of relationship
• Jika ingin mencari turunan, berikut cara
merepresentasikannya:
turunan(OT,TR):-orangtua(TR, OT).  anak
turunan(OT,TR):-orangtua(TR, P), orangtua(P, OT).  cucu
turunan(OT,TR):- orangtua(TR, P),
orangtua(P,GP),orangtua(GP, OT).  cicit
• Fakta di atas dapat diekspresikan dengan proses rekursif
sbb:
turunan(OT,TR):-orangtua(TR,OT).  anak
turunan(OT,TR):- orangtua(TR,P),turunan(OT,P).
Tugas
1. Dalam sebuah organisasi perusahaan
terdapat tree sebagai berikut:
adi
burhan
bahrun
fahri
bisrin
farah
ferdi
• Dari tree tersebut kita dapat membaca bahwa Burhan
adalah bawahan langsung dari Adi, sebaliknya Adi
adalah atasan langsung dari Burhan. Fahri dan Farah
adalah anak buah dari Bahrun, sementara Fahri, Farah,
Bahrun, Ferdi, Bisrin secara keseluruhan adalah anak
buah dari Burhan.
– Dengan menggunakan sintaks dalam bahasa Prolog, buatlah
representasi pengetahuan dari fakta tersebut di atas. (Dari
definisi bawahan langsung).
– Dengan menggunakan sintaks dari definisi bawahan langsung
di atas, terjemahkan untuk atasan langsung.
– Bagaimana kita membuat pertanyaan siapa bawahan
langsung dari Burhan
• Dengan menggunakan deskripsi secara rekursif buatlah
sintak untuk merepresentasikan fakta anak buah.
2. Dari pohon keluarga di bawah ini, tuliskan
suatu program dalam bahasa Prolog yang
menyatakan predikat anak, perempuan,
laki-laki. Kemudian dari predikat ini
buatlah relasi orang tua, saudara laki-laki,
saudara perempuan, paman, bibi, kakek,
nenek.
anto
deni
ita
hadi
wati
budi
ida
dina
andi
rudi
rita
Referensi
• Modul Ajar Kecerdasan Buatan, Entin
Martiana, Tessy Badriyah, Riyanto Sigit,
Politeknik Elektronika Negeri Surabaya,
2005.
• www.ai-depot.com
• Tuntunan Praktis Pemrograman Bahasa
Prolog, Andrey Andoko, cetakan kedua,
Penerbit elex Media Komputindo, 1991.
Download