Unifikasi Robinson: Pendahuluan      Diberikan dua buah formula logika predikat, ingin diketahui apakah      kedua formula ...
Algoritma Unifikasi Robinson      Algoritma unifikasi Robinson bekerja dengan membaca kedua      formula dari kiri ke kanan ...
Contoh 1  Diberikan dua formula predikat:                            A0 : p(a; x; f (g (y )))  dan                        ...
Ketika sebuah unifikator dibentuk dari disagreement set, unifikatortersebut langsung diterapkan kepada kedua formula predika...
Dari diasgreement set ini dibentuk sebuah unifikator baru:                            σ2 : [x ← f (z)]dan unifikator ini pun...
Dalam iterasi berikutnya, proses pembacaan dilanjutkan kepada keduaformula predikat sehingga didapatkan sebuah disagreemen...
Contoh 2  Diberikan dua formula predikat:                          A0 : p(x; g (f (a)); f (x))  dan                       ...
Pada iterasi kedua, proses pembacaan dilanjutkan kpeada pasanganformula yang baru:                    A1 : p(f (y ); g (f ...
Pasangan formula ini membentuk disagreement set                             {f (f (y )), y }Jika dibentuk sebuah unifikator...
Upcoming SlideShare
Loading in …5
×

ikp213-unifikasi

483 views
445 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
483
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ikp213-unifikasi

  1. 1. Unifikasi Robinson: Pendahuluan Diberikan dua buah formula logika predikat, ingin diketahui apakah kedua formula tersebut dapat diunifikasi atau tidak. Jika dapat diunifikasi, artinya kedua formula yang tampaknya berbeda secara sintaks, sesungguhnya sama satu sama lain. Jika dapat diunifikasi, maka salah satu formula dapat diubah menjadi bentuk yang sama secara sintaks ke menjadi bentuk formula lainnya melalui most general unifier (mgu). Salah satu metode untuk memeriksa apakah sepasang formula predikat dapat diunifikasi adalah Algoritma Unifikasi Robinson (Robinson’s Unification Algorithm).
  2. 2. Algoritma Unifikasi Robinson Algoritma unifikasi Robinson bekerja dengan membaca kedua formula dari kiri ke kanan sampai habis. Jika proses pembacaan menemukan disagreement set yang tidak dapat diunifikasi, maka kedua formula awal yang diberikan tidak dapat diunifikasi, atau dikatakan fail to unify. Jika proses pembacaan berhasil membaca kedua formula hingga selesai, maka artinya kedua formula awal yang diberikan dapat diunifikasi. Jika kedua formula dapat diunifikasi, maka algoritma unifikasi Robinson juga akan menghasilkan mgu. Dalam setiap langkah mencari unifikasi dari kedua formula predikat, algoritma unifikasi Robinson membangun disagreement set, yang menampung simbol-simbol yang ditemukan berbeda dari kedua formula tersebut. Berikut ini diberikan dua buah contoh sederhana yang dapat digunakan untuk menggambarkan proses yang terjadi ketika algoritma unifikasi Robinson diterapkan. Sebelum membahas kedua contoh, perlu diketahui bahwa algoritma unifikasi ini diusulkan oleh John Alan Robinson pada tahun 1965.
  3. 3. Contoh 1 Diberikan dua formula predikat: A0 : p(a; x; f (g (y ))) dan B0 : p(y ; f (z); f (z)) Baca kedua formula tersebut mulai dari kiri ke kanan. Ketika membaca simbol predikat p, proses pembacaan tidak mengalami masalah, demikian juga ketika membaca tanda kurung buka. Perbedaan muncul ketika pada formula pertama dibaca simbol konstanta a sedangkan dari formula kedua dibaca simbol variabel y . Dari perbedaan ini dibentuk sebuah disagreement set {a, y } Dari disagreement set ini, bangun sebuah unifikator σ1 : [y ← a]
  4. 4. Ketika sebuah unifikator dibentuk dari disagreement set, unifikatortersebut langsung diterapkan kepada kedua formula predikat. Jikaunifikator σ1 ini langsung diterapkan kepada kedua formula predikat,semua kemunculan variabel y diganti dengan konstanta a, sehinggadidapatkan sebuah pasangan formula predikat yang baru setelahdilakukan unifikasi: A1 : p(a; x; f (g (a)))dan B1 : p(a; f (z); f (z))Perhatikan bahwa variabel y pada kedua formula diubah menjadikonstanta a.Dari pasangan formula predikat yang baru didapatkan dalam iterasi keduaini, proses pembacaan dilanjutkan. Proses pembacaan kedua formulapredikat langsung mendapatkan sebuah disagreement set yang lain yaitu: {x, f (z)}
  5. 5. Dari diasgreement set ini dibentuk sebuah unifikator baru: σ2 : [x ← f (z)]dan unifikator ini pun langsung diterapkan kepada kedua formula predikatdari iterasi ini sehingga didapatkan sebuah pasangan formula predikatketiga: A2 : p(a; f (z); f (g (a)))dan B2 : p(a; f (z); f (z))
  6. 6. Dalam iterasi berikutnya, proses pembacaan dilanjutkan kepada keduaformula predikat sehingga didapatkan sebuah disagreement set ketigayaitu: {g (a), z}yang membentuk unifikator ketiga: σ3 : [z ← g (a)]untuk digunakan membentuk pasangan formula: A3 : p(a; f (g (a)); f (g (a)))dan B3 : p(a; f (g (a)); f (g (a)))Perhatikan bahwa variabel z pada kedua formula juga ikut diubah.Pada akhir iterasi ketiga ini didapatkan bahwa kedua formula tersebutternyata serupa. Artinya, pasangan formula yang diberikan di awal dapatdiunifikasi, dengan menggunakan mgu yang dibentuk dari unifikator σ1 ,σ2 , dan σ3 : σ = σ1 σ2 σ3 = [y ← a, x ← f (z), z ← g (a)]
  7. 7. Contoh 2 Diberikan dua formula predikat: A0 : p(x; g (f (a)); f (x)) dan B0 : p(f (y ); z; y ) Seperti pada contoh sebelumnya, proses pembacaan diterapkan kepada kedua formula. Disagreement set pertama yang didapatkan adalah {x, f (y )} untuk membentuk unifikator: σ1 : [x ← f (y )]
  8. 8. Pada iterasi kedua, proses pembacaan dilanjutkan kpeada pasanganformula yang baru: A1 : p(f (y ); g (f (a)); f (f (y )))dan B1 : p(f (y ); z; y )Disagreement set kedua adalah {g (f (a)), z}yang membentuk unifikator kedua: σ2 : [z ← g (f (a))]Unifikator ini digunakan untuk membentuk pasangan formula berikutnya: A2 : p(f (y ); g (f (a)); f (f (y )))dan B2 : p(f (y ); g (f (a)); y )
  9. 9. Pasangan formula ini membentuk disagreement set {f (f (y )), y }Jika dibentuk sebuah unifikator, akan didapatkan σ3 : [y ← f (f (y ))]Unifikator ini tidak dapat digunakan untuk me-unifikasi kedua formulayang diberikan, karena secara rekursif setiap kemunculan variabel y akanberulang digantikan oleh simbol fungsi f . Artinya, pada contoh ini,unifikator σ3 bukanlah unifikator, dan ini berarti bahwa pasangan formulaawal yang diberikan tidak dapat diunifikasi.Proses unifikasi pada contoh ini gagal, atau fail.

×