Download - 3. First Order Logic

Transcript

Bab II. Logika Predikat (First Order Logic) Pernyataan x > 3 atau x lebih besar dari 3 terdiri dari dua bagian: i) variabel x, yang nilainya dapat diambil dari sebuah himpunan D, ii) predikat adalah lebih besar dari 3. D disebut universe of discourse atau domain untuk variabel x. Pernyataan tersebut dapat dipandang sebagai nilai dari fungsi proposisi, atau predikat atau fungsi Boolean P pada domain D, yaitu P : D {0, 1} dengan P(x) menyatakan x adalah lebih besar dari 3, dan P(x) tidak memiliki nilai sebelum variable x diisi oleh elemen tertentu dari domain D. P(x) baru bernilai kebenaran true (T atau 1) atau false (F atau 0) apabila x telah diganti oleh sebuah elemen tertentu dari D.1

Contoh. 1. Jika P(x):= x > 3 dengan himpunan bilangan bulat sebagai domain D, maka P(4) bernilai T dan P(2) bernilai F. 2. Jika Q(x, y):= x = y + 3 dengan domain R x R, maka Q(1, 2) bernilai F dan Q(3, 0) bernilai T. 3. Jika R(x, y, z):= x + y = z dengan domain R x R x R, maka R(1, 2, 3) bernilai T dan R(0, 0, 3) bernilai F. 4. Jika S(x, y):= x mengambil matakuliah y dengan domain Mhs x MK, maka S(A, MD) bernilai T bila mahasiswa A mengambil matakuliah MD, dan S(A, MD) bernilai F bila mahasiswa A tidak mengambil matakuliah MD.

2

Kuantifikasi (Quantifier) Ada dua macam kuantifikasi untuk setiap variabel dalam sebuah predikat, yaitu: kuantifikasi universal (universal quantification) dan kuantifikasi eksitensi (exsistential quantification). Definisi. Kuantifikasi universal untuk predikat P(x) adalah proposisi berikut: P(x) bernilai T untuk setiap (semua) elemen x di domain D. Ditulis: xD P(x) atau x P(x) saja, bila D sudah jelas. P(x) disebut sebagai scope untuk kuantifikasi x tersebut. Dibaca: Untuk setiap (semua) x di D, berlaku P(x) atau P(x) bernilai true.3

Definisi. Kuantifikasi eksistensi untuk predikat P(x) adalah proposisi P(x) bernilai T untuk suatu elemen x di domain D. Ditulis: xD P(x) atau x P(x) saja, bila domain D sudah jelas. P(x) disebut sebagai scope untuk kuatifikasi x tersebut. Dibaca: Terdapat suatu x sehingga berlaku P(x), atau Paling sedikit ada satu x sehingga P(x). Variabel terikat (bind variable) dan variabel bebas (free variable) Variabel x pada P(x) disebut sebagai variabel terikat bila x telah diikat oleh suatu kuantifikasi x atau x, atau x telah digantikan oleh sebuah elemen tertentu dari domain D. Variabel x pada P(x) disebut sebagai variabel bebas bila x tidak terikat.4

Definisi. Sebuah predikat P(x, y, z) pada sebuah domain Dx x Dy x Dz, akan menjadi sebuah kalimat logika predikat atau kalimat first order logic (fol), apabila semua variabel padanya, yaitu x, y, dan z merupakan variabel terikat. Jadi, kalimat-kalimat fol yang mungkin adalah: xDx yDy z Dz P(x, y, z) atau xDx yDy z Dz P(x, y, z) atau xDx yDy z Dz P(x, y, z) atau xDx yDy z Dz P(x, y, z) atau xDx yDy z Dz P(x, y, z) atau xDx yDy z Dz P(x, y, z) atau xDx yDy z Dz P(x, y, z) atau xDx yDy z Dz P(x, y, z).

5

Contoh 5. Nyatakan kalimat berikut sebagai kalimat fol: Setiap mahasiswa dalam kelas ini mengambil mata kuliah Matematika Diskret. Jawaban: Pertama-tama tentukan dahulu variabel-variabel yang dibutuhkan beserta domainnya, kemudian tentukan predikat dalam variabelvariabel tersebut, dan terakhir berikan kuatifikasi yang sesuai. (a) Ambil x sebagai variabel, dan domain D = {x: x adalah mahasiswa dalam kelas ini} P(x) := x mengambil mata kuliah Matematika Diskret maka kalimat di atas dapat dinyatakan dalam bentuk x P(x). Atau6

(b) Ambil D = {x : x adalah mahasiswa} Q(x) := x berada dalam kelas ini P(x) := x mengambil mata kuliah Matematika Diskret Maka kalimat di atas dapat dinyatakan dalam bentuk x (Q(x) P(x)). Contoh 6. Dengan domain D = {x | x adalah bilangan real} dan P(x) := x + 1 > x, maka x P(x) berbunyi sebagai Untuk setiap bilangan real x berlaku x + 1 > x. Dan x P(x) bernilai T.

