logika predikat

advertisement
LOGIKA PREDIKAT
Logika predikat disebut juga kalkulus predikat (predicate calculus) atau first order
predicate logic.
Logika predikat berperan penting dengan beberapa alasan, yakni :
Pertama : logika predikat memberi alasan logis yang mendasari bahasa
pemrograman logika, misalnya Prolog dan LISP.
Kedua : logika predikat mampu mendorong pengembangan kebutuhan aplikasi
komputer.
Ketiga : logika predikat mampu berperan di bagian pembuktian tentang masalah
“correctness” sehingga dapat secara tepat mengetahui kondisi program
yang menghasilkan keluaran yang benar.
Logika predikat digunakan untuk merepresentasikan hal-hal yang tidak dapat
direpresentasikan dengan menggunakan logika proposisi.
LOGIKA PREDIKAT
Logika predikat sebenarnya logika proposisional juga ditambah dengan halhal yang baru yakni tentang penguantoran, kemudian ditambah istilah-istilah
baru, misalnya kuantor, universe of discourse, term, predikat fungsi dan lainlain. Sehingga apa saja yang ada pada logika proposisional juga digunakan
oleh predikat dengan penyesuaian tambahan pengertian-pengertian tersebut.
Jadi, pada dasarnya logika predikat adalah juga logika proposisional
ditambah persoalan kuantifikasi yang mempermasalahkan jumlah yang
ditunjukkan dengan suatu kata pada pernyataan dalam argumen tersebut,
misalnya kata “semua”, “beberapa”, “ada” dan lain-laina.
Oleh karena itu ada yg menyebutkan logika predikat dengan “Teori
Kuantifikasi” (quantification theory) karena masalah utamanya adalah pada
kuantifikasi tersebut.
LOGIKA PREDIKAT
 Logika Predikat adalah logika proposisi yang bersifat
universal/umum
 Logika Predikat adalah perluasan dari logika proposisi dimana
objek yang dibicarakan dapat berupa anggota kelompok.
 Logika proposisi, menganggap proposisi sederhana (kalimat)
sebagai entitas tunggal.
 Sebaliknya, logika predikat membedakan subjek dan predikat dalam
