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. Proses penalaran backward chaining terlihat pada
gambar berikut :
Daftar Pustaka :
0 komentar:
Posting Komentar