7

Contoh 7. Dengan domain D = {x | x adalah bilangan real} dan P(x) := 2 > x, maka x P(x) berbunyi sebagai Untuk setiap bilangan real x, berlaku 2 > x. Jadi x P(x) bernilai F. Bila domainnya adalah D = {x | x adalah bilangan real negatif}, maka x P(x) berbunyi sebagai Untuk setiap bilangan real negatif x, berlaku 2 > x. Jadi x P(x) bernilai T.

8

Catatan : Bila domain untuk variabel x berhingga, yaitu D = {x1, x2, , xn}, maka x P(x) sama artinya dengan P(x1) P(x2) P(xn). Contoh 8. Misalkan domain untuk variable x adalah D = {x | x adalah bilangan bulat positif yang lebih kecil dari 5}, dan P(x) : x2 < 10 maka x P(x) sama artinya dengan P(1) P(2) P(3) P(4), P(1) := 12 < 10 bernilai T, P(2) := 22 < 10 bernilai T, P(3) := 32 < 10 bernilai T, P(4) := 42 < 10 bernilai F, maka x P(x) bernilai F.

9

Contoh 9. Misalkan P(x) := x > 3 dengan domain D = {x | x adalah bilangan real}, maka x P(x) berbunyi Terdapat bilangan real x sehingga x > 3. Karena P(4) bernilai T, maka x P(x) bernilai T. Contoh 10. Misalkan P(x) := x = x + 1 dengan domain D = {x | x = bilangan real}, maka x P(x) berbunyi Terdapat bilangan real x sehingga x = x + 1. Karena x = x + 1 bernilai F untuk setiap bilangan real x, maka x P(x) bernilai F.

10

Catatan: Bila domain untuk variabel x berhingga, yaitu D = {x1, x2, , xn}, maka x P(x) sama artinya dengan P(x1) P(x2) P(xn) Contoh 11. Misalkan domain untuk variable x adalah D = {x | x adalah bilangan bulat positif yang lebih kecil dari 5}, dan P(x) := x2 < 10 maka x P(x) sama artinya dengan P(1) P(2) P(3) P(4) Karena P(1) := 12 < 10 bernilai T, maka x P(x) bernilai T.

11

Mengubah kalimat menjadi ekspresi logika predikat Contoh 12.(a) Ubah kalimat Setiap orang memiliki teman akrab menjadi kalimat logika predikat. Karena teman merupakan sebuah hubungan antara dua orang, maka di sini dibutuhkan dua variabel x dan y. Ambil D = {x | x adalah orang} sebagai domain untuk variabel x, juga untuk variabel y, dan predikat A(x, y) := y adalah teman akrab dari x. Jadi, kalimat logika predikat untuk kalimat tersebut adalah xD(yD A(x, y)) atau x (y A(x, y)) atau x y A(x, y), dengan A(x, y) sebagai scope untuk y, dan x masih berupa variabel bebas. y A(x, y) sebagai scope untuk x, dan tidak ada lagi variabel bebas.

12

(b) Ubah kalimat Bee memiliki tepat satu teman akrab menjadi kalimat logika predikat. Seperti pada (a), Ambil D = {x | x adalah orang}. Disini dibutuhkan dua variabel y dan z, dengan D sebagai domain untuk kedua variabel y dan z tersebut, dan predikat A(Bee, y) := y adalah teman akrab dari Bee. Jadi, kalimat logika predikat untuk kalimat Bee memiliki tepat satu teman akrab adalah y D (A(Bee, y) (z D ((z y) A(Bee, z)))), atau y D (A(Bee, y) z D ((z y) A(Bee, z))), atau y (A(Bee, y) z ( z y A(Bee, z))), dengan ( z y A(Bee, z)) sebagai scope untuk z, dan y masih bebas; (A(Bee, y) z ( z y A(Bee, z))) sebagai scope untuk y, dan tidak ada lagi variabel bebas.13

(c) Ubah kalimat Setiap orang memiliki tepat satu teman akrab menjadikalimat logika predikat. Seperti pada (b), Ambil D = {x | x adalah orang}. Disini dibutuhkan tiga variabel x, y, dan z, dengan D sebagai domain untuk ketiga variabel x, y, dan z tersebut, dan predikat A(x, y) := y adalah teman akrab dari x. Jadi, kalimat logika predikat untuk kalimat Setiap orang memiliki tepat satu teman akrab adalah xD (yD (A(x, y) (zD (A(x, z) (z = y))))), atau x y (A(x, y) z (A(x, z) z = y)) dengan A(x, z) z = y sebagai scope untuk z, dan x, y masih bebas; A(x, y) z (A(x, z) z = y) sebagai scope untuk y, dan x masih bebas; y (A(x, y) z (A(x, z) z = y )) sebagai scope untuk x, dan tidak ada lagi variabel bebas.14