sebuah kalimat.
Contoh : Ani makan apel  makan (Ani,apel)
3 + 3  +(3,3)
• Suatu proposisi/ premis dibagi menjadi 2 bagian yaitu
ARGUMEN/TERM (objek) atau PREDIKAT(keterangan)
o Argumen adalah individu / objek yang membuat keterangan
o Predikat adalah frase kata kerja yang menjelaskan properti objek atau
hubungan antara beberapa objek
22/07/2017
3
LOGIKA PREDIKAT
• Dalam suatu proposisi predikat bisa berupa kata kerja / bagian dari
kata kerja
• Bentuk umum :
PREDIKAT [individu(objek)1, individu(objek)2]
• Misal:
– Mobil berada dalam garasi,
Kalkulus predikat: di dalam (mobil,garasi)
mobil=argumen (objek)
garasi=argumen(objek)
– Proposisi : Hanif rajin belajar
Kalkulus predikat : rajin (Hanif, belajar)
– Proposisi : Pintu terbuka
Kalkulus predikat : buka(pintu)
22/07/2017
4
• Variabel :
– huruf bisa menggantikan argumen yang tidak dikaitkan
dengan individual tertentu
– “simbol” juga bisa digunakan untuk merancang
beberapa objek / individu
– misal : x = Hanif dan y=belajar
proposisinya : rajin(x,y)
22/07/2017
5
LOGIKA PREDIKAT
• Fungsi :
– Kalkulus Predikat menggunakan simbol untuk
mewakili fungsi-fungsi
– Misal : Wilis adalah ibu dari Hanan.
Ibu (Wilis, Hanan)
I = Ibu
h = Hanan
w = Wilis
I(h, w)
– Misal : B(x,y,z) = “x memberikan pada y nilai z”, maka
jika x=“Ahmad”, y=“Rahmat”, z=“A”, maka B(x,y,z) =
“Ahmad memberi Rahmat nilai A.”
22/07/2017
6
LOGIKA PREDIKAT
• Operasi
– operator yang sama seperti pada logika proporsional
– misal:
• proposisi : Rizki makan bakso, makan(Rizki, bakso)
• proposisi : Iwan makan bakso, makan(Iwan, bakso)
• Dioperasikan dengan operator/konektif dan (^)
• makan(Rizki, bakso) ^ makan(Iwan, bakso)
22/07/2017
7
LOGIKA PREDIKAT
TERM
Term pada logika predikat adalah ekspresi yang
merupakan objek, dibangun berdasarkan aturan :
1. Konstanta : adalah term
2. Variabel : adalah term
3. Jika t1, t2, . . . , tn adalah term, dimana n>1
dan F suatu simbol fungsi dari aritas n, maka
aplikasi : F(t1, t2, . . . , tn) adalah suatu term
4. Jika P suatu kalimat dan s dan t adalah term,
maka kondisinal if P then s else t adalah
suatu term
22/07/2017
8
LOGIKA PREDIKAT
Kalimat Atomik
Kalimat atomik =predikat (term1,...,termn)
atau term1 = term2
Term
= fungsi (term1,...,termn)
atau konstanta atau variabel
• Contoh:
Brother(John, Richard)
Married(Father(Richard), Mother(John))
22/07/2017
9
LOGIKA PREDIKAT
Kalimat Kompleks
• Kalimat kompleks dibuat dari kalimatkalimat atomik dengan menggunakan
konektif
S, S1  S2, S1  S2, S1  S2, S1  S2
Contoh:
Sibling(KingJohn, Richard)  Sibling(Richard, KingJohn)
>(1,2)  ≤ (1,2)
>(1,2)   >(1,2)
22/07/2017
10
Kebenaran dalam Logika Predikat
• Kalimat benar jika berkaitan dengan model dan
interpretasi
• Model berisi objek-objek dan relasi antar objek
• Interpretasi menspesifikasikan :
Simbol konstanta →
objek
Simbol predikat →
relasi
Simbol fungsi
→
relasi fungsional
• Sebuah kalimat atomik predikat(term1,...,termn) benar
jika dan hanya jika objek-objek yang menjadi acuan bagi
term1,...,termn berada dalam relasi-relasi yang diacu oleh
predikat
22/07/2017
11
LOGIKA PREDIKAT
B. LOGIKA PREDIKAT
Logika predikat digunakan untuk merepresentasikan hal-hal yang tidak
dapat direpresentasikan dengan menggunakan logika proposisi yang
dikenal dengan nama WFF (Well-Formed Formula).
 Representasi Fakta Sederhana
