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 sebenarnya logika proposisional juga ditambah dengan hal-hal yang baru yakni tentang penguantoran, kemudian ditambah istilah-istilah baru, misalnya kuantor, universe of discourse, term, predikat fungsi dan lain-lain. 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
• 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)
• 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
• 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
TERM
Term pada logika predikat adalah ekspresi yang
merupakan objek, dibangun berdasarkan aturan :
1. Konstanta : adalah term
2. Variabel : adalah term
3. Jika t
1, t
2, . . . , t
nadalah term, dimana n>1
dan F suatu simbol fungsi dari aritas n, maka
aplikasi : F(t
1, t
2, . . . , t
n) 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
Kalimat Atomik
Kalimat atomik =predikat (term
1,...,term
n)
atau term
1= term
2Term = fungsi (term
1,...,term
n)
atau konstanta atau variabel
• Contoh:
Brother(John, Richard)
Married(Father(Richard), Mother(John))
22/07/2017 9
Kalimat Kompleks
• Kalimat kompleks dibuat dari
kalimat-kalimat atomik dengan menggunakan
konektif
S, S
1 S
2, S
1 S
2, S
1 S
2, S
1 S
2Contoh:
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(term
1,...,term
n) benar
jika dan hanya jika objek-objek yang menjadi acuan bagi
term
1,...,term
nberada dalam relasi-relasi yang diacu oleh
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 :
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) // fakta
– menikah(Joko, Tuti) // fakta – x y [menikah(x,y) Λ lelaki(x)] → ~ lelaki(y) // aturan – y x [orang(y) → ibu(x,y) // 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).
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
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
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
d. (p V q) = p Λ q
b. x p ≡ x p
e. (p Λ q) = p V q
c. ( p) ≡ p
mis.
x ((anak kecil(x) Λ y (ambil(x,y) Λ biskuit(y))) V sayang(Ali,x)
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)
Konversi ke CNF
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
pernyataan-pernyataan yang sudah ada.
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) !
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)
Graph resolusi untuk membuktikan bahwa
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) Biskuit(coconut crunchy)
¬anak kecil (x) V ¬ ambil (neneng, coconut crunchy) Anak kecil (Neneng)
¬ ambil (neneng, coconut crunchy) ambil (neneng, coconut crunchy)
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
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) Poor(John)
Happy(z) Exciting(z)) Exciting(w)
Exciting(w) Happy(z) Exciting(z))
Happy(z) Poor(x) Smart(x) Happy(x)
Poor(x) Smart(x) Read(y) Smart(y)
Poor(y) Read(y) Poor(John) Read(John) {z/w} {x/z} {y/x} {John/y} 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
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
G H I J K L M
B C D
F E
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. pagi roda Sekolah sepeda Budi buku merah Ani laki2 Si kancil dua baju binatang Makhluk hidup wanita
Contoh jaringan semantik
masuk adalah adalah berjudul adalah membaca memakai kakak berwarna berwarna punya jumlahnya naik adalah adalah pergi
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 pengalaman-pengalaman. Trans. Darat Slot solar Slot Sedan Slot mobil Slot bensin
Frame alat2 transportasi
Frame macam2 angkut darat
Frame macam2 mobil
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).