250 likes | 804 Views
Kalkulus Predikat. ASK 344-2 Pemrograman Logik. Cecilia E. Nugraheni Jurusan Ilmu Komputer Universitas Katolik Parahyangan Semester Genap 2006/2007. Kalkulus Predikat. Pengantar Proposisi Bentuk klausal Pembuktian theorema. Pengantar. Dasar dari pemrograman logik adalah logika formal.
E N D
Kalkulus Predikat ASK 344-2Pemrograman Logik Cecilia E. Nugraheni Jurusan Ilmu Komputer Universitas Katolik Parahyangan Semester Genap 2006/2007
Kalkulus Predikat • Pengantar • Proposisi • Bentuk klausal • Pembuktian theorema
Pengantar • Dasar dari pemrograman logik adalah logika formal. • Sebuah proposisi dapat dipandang sebagai pernyataan logis yang dapat bernilai benar atau tidak benar. • Proposisi terdiri atas objek dan hubungan/relasi antar objek. • Logika formal menyediakan satu metode untuk menjelaskan proposisi, dengan tujuan agar proposisi dapat diuji validitasnya.
Pengantar • Tiga kebutuhan dasar logika formal: • Menyatakan proposisi • Menyatakan relasi antar proposisi • Menurunkan/memperoleh proposisi dari kumpulan proposisi yang ada • Logika simbolik dapat memenuhi kebutuhan dasar tersebut di atas. • Kalkulus predikat adalah bentuk khusus logika simbolik yang digunakan untuk pemrograman logik.
Proposisi • Objek dari proposisi pemrograman logik dinyatakan sebagai term sederhana. • Term sederhana dapat berupa: • Konstanta • Variabel • Proposisi yang paling sederhana disebut proposisi atomik yang terdiri atas term gabungan.
Proposisi • Term gabungan adalah satu elemen dari sebuah relasi matematik yang dinyatakan dengan notasi fungsi. • Sebuah term gabungan tersusun atas: • Functor (simbol fungsi, nama relasi) • Rangkaian parameter • Term gabungan dengan 1 parameter disebut 1-tupel; dengan 2 parameter disebut 2-tupel, dst.
Proposisi • Contoh term gabungan: • man(jake) menyatakan bahwa {jake} adalah sebuah 1-tupel pada relasi yang bernama man • like(bob, steak) menyatakan bahwa {bob, steak} adalah sebuah 2-tupel pada relasi yang bernama like • jake,bob, dan steak adalah konstanta. • Proposisi tidak mempunyai arti semantik.
Proposisi • Proposisi dapat dinyatakan dengan dua modus: • Proposisi didefinisikan bernilai benar fakta • Nilai kebenaran proposisi akan ditentukan kemudian query • Proposisi gabungan terdiri atas dua atau lebih proposisi atomik yang dihubungkan dengan operator logika.
Proposisi • Tabel operator
Proposisi • Contoh proposisi gabungan: • a b c • a b c • Presedensi operator • • , , • , • a b c ekivalen dengan (a (b))c
Proposisi • Variabel dapat muncul hanya bila diperkenalkan oleh kuantifikator. • Ada dua kuantifikator: • Universal x. p : untuk semua x, p benar • Eksistensial x. p : terdapat sebuah nilai x dimana p benar
Bentuk klausal • Bahasa logik paling baik berada pada bentuk yang paling sederhana redudansi minimal. • Masalah dengan kalkulus predikat : banyak cara untuk menyatakan proposisi yang sama redudansi. • Diperlukan bentuk proposisi standar bentuk klausal.
Bentuk klausal • Sintaks umum proposisi berbentuk klausal B1 B2 … Bn A1 A2 … An arti : Jika semua Ai benar maka paling sedikit ada satu Bi benar. • Karakteristik bentuk klausal: • Tidak diperlukan kuantifikator eksistensial • Kuantifikator universal implisit pada penggunaan variabel pada proposisi atomik • Tidak ada operator selain konjungsi dan disjungsi
Bentuk klausal • Contoh: • likes(bob, trout) likes(bob,fish) fish(trout) • father(louis, al)father(louis, violet) father(al, bob) mother(violet, bob) grandfather (louis, bob)
Konversi ke bentuk klausal • Relabel clashing variables. • Eliminate , , and . • Move inwards. • Skolemise existentially quantified variables. • Drop universal quantifiers. • Distribute disjunction over conjunction. • Rewrite as clauses.
Latihan 1 • Ubahlah proposisi berikut dalam bentuk klausal: • X.Y.(p(X,Y) q(X,Y)) • X.Y.(q(X,Y) p(X,Y)) • X.Y.(p(X,Y) (q(X<Y) r(X,Y)) • X.Y.(p(X,Y) q(X,Y)) • (X.p(X)) (X.p(X))
Latihan 2 • Consider the following sentences • All who can read are literate. • Dolphins are not literate. • Some dolphins are intelligent. • Some who are intelligent cannot read. • Using only the predicates read, literate, dolphins, intelligent, represent the above sentences in first-order predicate calculus. • Convert 1-4 into clausal form.
KP dan pembuktian theorema • Kalkulus predikat menyediakan metode untuk menyatakan kumpulan proposisi. • Kegunaan kumpulan proposisi tersebut adalah untuk menentukan apakah ada fakta yang dapat diturunkan dari kumpulan proposisi tersebut • Analog dengan matematikawan: menemukan theorema baru dari kumpulan aksioma dan theorema yang sudah ada.
KP dan pembuktian theorema • Pembuktian theorema secara otomatis: RESOLUSI. • Resolusi dapat bekerja dengan proposisi berbentuk klausal. • Konsep resolusi: • P1 P2 dan Q1 Q2 • Misal P1 Q2 dan ganti namanya dengan T. • Maka T P2 dan Q1 T. • Lebih lanjut, Q1 P2.
KP dan pembuktian theorema Contoh: • older(joanne, jake) mother(joanne, jake) wiser(joanne, jake) older(joanne, jake) hasil: wiser(joanne, jake) mother(joanne, jake) • father(bob,jake) mother(bob,jake) parent(bob, jake) grandfather(bob,fred) father(bob, jake) father(jake,fred) hasil: mother(bob, jake) grandfather(bob,fred)
KP dan pembuktian theorema • Resolusi bisa lebih kompleks dari contoh sebelumnya. • Terutama dengan adanya kemunculan variabel. • Diperlukan pencarian nilai variabel tertentu agar pembuktian berhasil INSTANSIASI. • Proses instansiasi mungkin gagal perlu dilakukan backtrack.
KP dan pembuktian theorema • Resolusi dapat digunakan untuk mendeteksi ketidakkonsistenan yang terdapat pada sekumpulan proposisi. • Resolusi dapat digunakan untuk pembuktian theorema (kontradiksi): • Theorema yang akan dibuktikan dinegasikan • Lakukan resolusi • Jika ada ketidakkonsistenan maka terbukti bahwa theorema tersebut benar. • Theorema asal disebut hipotesis, dan yang dinegasikan disebut goal.
KP dan pembuktian theorema • Pembuktian theorema dengan resolusi memerlukan bentuk khusus: klausa Horn. • Klausa Horn mempunyai 2 bentuk: • Proposisi atomik tunggal di sisi kiri contoh: likes(bob,trout) likes(bob,fish) fish(trout) • Sisi kiri kosong contoh: father(bob,jake) • Hampir semua proposisi dapat dinyatakan sebagai klausa Horn.
Latihan 3 • Find out the response by using resolution: • Jack owns a dog. • Every dog owner is an animal lover. • No animal lover kills an animal. • Either Jack or John killed the cat, who is named Tuna. • Cat is an animal. Did John kill the cat?
Latihan 4 • Whoever can read is a literate. • Dolphins are not literate. • Some dolphins are intelligent. Prove by resolution that there exist some who are intelligent can not read.