Logika predikat dapat memberikan representasi fakat-fakta sebagai suatu pernyataan yang mapan (well form).
Syarat-syarat symbol dalam logika predikat :
- himpunan huruf, baik huruf kecil maupun huruf besar dalam abjad.
- Himpunan digit (angka) 0,1,2,…9
- Garis bawah “_”
- Symbol-simbol dalam logika predikat dimulai dengan sebuah huruf dan diikuti oleh sembarang rangkaian karakter-karakter yang diijinkan.
- Symbol-simbol logika predikat dapat merepresentasikan variable, konstanta, fungsi atau predikat
Konstanta: objek atau sifat dari semesta pembicaraan. Penulisannya diawali dengan huruf kecil, seperti : pohon, tinggi. Konstanta true(benar) dan false(salah) adalah symbol kebenaran (truth symbol).
Variable : digunakan untuk merancang kelas objek atau sifat-sifat secara umum dalam semesta pembicaraan. Penulisannya diawali dengan huruf besar, seperti : Bill, Kate.
Fungsi : pemetaan (mapping) dari satu atau lebih elemen dalam suatu himpunan yang disebut domainfungsi ke dalam sebuah elemen unik pada himpunan lain yang disebut rangefungsi. Penulisannya dimulai dengan huruf kecil. Suatu ekspresi fungsi merupakan symbol fungsi yang diikuti argument.
Argumentadalah elemen-elemen dari fungsi, ditulis diapit tanda kurung dan dipisahkan dengan tanda koma.
Predikat: menamai hubungan antara nol atau lebih objek dalam semesta pembicaraan. Penulisannya dimulai dengan huruf kecil, seperti : equals, sama dengan, likes, near.
Contoh kalimat dasar :
teman(george,allen)
teman(ayah_dari(david),ayah_dari(andrew))
dimana :
argument : ayah_dari(david) adalah george
argument : ayah_dari(andrew) adalah allen
predikat : teman
Quantifier Universal
Operator logika konektif : ∧,∨, ~, →, ≡.
Logika kalkulus orde pertama mencakup symbol universal quantifier ∀dan existensial quantifier ∃.
Menunjukkan semua kalimat adalah benar untuk semua nilai variabelnya.
Direpresentasikan dengan symbol ∀diikuti satu atau lebih argument untuk suatu domain variable.
Symbol∀diinterpretasikan “untuk setiap”atau “untuk semua”.
Contoh 1 :
(∀x) (x + x = 2x)
“untuk setiap x (dimana x adalah suatu bilangan),
kalimat x + x = 2x adalah benar.”
Contoh 2 :
(∀x) (p) (Jika x adalah seekor kucing → x adalah binatang)
Kebalikan kalimat “bukan kucing adalah binantang” ditulis :
(∀x) (p) (Jika x adalah seekor kucing → ~x adalah binatang)
dan dibaca : -“setiap kucing adalah bukan binantang”
-“semua kucing adalah bukan binantang”
Quantifier Existensial
Menunjukkan semua kalimat adalah benar untuk suatu nilai tertentu dalam sebuah domain.
Direpresentasikan dengan symbol ∃diikuti satu atau lebih argument.
Symbol ∃diinterpretasikan “terdapat”atau “ada”, “paling sedikit satu”,“terdapat satu”, “beberapa”.
Contoh 1 :
(∃x) (x . x = 1)
Dibaca : “terdapat x yang bila dikalikan dengan dirinya sendiri hasilnya sama dengan 1.”
Contoh 2 :
(∃x) (gajah(x) ∧nama(Clyde))
Dibaca : “beberapa gajah bernama Clyde”.
Existensial quantifier dapat diekspresikan sebagai disjungsi dari urutan ai. P(a1) ∨P(a2) ∨P(a3) …∨P(aN)
Resolusi Logika Predikat
Resolusi pada logika predikat pada dasarnya sama dengan resolusi pada logika proposisi, hanya saja ditambah dengan unufikasi. Pada logika predikat, prosedur untuk membuktikan pernyataan P dengan beberapa pernyataan F yang telah diketahui, dengan menggunakan resolusi, dapat dilakukan melalui algoritma sebagai berikut:
1. Konversikan semua proposisi F ke bentuk klausa.
2. Negasikan P, dan konversikan hasil negasi tersebut ke bentuk klausa. Tambahkan ke himpunan klausa yang telah ada pada langkah 1.
3. Kerjakan hingga terjadi kontradiksi atau proses tidak mengalami kemajuan:
a. Seleksi 2 klausa sebagai klausa parent.
b. Bandingkan (resolve) secara bersama-sama. Klausa hasil resolve tersebut dinamakan resolvent. Jika ada pasangan literal T1 dan T2 sedemikian hingga keduanya dapat dilakukan unifikasi, maka salah satu T1 atau T2 tidak muncul lagi dalam resolvent. T1 dan T2 disebut sebagai complementary literal. Jika ada lebih dari 1 complementary literal, maka hanya sepasang yang dapat meninggalkan resolvent.
c. Jika resolvent berupa klausa kosong, maka ditemukan kontradiksi. Jika tidak, tambahkan ke himpunan klausa yang telah ada.
Contoh :
Misalkan terdapat pernyataan-pernyataan sebagai berikut :
1. Andi adalah seorang mahasiswa.
2. Andi masuk Jurusan Elektro.
3. Setiap mahasiswa elektro pasti mahasiswa teknik.
4. Kalkulus adalah matakuliah yang sulit.
5. Setiap mahasiswa teknik pasti akan suka kalkulus atau akan membencinya.
6. Setiap mahasiswa pasti akan suka terhadap suatu matakuliah.
7. Mahasiswa yang tidak pernah hadir pada kuliah matakuliah sulit, maka mereka pasti tidak suka terhadap matakuliah tersebut.
8. Andi tidak pernah hadir kuliah matakuliah kalkulus.
Kedelapan pernyataan di atas dapat dibawa ke bentuk logika predikat, dengan menggunakan operator-operator logika predikat, sebagai berikut :
9. mahasiswa(Andi).
10. Elektro(Andi).
11. ∀x:Elektro(x)→Teknik(x).
12. sulit(Kalkulus).
13. ∀x:Teknik(x) → suka(x,Kalkulus) ∨ benci(x,Kalkulus).
14. ∀x:∃y:suka(x,y).
15. ∀x:∀y:mahasiswa(x)∧sulit(y) ∧ ¬hadir(x,y)→ ¬suka(x,y).
16. ¬hadir(Andi,Kalkulus).
Kita dapat membawa pernyataan-pernyataan yang ada menjadi bentuk klausa (CNF) sebagai berikut:
1. mahasiswa(Andi).
2. Elektro(Andi).
3. ¬Elektro(x1) ∨ Teknik(x1).
4. sulit(Kalkulus).
5. ¬Teknik(x2) ∨ suka(x2,Kalkulus) ∨ benci(x2,Kalkulus).
6. suka(x3,fl(x3)).
7. ¬mahasiswa(x4) ∨ ¬sulit(y1) ∨ hadir(x4,y1) ∨ ¬suka(x4,y1).
8. ¬hadir(Andi,Kalkulus).
Apabila ingin dibuktikan apakah Andi benci kalkulus, maka kita bisa lakukan dengan membuktikan: (dibuktikan dalam gambar paling atas)
sumber :
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0ahUKEwiXmuvjqq3QAhXKvY8KHeS_DkIQFgggMAE&url=http%3A%2F%2Fsupriyan.staff.gunadarma.ac.id%2FDownloads%2Ffiles%2F11876%2F5-Representasi-Pengetahuan-LOGIKA.pdf&usg=AFQjCNGz5Owl96L1dlKqejEc6y8TDVqwow&sig2=gRnlDxO13L9iVOCNTbmG3g&cad=rja
http://slametgo-blog.blogspot.co.id/2016/01/resolusi-logika-predikat.html
Tidak ada komentar:
Posting Komentar