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 B diambil 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.
Proses penalaran backward chaining terlihat pada gambar berikut :
DAFTAR PUSTAKA:
Tidak ada komentar:
Posting Komentar