PREDICATE LOGIC PREDICATE LOGIC Dikenal juga sebagai Predicate
PREDICATE LOGIC
PREDICATE LOGIC Dikenal juga sebagai Predicate Calculus atau First. Order Logic (FOL) Komponen : � Objects : Sesuatu dengan identitas individual (people, houses, colors, …. ) � Properties : Sifat yang membedakannya dari object yang lain (red, circle, …) � Relation : Hubungan antar object (brother of, bigger than, part of, …) � Function : Relation yang mempunyai satu nilai (father of, best friend, …)
TATA BAHASA PADA FOL Sentence Atomic Sentence |Sentence Connective Sentence |Quantifier Variable, …Sentence | Sentence |(Sentence) Atomic Sentence Predicate (Term, …) | Term = Term Function (Term, …) | Constant |Variable
TATA BAHASA PADA FOL Connective Quantivier Constant A | Xi | John |… Variable a | x | s |… Predicate Before | Has. Color | … Function Mother. Of|…
PENJELASAN TATA BAHASA Constant � � � Variable � Dituliskan dalamhuruf kecil: a, x, s Predicate � � � Dituliskan dalam huruf besar : A, X 1, Budi Harus menyatakan secara spesifik objek yang dimaksud Memungkinkan mengacu pada beberapa nama berbeda Menyatakan relasi khusus Dapat memiliki beberapa nilai Misal : Berwarna (Tasku, Hijau); Berwarna(Tasku, Merah) Function � � Relasi yang hanya mempunyai satu nilai Ibu. Kandung(Nina, Budi)
PENJELASAN TATA BAHASA Term � Ekspresi logika yang mengacu pada sebuah objek � Dapat berupa constant, variable atau function Atomic Sentence � Dapat dibentuk dari Predicate (Term, …) atau Term=Term � Misal : Sepatu (Budi) Saudara (Andi, Budi) Memberi (Andi, Budi, Kue. Coklat) Saudara(Andi) = Budi
PENJELASAN TATA BAHASA Complex sentence : Sentence yang dibangun menggunakan connective � Misal : � Saudara (Andi, Budi) Memberi (Andi, Budi, Kue. Coklat) Universal Quantifier ( ) Dibaca : ”For All” atau “untuk semua/untuk setiap” � Misal : � � Untuk setiap objek x, jika x adalah anak kecil, maka x suka permen dinyatakan : x Anak. Kecil (x) Suka(x, Permen) Kalimat bernilai benar jika dan hanya jika semua kalimat di bawah ini benar Anak. Kecil (Andi) Suka(Andi, Permen) Anak. Kecil (Budi) Suka(Budi, Permen) Anak. Kecil (Sinta) Suka(Sinta, Permen) …
PENJELASAN TATA BAHASA Existential Quantifier ( ) � � Dibaca : ”There Exist” atau “ada satu atau beberapa” Misal : � “Ada objek x, jika x adalah anak kecil, maka x suka permen” dinyatakan : x Anak. Kecil (x) Suka(x, Permen) Kalimat bernilai benar jika dan hanya jika ada (minimal satu) kalimat di bawah ini benar Anak. Kecil (Andi) Suka(Andi, Permen) Anak. Kecil (Budi) Suka(Budi, Permen) Anak. Kecil (Sinta) Suka(Sinta, Permen) … Nested Quantifier � � Kalimat kompleks yang menggunakan quantifier ganda Misal : “Untuk semua x dan semua y, jika x adalah orang tua y, maka y adalah anak dari x” dinyatakan : “ x, y Orang. Tua(x, y) Anak(y, x)
HUBUNGAN DAN Melalui sebuah negasi ( ) Misal : � “Semua anak kecil suka permen” ekuivalen dengan “Tidak ada anak kecil yang tidak suka permen” � x Suka(x, Permen) ekuivalen dengan Suka(x, permen) Hukum De Morgan
ATURAN INFERENSI FOL Menggunakan aturan inferensi PL ditambah 3 aturan lain. Tambahan aturan : Universal Elimination: � Untuk setiap sentence �, variabel v dan ground term (term yang tidak berisi variabel) g : x suka(x, Permen) dapat digunakan substitusi {x|Andi} dan melakukan inferensi Suka(Andi, Permen) � Dari
ATURAN INFERENSI FOL Existential Elimination : � Untuk suatu sentence �, variabel v dan simbol konstanta k yang tidak ada di dalambasis pengetahuan : x Saudara (x, Budi), dapat disimpulkan Saudara (Andi, Budi) selama. Andi tidak ada di dalam Basis Pengetahuan � Dari
ATURAN INFERENSI FOL Existential Introduction : � Untuk suatu sentence �, variabel v yang tidak terjadi pada �, dan ground term g yang terjadi pada � � Dari Suka(Budi, Permen) dapat disimpulkan x Suka(x, Permen)
STUDI KASUS ; HUKUM PERKAWINAN Hukum perkawinan menyatakan bahwa suatu pernikahan adalah tidak sah jika kedua mempelai memiliki hubungan keponakan. Wati menikah dengan Andi, dimana Wati adalah anak kandung Budi yang merupakan saudara kembar Andi. Buktikan bahwa pernikahan Andi dan Wati adalah tidak sah.
RUMUSAN MASALAH Representasikan fakta ke dalam FOL � (1). � (2). � (3). � (4). � (5). � (6).
PENALARAN INFERENSI Dari (5) dan Universal Elimination: � Saudara. Kembar(Budi, Andi) Saudara. Kandung(Budi, Andi) (7) Dari (4), (7) dan Modus Ponens: � Saudara. Kandung(Budi, Andi) (8) Dari (6) dan Universal Elimination: Saudara. Kandung(Budi, Andi) Keponakan (Wati, Andi) (9) � Anak. Kandung(Wati, Budi)
PENALARAN INFERENSI Dari (3), (8) dan And-Introduction : …. (10) Dari (9), (10) dan Modus Ponens : … (11) Dari (1) dan Universal Elimination : … (12) Dari (11), (2) dan And-Introduction : … (13) Dari (12), (13) dan Modus Ponens : … (14)
GENERALIZED MODUS PONENS Gabungan dari 3 aturan inferensi � And-Introduction, Universal Elimination, Modus Ponens Contoh : � Anak. Kandung(Wati, Budi) � Saudara. Kandung(Budi, Andi) � x, y, z Anak. Kandung(x, y) Saudara. Kandung(y, z) Keponakan(x, z)
FORWARD CHAINING DAN BACKWARD CHAINING GMP dapat digunakan dalam dua cara : forward chaining dan backward chaining Forward Chaining : � Dimulai dari kalimat-kalimat yang ada dalam knowledgebase dan membangkitkan kesimpulan baru, sehingga dapat digunakan untuk melakukan inferensi yang lebih jauh. Backward Chaining : � Dimulai dari sesuatu yang ingin dibuktikan. Kemudian mencari kalimat-kalimat implikasi sehingga dapat membuat kesimpulan sampai menemukan premise yang ingin dibuktikan.
LOGICAL PROGRAMMING Paradigma bahasa pemrograman yang memandang pernyataan logis sebagai suatu program Contoh : � Bahasa PROLOG (PROgramming in LOGic)
CONTOH LOGICAL PROGRAMMING Representasi dalam FOL � Menikah(Wati, Andi) � x, y Saudara. Kembar(x, y) Saudara. Kandung(x, y) � x, y, z Anak. Kandung(x, y) Saudara. Kandung(y, z) Keponakan(x, z) Representasi dalam PROLOG � Menikah (wati, andi). � Saudara. Kandung (X, Y) : - Saudara. Kembar (X, Y) � Keponakan (X, Z) : - Anak. Kandung (X, Y) , Saudara. Kandung (Y, Z)
PERBADAAN SINTAKS Quantifier � � Penulisan variabel dan konstanta � � FOL : variabel huruf kecil, konstanta huruf besar PROLOG : variabel huruf besar, konstanta huruf kecil Penulisan simbol “and” � � FOL : dinyatakan secara eksplisit. PROLOG : dinyatakan implisitoleh variabel yang diinterpretasikan FOL : Ditulis simbol PROLOG : Ditulis ‘, ’ Penulisan simbol “if. . then…” � � FOL : ditulis p q PROLOG : ditulis q : - p
- Slides: 21