Pengantar • Logika proposisional bersifat deklaratif menyatakan fakta-fakta secara terpisah dari prosedur/mekanisme inferensi • Bersifat tidak ambigu (unambiguous) makna sebuah sentence jelas: “benar” atau “salah” • Kelemahan: kurang ekspresif, tidak bisa menjelaskan model yg “tidak terbatas” – Unyil seorang yang cerdas. – Unyil suka belajar – Jika Unyil seorang yang cerdas dan suka belajar, maka Unyil mendapat nilai bagus – Bagaimana dengan Cuplis dan Ableh? (Keduanya sama- sama cerdas dan suka belajar) Pengantar • First Order Logic/Predicate Logic/Predicate Calculus adalah generalisasi dari logika proposisional yang mengekspresikan dan meng-infer bentuk infinite (infinite model) • Contoh: – Semua manusia akan meninggal – Beberapa burung tidak dapat terbang – Terdapat setidaknya satu orang yg makan jagung di ruang ini • Pada logika proposisional hanya mengandung fakta. • Pada First Order Logic, mengandung: – Object : orang, bangunan, buku, warna, mahasiswa dll – Relations dinyatakan dengan predikat – Functions berfungsi untuk menghasilkan object lain: ayah dari, babak final dari.... dst.... Unsur First Order Logic • Terms – Constant – Variables – Function • Predicate • Quantifiers Sintaks First Order Logic Sentence Atomic Sentence | Sentence Connective Sentence | Quantifiers Variables,... Sentence | ¬ Sentence | (Sentence)
Atomic Sentence Predicate(Term,...) | Term=Term
Term Function(Term,...) | Constant | Variable Connective ˄ | V | ==> | <==> Quantifiers | Term • Menyatakan beberapa objek • Bernilai true atau false • Contoh: – Semar adalah seorang polisi – Semua manusia akan meninggal Term • Term bisa berupa konstanta (constant), variabel atau function • Konstanta menyatakan nilai tertentu yg tetap/pasti – Contoh: 5, Mobil, Edi – Jika berupa huruf, maka konstanta diawali dg huruf kapital • Variabel menyatakan elemen yg tidak tetap dalam sebuah himpunan tertentu – Contoh: x, y, nama, dst – Variabel ditulis dengan huruf kecil semua Term • Function – Contoh: • tambah(3,4) • tambah(2, tambah(10,x)) • tambah(tambah(1, tambah(5,3)), tambah(y,3)) – Function bisa berisi variabel atau konstanta atau kombinasi keduanya Predikat • Predikat seperti fungsi, namun nilai yg dikembalikan adalah true atau false – lebih_besar(x,y) bernilai benar jika dan hanya jika x>y • Tipe predikat ada 2: tanpa variabel dan dengan variabel • Predikat tanpa variabel adalah proposisi – Contoh: Petruk adalah polisi, ditulis: polisi(Petruk) • Predikat dengan variabel dinamakan properti – Contoh: x adalah penulis, dinyatakan dg: penulis(x) Predikat • Contoh predikat: – Jika x manusia, maka x akan meninggal Manusia(x) Meninggal(x) ¬Manusia(x) V Meninggal(x) – Jika n bilangan asli, maka n genap atau ganjil Bil_asli(n) Genap(n) V Ganjil(n) Quantifiers • Dua jenis quantifier pada FOL: – Universal quantifier : dibaca “untuk semua” (for all) – Existential quantifier: dibaca “ ada/terdapat” (there exist) Contoh quantifiers • Semua prajurit setia Setia(x) : x setia Prajurit(x) : x adalah prajurit x (Prajurit(x) Setia(x)) • Semua burung tidak dapat terbang Terbang(x) : x dapat terbang Burung(x) : x adalah burung x(Burung(x) ¬Terbang(x) Contoh quantifiers • Ada burung yg tidak dapat terbang Terbang(x) : x dapat terbang Burung(x) : x adalah burung x (Burung(x) ˄ ¬Terbang(x)) Contoh quantifiers (term > 1) • Semua mahasiswa PTIK UNJ cerdas Mahasiswa(x, PTIK_UNJ) Cerdas(x) x Mahasiswa(x, PTIK_UNJ) Cerdas(x) • Pernyataan di atas akan bernilai benar selama x adalah mahasiswa PTIK UNJ Penggunaan Connective • Biasanya, adalah connective yang digunakan bersama quantifiers • Jika ˄ digunakan bersama maka akan terjadi masalah: – x Mahasiswa(x, PTIK_UNJ) ˄ Cerdas(x) • Kalimat tsb bermakna: “Semua orang adalah mahasiswa PTIK UNJ dan cerdas Contoh quantifiers (term > 1) • Ada mahasiswa Teknik Sipil UNJ yang cerdas Mahasiswa(x, TeknikSipilUNJ) Cerdas(x) x Mahasiswa(x, TeknikSipilUNJ) ˄ Cerdas(x) • Pernyataan di atas akan bernilai benar selama minimal terdapat satu (1) x (mahasiswa teknik sipil UNJ) yg pintar Contoh kalimat • Ayah adalah orangtua – x,y Ayah(x,y) Orangtua(x,y) • Ibu adalah orangtua berjenis kelamin perempuan – x,y Ibu(x,y) => Orangtua(x,y) ˄ Perempuan(x) • Sepupu adalah anak dari saudara orangtua – x,y Sepupu(x,y) => a,b Orangtua(a,x) ˄ Saudara(a,b) ˄ Orangtua(b,y) Contoh kalimat • Ada peserta kuliah Kecerdasan Buatan mendapat nilai A • Setiap orang kehilangan uang di bioskop • Setiap laki-laki harus mengikuti wajib militer Contoh kalimat • Tidak seluruh mahasiswa mengambil mata_kuliah Sejarah dan Biologi • Hanya satu orang mahasiswa gagal di mata_kuliah Sejarah • Ada satu mahasiswa yang gagal pada mata_kuliah Sejarah dan Biologi • Nilai tertinggi pada mata_kuliah Sejarah lebih baik dari pada nilai tertinggi mata_kuliah Biologi • Tidak ada orang yang menyukai profesor kecuali profesor tersebut cerdas