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