INFERENSI DALAM LOGIKA ORDER PERTAMA
9.1 Mengubah inferensi order pertama menjadi inferensi proposisi
Inferensi pada logika proposisi dapat dilakukan dengan menggunakan resolusi. RESOLUSI adalah suatu aturan untuk melakukan inferensi yg dapat berjalan secara efisien dalam suatu bentuk khusus yg disebut Conjunctive Normal Form (CNF).
• CNF ini memiliki ciri-ciri sebagai berikut :
– Setiap kalimat merupakan disjungsi literal
– Semua kalimat terkonjungsi secara implisit
• Dua atau lebih proposisi dapat digabungkan dengan menggunakan operator logika :
a. Negasi : Ø (NOT)
b. Konjungsi : Ù (AND)
c. Disjungsi : Ú (OR)
d. Implikasi : ® (IF-THEN)
e. Ekuivalen : Û
• Operator NOT : digunakan untuk memberikan nilai negasi (lawan) dari pernyataan yang telah ada.
• Langkah-langkah mengubah kalimat ke dalam bentuk CNF, sebagai berikut :
> hilangkan implikasi dan ekuivalensi
mis. X ® Y menjadi ØX Ú Y (hukum implikasi)
X Û Y menjadi (X=>Y) Ù (Y=>X) (hukum bi-implikasi)
(ØX Ú Y)Ù(ØY Ú X) (hukum implikasi)
> kurangi lingkup semua negasi menjadi satu negasi saja
mis. Ø(Ø X) menjadi X (hukum negasi ganda)
Ø(X Ú Y) menjadi (ØX Ù ØY) (hukum de’Morgan)
Ø(X Ù Y) menjadi (ØX Ú ØY) (hukum de’Morgan)
> gunakan aturan assosiatif dan distributif untuk mengkonversi menjadi conjunction of disjunction
mis. Assosiatif : (A Ú B) Ú C = A Ú (B Ú C)
Distributif : (A Ù B) Ú C = (A Ú C) Ù (B Ú C)
• Algoritma Resolusi
Input : serangkaian clauses yang disebut axioma dan tujuannya.
Output :uji apakah tujuan diturunkan dari axioma
Begin
1. Kembangkan serangkaian pernyataan axioma termasuk tujuan yang dinegasikan
2. Representasikan tiap elemen statemen ke dalam Conjunctive Normal Form (CNF)
berdasarkan langkah-langkah berikut :
Ø Hilangkan operator “if-then” dengan operasi NEGATION dan OR berdasarkan hukum logika
• Algoritma Resolusi
Input : serangkaian clauses yang disebut axioma dan tujuannya.
Output :uji apakah tujuan diturunkan dari axioma
3. Repeat
a. Pilih dua clauses mana saja dari S, sehingga satu clause berisi literal yang dinegasikan dan clause yang lainnya berisi literal positif yang berhubungan (literal yang tidak dinegasikan)
b. Pisahkan dua clauses ini dan panggil clause yang dihasilkan (resolvent). Hapus parent clause dari S.
Until sebuah clause null dihasilkan atau tidak ada progress lebih lanjut yang bisa dibuat
4. Jika sebuah clause null dihasilkan, maka “tujuan terbukti” atau Pernyataan “valid”
9.2. Unifikasi
Unifikasi adalah usaha untuk mencoba membuat dua ekspresi menjadi identik (mempersatukan keduanya) dengan mencari substitusi-substitusi tertentu untuk mengikuti peubah-peubah dalam ekspresi mereka tersebut. Unifikasi merupakan suatu prosedur sistematik untuk memperoleh peubah-peubah instan dalam wffs. Ketika nilai kebenaran predikat adalah sebuah fungsi dari nilai-nilai yang diasumsikan dengan argumen mereka, keinstanan terkontrol dari nilai-nilai selanjutnya yang menyediakan cara memvalidasi nilai-nilai kebenaran pernyataan yang berisi predikat. Unifikasi merupakan dasar atas kebanyakan strategi inferensi dalam Kecerdasan Buatan. Sedangkan dasar dari unifikasi adalah substitusi.
Suatu substitusi (substitution) adalah suatu himpunan penetapan istilah-istilah kepada peubah, tanpa ada peubah yang ditetapkan lebih dari satu istilah. Sebagai pengetahuan jantung dari eksekusi Prolog, adalah mekanisme unifikasi.
Aturan-aturan unifikasi :
1. Dua atom (konstanta atau peubah) adalah identik.
2. Dua daftar identik, atau ekspresi dikonversi ke dalam satu buah daftar.
3. Sebuah konstanta dan satu peubah terikat dipersatukan, sehingga peubah menjadi terikat kepada konstanta.
4. Sebuah peubah tak terikat diperssatukan dengan sebuah peubah terikat.
5. Sebuah peubah terikat dipersatukan dengan sebuah konstanta jika pengikatan pada peubah terikat dengan konstanta tidak ada konflik.
6. Dua peubah tidak terikat disatukan. Jika peubah yang satu lainnya menjadi terikat dalam upa-urutan langkah unifikasi, yang lainnya juga menjadi terikat ke atom yang sama (peubah atau konstanta).
7. Dua peubah terikat disatukan jika keduanya terikat (mungkin melalui pengikatan tengah) ke atom yang sama (peubah atau konstanta).
9.3. Generalized Modus Ponens (GMP)
Kaidah dasar dalam menarik kesimpulan dari dua nilai logika tradisional adalah modus ponens, yaitu kesimpulan tentang nilai kebenaran pada Bdiambil berdasarkan kebenaran pada A. Sebagai contoh, jika A diidentifikasi dengan “tomat itu merah” dan B dengan “tomat itu masak”, kemudian jika benar kalau “tomat itu merah” maka “tomat itu masak”, juga benar. Konsep ini digambarkan sebagai berikut:
premise 1 (kenyataan)
|
:
|
x adalah A,
|
premise 2 (kaidah)
|
:
|
jika x adalah A maka y adalah B.
|
Consequence (kesimpulan)
|
:
|
y adalah B.
|
Secara umum dalam melakukan penalaran, modus ponens digunakan dengan cara pendekatan. Sebagai contoh, jika ditemukan suatu kaidah implikasi yang sama dengan “jika tomat itu merah maka tomat itu masak”, misalnya “tomat itu kurang lebih merah,” maka dapat disimpulkan “tomat itu kurang lebih masak”, hal ini dapat dituliskan seperti berikut:
premise 1 (kenyataan)
|
:
|
x adalah A’,
|
premise 2 (kaidah)
|
:
|
jika x adalah A maka y adalah B.
|
Consequence (kesimpulan)
|
:
|
y adalah B’.
|
Dengan A’adalah dekat ke A dan B’adalah dekat ke B. Ketika A, B, A’ dan B’adalah himpunan fuzzy dari semesta yang berhubungan, maka penarikan kesimpulan seperti tersebut dinamakan penalaran dengan pendekatan (approximate reasoning) yang disebut juga dengan generalized modus ponens (GMP).
9.4. Rangkaian Forward dan backward
Forward chaining merupakan metode inferensi yang melakukan penalaran dari suatu masalah kepada solusinya. Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan menyatakan konklusi. Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh. Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining.
Contoh :
Terdapat 10 aturan yang tersimpan dalam basis pengetahuan yaitu :
R1 : if A and B then C
R2 : if C then D
R3 : if A and E then F
R4 : if A then G
R5 : if F and G then D
R6 : if G and E then H
R7 : if C and H then I
R8 : if I and A then J
R9 : if G then J
R10 : if J then K
Fakta awal yang diberikan hanya A dan E, ingin membuktikan apakah K bernilai benar. Proses penalaran forward chaining terlihat pada gambar dibawah :
Backward Chaining
Menggunakan pendekatan goal-driven, dimulai dari harapan apa yang akan terjadi (hipotesis) dan kemudian mencari bukti yang mendukung (atau berlawanan) dengan harapan kita. Sering hal ini memerlukan perumusan dan pengujian hipotesis sementara. Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.
Contoh :
Seperti pada contoh forward chining, terdapat 10 aturan yang sama pada basis pengetahuan dan fakta awal yang diberikan hanya A dan E. ingin membuktikan apakah K bernilai benar.
0 komentar:
Posting Komentar