Misal diketahui fakta-fakta sebagai berikut :
- Andi adalah seorang lelaki : A
- Ali adalah seorang lelaki
:B
- Amir adalah seorang lelaki : C
- Anto adalah seorang lelaki : D
- Agus adalah seorang lelaki : E
Semua kalimat di atas dapat ditulis dengan singkat sebagai berikut :
Lelaki(X) di mana X adalah variabel yang bisa disubstitusikan dengan
Andi, Ali, Amir, Agus dan lain-lain.
LOGIKA PREDIKAT
Contoh lain :
a. “semua anak lelaki suka permen”
Pernyataan di atas dapat ditulis dengan logika predikat
sebagai berikut :
x : (anak lelaki(x) → suka(x, permen)
b. “beberapa anak lelaki suka bermain layangan”
Pernyataan di atas dapat ditulis dengan logika predikat
sebagai berikut :
x : (anak lelaki(x) Λ suka(x, bermain layangan)
LOGIKA PREDIKAT
• Logika predikat (kalkulus predikat) merupakan bagian dari
komputasi logika yang juga mencakup aljabar Boole (logika
proposisional), dimana fakta dan aturan dinyatakan melalui
predikat seperti:
–
–
–
–
lelaki(Joko)
menikah(Joko, Tuti)
x y [menikah(x,y) Λ lelaki(x)] → ~ lelaki(y)
y x [orang(y) → ibu(x,y)
// fakta
// fakta
// aturan
// aturan
LOGIKA PREDIKAT
• Kalimat pertama menunjukkan adanya fakta bahwa Joko adalah
seorang lelaki, dan kalimat kedua menyatakan bahwa Joko
menikah dengan Tuti.
• Kalimat ketiga dan kalimat keempat menunjukkan suatu aturan
atau kaidah yang umum berlaku, bahwa untuk setiap pasang orang
x dan y, jika x menikah dengan y dan x adalah lelaki, maka dapat
dipastikan bahwa y adalah bukan seorang lelaki.
• Sedangkan kalimat terakhir menyatakan bahwa untuk setiap y, ada
x sehingga jika y adalah orang, maka y mempunyai seorang ibu x (x
ibu dari y).
• Simbol predikat yang digunakan dalam kalimat-kalimat tersebut
adalah lelaki, menikah, orang dan ibu yang sering disebut sebagai
relasi, sedangkan Joko dan Tuti disebut sebagai simbol
konstanta.
LOGIKA PREDIKAT
BAHASA DEKLARATIF
• Bahasa yang digunakan adalah Prolog
(Programming Logic).
• Prolog digunakan karena bersifat deskriptif atau
deklaratif, sedang bahasa lain umumnya bersifat
prosedural atau imperatif.
• Sebagai bukti bahwa Prolog merupakan bahasa
deklaratif adalah dalam menyatakan fakta dan
aturan seperti berikut :
LOGIKA PREDIKAT
BAHASA DEKLARATIF
1. Jika ingin menyatakan bahwa Prawiro adalah bapak dari
Joko, maka dalam Prolog dituliskan sebagai:
– bapak(prawiro, joko).
2. Jika ingin menerangkan suatu kaidah bahwa A adalah kakek
dari Z maka harus dibuat dahulu logika dalam bahasa
Indonesia sehingga menjadi suatu aturan seperti berikut:
– A adalah kakek dari Z jika A adalah bapak dari X dan X
adalah bapak Z
atau
– A adalah kakek dari Z jika A adalah bapak dari X dan X
adalah ibu Z
• Aturan tersebut ditulis dalam Prolog sebagai:
– kakek(A,Z) :- bapak(A,X), bapak(X,Z).
– kakek(A,Z) :- bapak(A,X), ibu(X,Z).
LOGIKA PREDIKAT
• Contoh Representasi Pengetahuan Dalam Bahasa Prolog
Tree di atas dapat dibuat representasi secara logika sbb :
• Putra(labiba, raihan)
• Putra(raihan, afif)
• Putra(afif, farhan)
• Putra(afif, arfan)
• Putri(raihan, farah)
• Putri(farah, naura)
LOGIKA PREDIKAT
• Pertanyaan sederhana pada basis data
pengetahuan
Secara logika dapat diberikan pertanyaan dari
fakta-fakta yang sudah direpresentasikan.
Bentuk pertanyaan “siapa putri dari farah?”
untuk representasi secara logikanya, dapat
dinyatakan sbb:
– putri (farah, D)
– D = naura
D adalah sebuah variabel yang digunakan untuk
menampung jawaban dari pertanyaan siapa putri dari
farah. Pertanyaan yang direpresentasikan secara
logika putri(farah, D) didapatkan jawaban adalah D
= naura.
LOGIKA PREDIKAT
LOGIKA PREDIKAT
Kalimat logika predikat atau First Order Logic yang
merupakan well-formed formula (wff) didefenisikan
sebagai berikut :
1. Jika P(t1, t2, …, tn) adalah suatu predikat n-ary
maka P adalah formula atomic
2. Sebuah formula atomic adalah WFF
3. Jika P dan Q adalah WFF maka P  Q, P V Q, ¬P,
P → Q, adalah juga WFF
4. Jika P adalah suatu WFF dan X bukan sebuah
quantified variable dalam P maka P tetap sebuah
WFF bahkan setelah quantifikasi. Misalnya x P
atau x P adalah WFF
LOGIKA PREDIKAT
Nyatakan kembali kalimat di bawah ini ke dalam logika predikat :
1. coconut-crunchy adalah sebuah biscuit
2. Neneng adalah anak kecil yang mengambil coconut-crunchy
3. Ali menyayangi anak-anak kecil yang mengambil biscuit
4. Ali menyayangi neneng
Pernyataan di atas dapat direpresentasikan dalam logika predikat
menggunakan quantifiers X dan Y sebagai berikut :
1. Biskuit(coconut-crunchy)
2. Anak kecil(neneng)  ambil(neneng, coconut crunchy)
3. x : ((anak kecil(x)  y :(ambil(x,y)  biscuit (y))) →
sayang(Ali, x)
4. Sayang (Ali, Neneng)
Konversi ke CNF
(CNF=conjunctive normal form)
• 1. Eliminasi bikondisional atau implikasi
x ((anak kecil(x) Λ y (ambil(x,y) Λ biskuit(y)))  sayang(Ali,x)
• 2. Reduksi scope  di depan quantifier menggunakan
pilihan formula sbb :
a. x p ≡ x p
b.  x p ≡ x p
c. ( p) ≡ p
mis.
d. (p V q) = p Λ q
e. (p Λ q) = p V q
x ((anak kecil(x) Λ y (ambil(x,y) Λ biskuit(y))) V sayang(Ali,x)
=> x ((anak kecil(x) V y ( ambil(x,y) V  biskuit(y))) V sayang(Ali,x)
Konversi ke CNF
(CNF=conjunctive normal form)
3.
Standarkan variabel: setiap quantifier harus
menggunakan variabel yang berbeda (pindahkan ke
bagian depan dari kalimat)
x y  anak kecil (x) V  ambil (x, y) V  biskuit (y) V sayang (Ali,
x)
4.
Skolemisasi: bentuk yang lebih general dari instansiasi
eksistensial
Setiap variabel eksistensial diganti dengan fungsi Skolem dari
variabel dengan quantifier universal
5.
Hapus quantifier universal :
 anak kecil (x) V  ambil (x, y) V  biskuit (y) V sayang (Ali, x)
LOGIKA PREDIKAT
 Resolusi Dalam Logika Predikat
Resolusi merupakan suatu teknik pembuktian
yang lebih efisien, sebab fakta-fakta yang akan
dioperasikan terlebih dahulu dibawa ke bentuk
yang sering disebut dengan nama klausa.
Pembuktian suatu pernyataan dilakukan dengan
cara menegasikan pernyataan tersebut,
kemudian dicari kontradiksinya dari pernyataanpernyataan yang sudah ada.
LOGIKA PREDIKAT
Pembuktian teorema Logika Predikat dengan Prinsip Resolusi
Pada dasarnya pembuktian teorema resolusi dalam logika predikat
sama dengan resolusi dalam logika proposisi. Bedanya, resolusi
predikat ditambah dengan unifikasi.
Misalnya ingin dibuktikan suatu teorema (Th) dari sekumpulan aksioma,
maka kita menunjukkannya dengan : {A1,A2,…An}_Th
Contohnya :
A1 = Biskuit(coconut crunchy)
A2 = Anak kecil(neneng) Λ Ambil(neneng, coconut-crunchy)
A3 = x (anak kecil(X) Λ Y (ambil(X,Y) Λ Biskuit(Y)))→ Sayang(Ali, X)
dan Teoremanya : sayang(Ali, Neneng) = A4
Buktikan teorema bahwa sayang (Ali, Neneng) !
LOGIKA PREDIKAT
Pembuktian teorema Logika Predikat dengan Prinsip
Resolusi
Penyelesaiannya :
Konversikan semua aksioma di atas ke dalam bentuk CNF
seperti di bawah ini:
A1 = Biskuit(coconut crunchy)
A2 = Anak kecil(Neneng)
A3 = Ambil(Neneng, coconut-crunchy)
A4 = ¬anak kecil(X) V ¬ ambil(X,Y) V ¬ biscuit (Y) V
sayang(Ali, X)
A5 = ¬Sayang(Ali, Neneng)
LOGIKA PREDIKAT
¬Sayang(Ali, Neneng)
¬anak kecil (x) V ¬ ambil(x,y) V ¬ biscuit (y) V sayang(Ali, x)
¬anak kecil(x) V ¬ ambil(x,y) V ¬ Biskuit (y)
¬anak kecil (x) V ¬ ambil (neneng, coconut crunchy)
¬ ambil (neneng, coconut crunchy)
Biskuit(coconut crunchy)
Anak kecil (Neneng)
ambil (neneng, coconut crunchy)
φ
Graph resolusi untuk membuktikan bahwa
sayang(Ali, Neneng)
Latihan (1)
1. Konversikan kalimat-kalimat di bawah ini ke dalam logika predikat :
a. Mandala seorang manusia
b. Mandala berasal dari Papua
c. Semua orang Papua adalah orang Indonesia
d. Raja adalah pembuat aturan
e. Semua orang Indonesia loyal kepada raja atau membencinya
f. Tiap orang loyal kepada seseorang
g. Warga hanya membunuh pembuat aturan yang mereka tidak
loyal padanya
h. Mandala membunuh raja
2. Buktikan dengan resolusi apakah Mandala membeni raja?
Latihan (2)
All people who are not poor and are smart are
happy. Those people who read are not stupid. John
can read and is wealthy. Happy people have
exciting lives. Can anyone be found with an exciting
life?
Latihan (2)
All people who are not poor and are smart are
happy. Those people who read are not stupid. John
can read and is wealthy. Happy people have
exciting lives. Can anyone be found with an exciting
life?
x (Poor(x)  Smart(x)  Happy(x))
y (Read(y)  Smart(y))
Read(John)  Wealthy(John)
z (Happy(z)  Exciting(z))
Goal: Exciting(w)
Resolusi - Kasus
Transformasi kalkulus predikat ke disjungsi kalimat:
Poor(x)   Smart(x)  Happy(x)
 Read(y)  Smart(y)
Read(John)
 Happy(z)  Exciting(z))
 Exciting(w)
 Poor(John)
{z/w}
 Happy(z)  Exciting(z))
 Exciting(w)
Poor(x)   Smart(x)  Happy(x)
 Happy(z)
{x/z}
Poor(x)   Smart(x)
 Read(y)  Smart(y)
{y/x}
Poor(y)   Read(y)
 Poor(John)
{John/y}
 Read(John)
{}
{z/w} pada contoh ini berarti z mensubstitusi w
Read(John)
Latihan (3)
Anyone passing his history exam and winning the
lottery is happy. But anyone who studies or is lucky
can pass all his exams. John did not study but he is
lucky. Anyone who is lucky wins the lottery. Is John
happy?
Latihan (3)
Anyone passing his history exam and winning the
lottery is happy. But anyone who studies or is lucky
can pass all his exams. John did not study but he is
lucky. Anyone who is lucky wins the lottery. Is John
happy?
x (Pass(x, History)  Win(x, Lottery)  Happy(x)) 1
x y (Study(x)  Lucky(x)  Pass(x,y)) 2 3
 Study(John)  Lucky(John) 4 5
x (Lucky(x)  Win(x, Lottery)) 6
Goal: Happy(John) 7
C. POHON
Pohon merupakan struktur penggambaran secara hirarki. Struktur pohon
terdiri dari node-node yang menunjukkan obyek dan arc (busur) yang
menunjukkan hubungan antar obyek.
A
B
E
F
C
G
H
I
D
J
K
L
M
D. JARINGAN SEMANTIK
Jaringan Semantik merupakan gambaran pengetahuan grafis yang
menunjukkan hubungan berbagai obyek. Obyek di sini bisa berupa
benda atau peristiwa.
Salah satu keuntungan jaringan semantik ini adalah bisa mewariskan
obyek-obyek tersebut.
punya
pagi
masuk
jumlahnya
Sekolah
pergi
sepeda
naik
membaca
berjudul
buku
berwarna
merah
Budi
adalah
kakak
berwarna
Si kancil
laki2
adalah
Ani
adalah
memakai
binatang adalah
Makhluk
hidup
roda
adalah
wanita
Contoh jaringan semantik
baju
dua
D. FRAME
 Frame merupakan kumpulan pengetahuan tentang suatu obyek tertentu,
peristiwa, lokasi, situasi dan lain-lain.
 Frame memiliki slot yang menggambarkan rincian dan karkteristik obyek.
 Frame digunakan untuk merepresentasikan pengetahuan yang
didasarkan pada karakteristik yang sudah dikenal berupa pengalamanpengalaman.
Frame alat2 transportasi
Frame macam2 angkut darat
Trans. Darat
Slot mobil
Frame macam2 mobil
Slot Sedan
Frame jenis bahan bakar
Slot bensin
Slot solar
E. NASKAH (SCRIPT)
 Naskah : Skema representasi pengetahuan yang sama dengan frame,
yakni merepresenasikan pengetahuan berdasarkan karakteristik yang
sudah dikenal sebagai pengalaman-pengalaman
 Perbedaannya dengan frame :
Frame menggambarkan obyek sedangkan naskah menggambarkan
urutan peristiwa
 Elemen-elemen naskah meliputi:
a. kondisi input, yaitu kondisi yg harus dipenuhi sebelum terjadi peristiwa
dalam naskah
b. Track, varisi yang mungkin terjadi dalam suatu naskah
c. Prop, berisi obyek-obyek pendukung yang digunakan selama
peristiwa terjadi
d. Role, peran yang dimainkan oleh seseorang dalam peristiwa
e. Scene, yaitu adegan yang dimainkan dalam peristiwa tersebut
f. Hasil, yaitu kondisi yang ada setelah urutan peristiwa dalam naskah
terjadi.
E. NASKAH (SCRIPT)
contoh kejadian yang ada di “UTS KB”
• Jalur (track) : ujian tertulis matakuliah
Kecerdasan Buatan
• Role (peran) : mahasiswa, pengawas
• Prop (pendukung) : lembar soal, lembar
jawab, presensi, pena, dll
• Kondisi input : mahasiswa terdaftar untuk
mengikuti ujian
E. NASKAH (SCRIPT)
contoh kejadian yang ada di “UTS KB”
• Adegan (scene) -1 : Persiapan pengawas
– Pengawas menyiapk an lembar soal
– Pengawas menyiapkan lembar jawab
– Pengawas menyiapkan lembar presensi
• Adegan-2 : Mahasiswa masuk ruangan
–
–
–
–
Pengawas mempersilahkan mahasiswa masuk
Pengawas membagikan lembar soal
Pengawas membagikan lembar jawab
Pengawas memimpin doa
• Adegan – 3 : Mahasiswa mengerjakan soal ujian
–
–
–
–
Mahasiswa menuliskan identitas di lembar jawab
Mahasiswa menandatangai lembar jawab
Mahasiswa mengerjakan soal
Mahasiswa mengecek jawaban
E. NASKAH (SCRIPT)
contoh kejadian yang ada di “UTS KB”
• Adegan – 4 : Mahasiswa telah selesai ujian
– Pengawas mempersilahkan mahasiswa keluar ruangan
– Mahasiswa mengumpulkan kembali lembar jawab
– Mahasiswa keluar ruangan
• Adegan – 5 : Mahasiswa mengemasi lembar jawab
– Pengawas mengurutkan lembar jawab
– Pengawas mengecek lembar jawab dan presensi
– Pengawas meninggalkan ruangan
E. NASKAH (SCRIPT)
contoh kejadian yang ada di “UTS KB”
• Hasil :
– • Mahasiswa merasa senang dan lega
– • Mahasiswa merasa kecewa
– • Mahasiswa pusing
– • Mahasiswa memaki – maki
– • Mahasiswa sangat bersyukur
F. SISTEM PRODUKSI
 Secara umum, sistem produksi terdiri dari komponen-komponen
sebagai berikut :
a. Ruang keadaan,
yang berisi berisi keadaan awal, tujuan dan kumpulan aturan yang
digunakan untuk mencapai tujuan
b. Strategi kontrol,
yang berguna untuk mengarahkan bagai-mana proses pencarian akan
berlangsung dan megnendalikan arah eksplorasi.
 Representasi pengetahuan denan sistem produksi pada dasarnya
berupa aplikasi (rule) yang berupa :
a. Antecedent, yaitu bagian yang mengekspresikan situasi atau premis
(Pernyataan berawalan IF)
b. Konsekuen, yaitu bagian yang menyatakan suatu tindakan tertentu
atau konklusi yang diterapkan jika suatu situasi atau premis bernilai
benar (pernyataan berawalan THEN).
Download