2.1 Definisi First Order Logic
Proses reasoning untuk menyelesaikan masalah dengan merepresentasikan masalah kedalam logic sudah dilakukan oleh propositional logic. Propositional logic dalam menyelesaikan permasalahan dengan menggunakan fakta-fakta yang diproses menggunakan logika-logika sederhana saja. Sedangkan pada first order logic permasalahan diselesaikan dengan sentence yang merepresentasikan fakta dan term yang merepresentasikan objek. Komponen-komponen penting yang ada pada first order
logic yaitu :
Objects : merupakan sesuatu yang dikenai logika-logika yang memiliki identitas untuk masing-masing individual (komputer, rumah, mobil, ...).
Properties : sifat yang dimiliki oleh objek dan merupakan pembeda dengan objek lainnya (merah, besar, lingkaran, ...).
Relations : aksi atau aktifitas yang menjadi penghubung antar objek dalam berelasi (saudara dari, lebih tinggi dari, bagian dari).
Functions : merupakan relation yang memiliki satu nilai (ayah dari, teman baik,...).
Komponen-komponen yang sudah dijelaskan diatas disebut sebagai ontological
commitment atau hal-hal apa saja yang diketahui dan dijelaskan di dalam logic yang
digunakan dalam menyelesaikan permasalahan. Selanjutnya akan ditunjukkan beberapa jenis logic lain yang memiliki ontological commitment dan epistemological commitment (kebenaran apa yang dapat dinyatakan tentang sebuah sentence). Contoh beberapa
logic lain adalah sebagai berikut :
Logic Ontological Epistemological
Propositiona
l logic Facts True/false/unknown
First-order
logic Facts, objects, relations True/false/unknown Temporal
logic Facts, objects, relations, times True/false/unknown Probability
theory Facts Degree of believe 0…1
Fuzzy logic Degree of truth Degree of
Page 62 of 98
Elemen-elemen dasar terkecil yang dimiliki oleh first order logic adalah sebagai berikut : Constants
Dituliskan dalam huruf besar seperti A, X, NAMA. Pada simbol konstanta ini, setiap simbol harus menyatakan secara spesifik objek yang dimaksud. Tetapi, mungkin saja satu simbol mengacu pada beberapa nama berbeda. Misalnya,
MOBIL bisa mengacu pada MOBIL SEDAN, MOBIL JEEP, dan sebagainya. Oleh
karena itu penulisan simbol konstanta harus dilakukan secara hati-hati agar tidak terjadi kerancuan atau ambiguitas.
Predicates
Menyatakan relasi khusus dalam suatu model yang menghubungkan antar objek yang memiliki hubungan. Misalkan Berwarna adalah suatu predicate yang memiliki beberapa nilai. Contoh : Berwarna(Mobil, Biru), Berwarna(Mobil, Merah), dan sebagainya.
Functions
Menyatakan relasi yang hanya membutuhkan satu nilai. Karena setiap orang hanya memiliki satu ayah, maka Ayah merupakan suatu function. Misalkan Ayah(Boediono, Zaki).
Variables
Dituliskan dalam huruf kecil seperti a, x, s dan sebagainya. Variable ini menyatakan simbol yang dapat digantikan oleh konstanta apapun dan bersifat dinamis.
Connectives
Merupakan logika yang menghubungkan di dalam suatu kalimat kompleks seperti : ∧∨ ¬ ⇒⇔
Equality
Merupakan logika yang membandingkan kesamaan antara dua atau lebih kalimat yang memiliki kesamaan nilai logika. Equality disimbolkan dengan tanda =
Quantifiers
Terdapat dua quantifier secara umum yaitu Universal quantifier (∀) yang menyatakan sesuatu yang bersifat umumdan Existential quantifier (∃) yang menyatakan sesuatu yang berlaku sebagian saja.
2.2 Sintaks First Order Logic
Tata bahasa pada first order logic meliputi : Terms
Merupakan ekspresi logika yang mengacu pada sebuah objek. Terms bisa berupa
constant, variable, atau function. Penulisan term dapat dilihat pada contoh di
Page 63 of 98 Terms function(term1,....,termn) atau constant atau variable Atomic sentences
Merupakan komponen yang dapat terbentuk dari Predicate(Term, ...) atau
Term=Term. Atomic sentence merupakan kalimat paling sederhana dan belum
memiliki komponen logika lainnya. Bentuk penulisan atomic sentences adalah sebagai berikut :
Atomic sentences
predicate(term1,....,termn)
atau
term1 = term2
Contoh penggunaan adalah sebagai berikut :
Sepatu(Budi), Saudara(Ahmad, Anton), Memberi(Andi,Budi,KueCoklat),
Saudara(Andi)=Budi, dan sebagainya.
Complex sentences
Merupakan kalimat kompleks yang tersusun dari beberapa atomic sentence yang saling terhubung berdasarkan logika dengan menggunakan connective. Bentuk penulisan dari complex sentences adalah sebagai berikut :
Complex sentences
predicate1(term1,term2) ⇒ perdicate2(term3)
Contoh penggunaan dari complex sentence adalah sebagai berikut:
Belajar(Andi)⇒ Pintar(Andi)
¬S, S1 ∧ S2, S1 ∨ S2, S1 ⇒ S2, S1 ⇔ S2
Saudara(Ahmad,Andi)⇒Saudara(Andi,Ahmad)
>(1, 2) ∨ ≤(1, 2) >(1, 2) ∧ ¬>(1, 2)
Belajar(x, SC) ⇒ Mengerti(x, AI)
2.3 Semantik First Order Logic
Pada first order logic sama halnya dengan propositional logic sebuah kalimat first order
logic dikatakan true terhadap sebuah model, artinya kalimat first order logic memiliki
nilai kebenaran tertentu sehingga dianggap true atau false. Satu kalimat dalam first
Page 64 of 98
order logic terdiri dari :
Objects : elemen-elemen yang nyata ada pada permasalahan (domain elements) Relations : hubungan antara elemen-elemen / objek-objek tertentu
Sebuah interpretasi mendefinisikan referent (yang dipetakan) sebagai berikut :
Constant symbols : objects
Predicate symbols : relations
Functions symbols : functional relations
Kalimat first order logic memiliki maksud kalimat atomik predicate(term1,...,term2)
dikatakan bernilai true dalam model m di bawah unterpretasi i jika dan hanya jika
object yang di-refer (term1, ... , term2) di bawah i terhubung oleh relation yang di refer
oleh predicate dalam m.
Ilustrasi pada gambar disamping menggambarkan komponen-komponen yang ada pada first order
logic. Pada ilustrasi digambarkan bahwa terdapat
orang dan raja. Hubungan keduanya adalah sebagai saudara satu dengan lainnya. Dari gambar tersebut dapat dilihat masing-masing komponen adalah sebagai berikut :
object
Ilustrasi menggambarkan ada seorang raja dan orang biasa, dapat kita ambil contoh objek yang ada adalah orang, raja, kaki raja dan kaki orang. Objek memiliki identitas tertentu yang nantinya akan melalui proses logika.
function
function merupakan hubungan yang hanya membutuhkan satu nilai untuk satu objek, contoh pada ilustrasi adalah kaki digunakan oleh orang untuk berjalan.
relation
menyatakan hubungan antar objek yang memiliki relasi tertentu, pada gambar ilustrasi terdapat relasi saudara antara orang dan raja.
2.4 Quantifiers
Page 65 of 98
Universal menyatakan logika yang digunakan untuk menunjuk sesuatu yang bersifat umum. Simbol ∀ yang memiliki makna "untuk semua atau setiap" atau "for all" terhadap sebuah variabel x yang disimbolkan dengan ∀x berarti bahwa kalimat tersebut berlaku untuk setiap objek x. Contoh permasalahan pada first
order logic yang menggunakan Universal Quantifiers adalah sebagai berikut :
Misalkan ada kalimat "Ikhsan adalah anak kecil", kalimat ini akan dinyatakan sebagai AnakKecil(Ikhsan), dan ada kalimat "Andi suka permen" dinyatakan sebagai Suka(Andi,Permen). Jika kita ingin membuat kalimat "Untuk setiap objek
x, jika x adalah anak kecil maka x suka permen". Maka kalimat dapat kita
tuliskan pada bentuk first order logic sebagai:
∀x AnakKecil(x)⇒Suka(x,Permen) kalimat tersebut akan bernilai benar jika dan hanya jika semua kalimat di bawah ini benar.
AnakKecil(Budi) ⇒Suka(Budi,Permen)∧
AnakKecil(Rahmad)⇒Suka(Rahmad,Permen)∧ AnakKecil(Anton) ⇒Suka(Anton,Permen)∧
Hal-hal yang harus dihindari pada penggunaan Quantifier Universal adalah penggunaan logika ∧ pada kalimat utama karena akan menimbulkan pengertian yang ambigu.
Existential quantifiers
Existential menyatakan logika yang digunakan untuk menunjuk sesuatu yang bersifat khusus. Artinya hanya beberapa bagian atau sebagian saja dari keseluruhan himpunan. Logika ini merupakan kebalikan dari logika Universal. Logika ini disimbolkan dengan ∃ yang memiliki makna "There Exist" atau (ada satu atau beberapa). Kita dapat menyatakan kalimat "Ada objek x, jika x adalah anak kecil maka x suka permen" menjadi first order logic sebagai berikut:
∃x AnakKecil(x) ∧ SukaPermen(x).
Hal-hal yang harus dihindari pada penggunaan Quantifier Universal adalah penggunaan logika⇒pada kalimat utama karena akan menimbulkan pengertian yang ambigu.
2.5Equality
Equality merupakan pembandingan terhadap dua kalimat atau term yang memiliki nilai logika true atau false. Kedua kalimat dianggap sama jika memiliki nilai logika yang sama. Term1 =Term2 akan diinterpretasikan benar jika dan hanya jika memiliki nilai yang sama. Contoh bentuk dari equality adalah sebagai berikut :
Equality
x,ySaudara(x,y) [(x = y) m,f (m = f)OrangTua(m,x)OrangTua(f,x)OrangTua (m,y) OrangTua (f,y)]
Page 66 of 98
2.6 Inferensi pada First Order Logic
Proses Inferensi pada First Order Logic menggunakan 7 aturan inferensi yang digunakan pada Propositional Logic, dengan ditambah aturan yang lebih kompleks sehubungan dengan quantifiers, sebagai berikut :
1. Inference Rules Involving Quantifiers
SUBST(,): untuk menotasikan hasil dari pengaplikasian operasi subsitusi terhadap sentence .
SUBST({x/Andi, y/Budi}, Saudara(x,y)) = Saudara(Andi, Budi).
2. Universal Elimination: untuk setiap sentence , variabel v, dan ground term (term yang tidak berisi variabel) g :
)
},
/
({
SUBST
g
v
v
Dari x Suka(x, Membaca), dapat digunakan substitusi {x/Andi} dan melakukan
inferensi bahwa Suka(Andi, Membaca)
3. Existential Elimination: untuk setiap sentence , variabel v, dan simbol konstanta k yang tidak tampak dimanapun di dalam basis pengetahuan:
)
},
/
({
SUBST
k
v
v
Dari x Membunuh(x, Korban), kita dapat menyimpulkan Membunuh{Penjahat,
Korban}, selama Penjahat tidak tidak tampak dimanapun di dalam basis
pengetahuan.
4. Existential Introduction: untuk setiap sentence , variabel v yang tidak terjadi pada , dan ground term g yang terjadi pada :
)
},
/
({
SUBST
v
g
v
Dari Suka(Budi, Membaca) kita dapat menyimpulkan xSuka(x, Membaca).