Contoh 13. Ubah kalimat Jika ia adalah seorang wanita dan ia memiliki anak, maka ia adalah seorang ibu menjadi kalimat logika predikat. Ambil D = {x | x adalah orang}, dan predikat W(x) := x adalah seorang wanita, A(x) := x memiliki anak, I(x) := x adalah seorang ibu, maka kalimat di atas dapat diubah menjadi kalimat fol berikut: x ((W(x) A(x)) I(x)). Atau ambil predikat A(y, x) := y adalah anak dari x, Kalimat di atas dapat diubah menjadi kalimat logika predikat berikut: x ((W(x) y A(y, x)) I(x)).

15

Iktisar: x P(x) bernilai T, apabila P(x) bernilai T untuk setiap x D, bernilai F, apabila P(x) bernilai F untuk suatu x D. x P(x) bernilai T, apabila P(x) bernilai T untuk suatu x D, bernilai F, apabila P(x) bernilai F untuk setiap x D. x y P(x, y) bernilai T, apabila P(x, y) bernilai T untuk setiap pasang x Dx dan y Dy, bernilai F, apabila P(x, y) bernilai F untuk suatu pasang x Dx dan y Dy.

16

y x P(x, y) bernilai T, apabila P(x, y) bernilai T untuk setiap pasang y Dy dan x Dx, bernilai F, apabila P(x, y) bernilai F untuk suatu pasang y Dy dan x Dx. x y P(x, y) bernilai T, apabila untuk setiap x Dx terdapat y Dy, sehingga P(x, y) bernilai T, bernilai F, apabila terdapat suatu x Dx sehingga P(x, y) bernilai F untuk setiap y Dy. y x P(x, y) bernilai T, apabila untuk setiap y Dy terdapat x Dx, sehingga P(x, y) bernilai T, bernilai F, apabila terdapat suatu y Dy sehingga P(x, y) bernilai F untuk setiap x Dx.

17

x y P(x, y) bernilai T, apabila terdapat suatu x Dx sehingga P(x, y) bernilai T untuk setiap y Dy, bernilai F, apabila untuk setiap x Dx terdapat suatu y Dy, sehingga P(x, y) bernilai F. y x P(x, y) bernilai T, apabila terdapat suatu y Dy sehingga P(x, y) bernilai T untuk setiap x Dx, bernilai F, apabila untuk setiap y Dy terdapat suatu x Dx, sehingga P(x, y) bernilai F. x y P(x, y) bernilai T, apabila terdapat suatu pasang x Dx dan y Dy, sehingga P(x, y) bernilai T, bernilai F, apabila untuk setiap pasang x Dx dan y Dy, P(x, y) bernilai F.

18

y x P(x, y) bernilai T, apabila terdapat suatu pasang y Dy dan x Dx, sehingga P(x, y) bernilai T, dan bernilai F, apabila untuk setiap pasang y Dy dan x Dx, P(x, y) bernilai F. Dari iktisar di atas dapat disimpulkan bahwa x P(x) x P(x) x P(x) x P(x)

19

Contoh 14. Misalkan Q(x, y) := x + y = y + x, tentukan nilai kebenaran dari xy Q(x, y). Di sini, dimisalkan bahwa domain untuk variabel x maupun y adalah himpnan bilangan real. xy Q(x, y) berbunyi: Untuk setiap pasang bilangan real x dan y berlaku x + y = y + x, maka berdasarkan sifat penjumlahan bilangan real diperoleh, x y Q(x, y) bernilai T.

20

Contoh 15.Misalkan Q(x, y) := x + y = 0, tentukan nilai kebenaran dari x y Q(x, y) dan y x Q(x, y). Di sini, dimisalkan bahwa domain untuk variabel x maupun y adalah himpnan bilangan real. x y Q(x, y) berbunyi: Untuk setiap bilangan real x terdapat bilangan real y sehingga x + y = 0, maka berdasarkan sifat penjumlahan bilangan real diperoleh, x y Q(x, y) bernilai T. Sedangkan y x Q(x, y) berbunyi: Terdapat bilangan real y sehingga untuk setiap bilangan real x berlaku x + y = 0, maka berdasarkan sifat penjumlahan bilangan real diperoleh, y x Q(x, y) bernilai F.

21

Contoh 16. Misalkan Q(x, y, z) := x + y = z, tentukan nilai kebenaran dari x y z Q(x, y, z) dan z x y Q(x, y, z). Di sini, dimisalkan bahwa domain untuk variabel x, y maupun z adalah himpnan bilangan real. x y z Q(x, y, z) berbunyi: Untuk setiap pasang bilangan real x dan y terdapat z sehingga berlaku x + y = z. Maka berdasarkan sifat penjumlahan bilangan real diperoleh, x y z Q(x, y, z) bernilai T. Sedangkan z x y Q(x, y, z) berbunyi: Terdapat bilangan real z, sehingga untuk setiap pasang bilangan real x dan y berlaku x + y = z. Maka berdasarkan sifat penjumlahan bilangan real, diperoleh z x y Q(x, y, z) bernilai F.22