Pengetahuan dan Penalaran : Agen Logika
Pengetahuan Berbasis Agen
Seperti
yang kita tahu, dalam Artificial Intelligence jika terdapat agen yang bekerja
pastinya terdapat knowledge base yang mendasari pengetahuan dari tiap agennya.
Knowledge base ini selalu menyatakan apa yang diketahui dari agen-agen
tersebut. Knowledge base ini merupakan himpunan representasi fakta yang
diketahui dari lingkungan di sekitarnya. Tiap fakta yang ada diketahui disebut
dengan sentence, yang dalam
penyajiannya fakta atau sentence tersebut
disajikan dengan bahasa formal.
Dalam
membangun sebuah agen, ada istilah yang disebut dengan pendekatan deklaratif, istilah ini memiliki arti bahwa dalam
membangun agen, knowledge base akan menyampaikan informasi yang relevan dengan
agen yang selanjutnya akan disimpan di dalamnya. Dalam prosesnya, agen dapat ‘bertanya’
kepada knowledge base atau pada dirinya sendiri mengenai suatu masalah, yang
nantinya jawaban yang dihasilkannya akan didasari oleh knowledge base yang ada
pada agen.
Pada
umumnya sebuah agen memiliki fungsi fungsi umum, yang di antara lain adalah :
1.
Merepresentasikan world (lingkungan), state (keadaan), action (reaksi), dst.
2.
Menerima informasi
baru dan meng-update representasi
informasi yang lama.
3.
Menyimpulkan
sebuah pengetahuan atau informasi baru.
4.
Menyimpulkan
action apa yang perlu diambil jika bertemu dengan sebuah masalah.
Dalam
merepresentasikan informasinya, agen dapat dilihat dari implementation level-nya. Implementation level ini adalah tingkatan
atau hirarki dari bagaimana informasi akan direpresentasikan. Misalnya terdapat
sebuah informasi :
“sebuah robot “mengetahui” bahwa gedung B di antara
gedung A dan gedung C.”
Maka dalam merepresentasikan informasi-informasi
diatas atau implementation level-nya dibagi menjadi :
1.
Logical sentence,
contohnya : di_antara(gdB, gdA, gdC).
2.
Natural language
: “Gedung B ada di antara gedung A dan gedung C”.
3.
Tabel
posisi koordinat gedung-gedung.
4.
Gambar
diagram peta (dalam bitmap atau vektor).
Dalam
merepresentasikan informasinya, agen akan selalu berpengaruh terhadap inference engine, yaitu sebuah sistem
yang ada pada knowledge base dimana saat ada masalah agen akan ‘bertanya’ pada
knowledge base, tetapi yang ‘menjawab’ adalah sistem bernama inference engine
ini. Secara garis besar inference engine memiliki 2 fungsi yaitu :
1.
Menentukan fakta
baru yang dapat diturunkan dari pengetahuan yang sudah ada dalam KB.
2.
Menjawab ‘pertanyaan’
berdasarkan KB yang sudah ada.
Pada pendekatan deklaratif programmer memberitahu agen
informasi tentang lingkungan yang ada di sekitarnya. Kalau informasi kurang, agen
bisa melengkapinya sendiri. Jika dibandingkan dengan pendekatan procedural,
programmer secara eksplisit (terang-terangan) memrogram agen untuk bertindak.
Sebuah agen menggunakan istilah yang disebut dengan Bahasa
Representasi Pengetahuan (Knowledge
Representation Language). Suatu bahasa representasi pengetahuan didefinisikan
dalam dua aspek, yakni:
1.
Sintaks dari
bahasa merupakan aturan yang mendefinisikan sentence yang sah dalam bahasa.
2.
Semantik
menyatakan aturan yang mendefinisikan “arti” sebuah sentence, misalkan:
kebenaran sentence dalam dunia.
Logika
Logika
sebagai Bahasa Representasi Pengetahuan memiliki pengertian sebagai bahasa
formal untuk merepresentasikan fakta sedemikian sehingga kesimpulan (fakta
baru, jawaban) dapat ditarik. Dalam logika sebuah agen, terdapat beberapa
istilah, istilah-istilah tersebut adalah :
Entailment (memerlukan), yang dapat diartikan sebagai suatu fakta
bisa disimpulkan dari kumpulan fakta lain.
Inferensi atau reasoning,
merupakan pembentukan fakta (sentence) baru yang meng-entail fakta-fakta lama. Reasoning bukan dilakukan pada fakta di
dunia (berdasarkan semantik), melainkan representasi fakta dalam bahasa
representasi pengetahuan si agent (secara sintaks).
Inferensi, yang merupakan proses atau algoritma yang
“menurunkan” fakta baru dari fakta-fakta lama.
Logika Proposisi
Kalimat
yang bia benar bisa salah, tetapi tidak sekaligus keduanya, disebut Proposisi
(kalimat terbuka). Proposisi biasanya dinyatakan sebagai kalimat berita (bukan
kalimat tanya, kalimat perintah, dan sebagainya). Logika proposisi merupakan
logika yang paling sederhana. Sebuah sentence dinyatakan sebagai simbol
proposional P1, P2, dst. Sintaks dari logika proposisi :
·
Jika S adalah kalimat, ⌐S adalah kalimat (negasi)
·
Jika S1
dan S2 adalah kalimat, S1 Ʌ S2 adalah kalimat (conjunction)
·
Jika S1
dan S2 adalah kalimat, S1 V
S2 adalah kalimat (disjunction)
·
Jika Jika S1
dan S2 adalah kalimat, S1 → S2 adalah kalimat (implication)
·
Jika S1
dan S2 adalah kalimat, S1 ↔ S2 adalah kalimat (biconditional)
Proposisi merupakan bangunan dasar dari teori logika.
Biasanya proposisi dinyatakan dengan huruf kecil seperti p, q, r dan untuk
mengkombinasikan Proposisi dengan proposisi lain, digunakan kata hubung seperti
dan, atau. Kombinasi dari proposisi-proposisi disebut sebagai Proposisi
Majemuk.
Logika
proposisi terbagi menjadi beberapa bagian, yaitu :
1.
Sintaks
Sintaks dalam suatu bahasa adalah sekumpulan aturan
baku tentang bagaimana elemen-eleman bahasa tersusun secara gramatikal. Sintaks
menspesifikasikan bagaimana susunan setiap kata dituliskan kedalam suatu
kalimat.
2.
Semantik
Semantik dalam suatu bahasa adalah menekankan pada makna atau arti yang
terkandung dalam suatu pernyataan atau kalimat.
3.
Inferensi
Misalkan kita diberikan beberapa proposisi, kita dapat
menarik kesimpulan baru dari deret proposisi tersebut. Proses penarikan
kesimpulan dari beberapa proposisi tersebut disebut sebagai inferensi
(inference). Di dalam matematika distrik terdapat sejumlah kaidah inferensi,
beberapa diantaranya adalah :
·
Modus Ponen atau
law of detachment menyatakan bahwa jika
hipotesis p dan pada implikasi p -> q benar, maka konklusi q benar.
·
Modus Tollen kaidah ini didasarkan pada tautologi [~q ^ (p
-> q) ] -> ~p.
·
Silogisme
Hipotesis kaidah ini didasarkan pada tautologi [(p -> q) ^ (q -> r)] ->
(p -> r).
·
Silogisme
Disjungtif kaidah ini didasarkan pada tautologi [(p v q) ^ ~p] -> q.
·
Simplifikasi kaidah ini didasarkan pada tautologi (p ^ q)
-> p, yang dalam hal ini, p dan q adalah hipotesis, sedangkan p adalah
konklusi.
·
Penjumlahan kaidah
ini didasarkan pada tautologi p -> (p v q) .
·
Konjungsi kaidah
ini didasarkan pada tautologi ((p) ^ (q)) -> (p ^ q) .
4.
Ekuivalen
Proposisi yang bernilai benar jika proposisi p dan q
memiliki nilai kebenaran yang sama. Di dalam matematika diskrit ini secara
simbolik, proposisi biasanya dilambangkan dengan huruf kecil seperti p, q, r.
Contohnya :
p : 6 adalah bilangan
genap.
q : Soekarno adalah Presiden Indonesia yang pertama.
r : 3+3 = 6
q : Soekarno adalah Presiden Indonesia yang pertama.
r : 3+3 = 6
Untuk mendefinisikan p sebagai preposisi "6
adalah bilangan genap" , begitu dengan q dan r.
5.
Validitas dan
Satisfiability
Dalam logika matematika , satisfiability dan validitas
adalah konsep dasar dari semantik . Sebuah rumus adalah satisfiable apakah
mungkin untuk menemukan interpretasi (Model ) yang membuat formula yang benar.
Pola Penalaran (Reasoning Pattern) pada Logika Proposisi
Penalaran
erat kaitannya dengan penyimpulan, argumen dan bukti. Penyimpulan dalam arti
yang sebenarnya tidak mencakup aktivitas menemukan proposisi-proposisi disusun
dalam premis, akan tetapi hanya memakai hubungan proposisi-proposisi dalam
premis dan menentukan konklusinya. Dalam logika proposisi terdapat 2 jenis metode
pola penalaran yaitu :
1.
Resolusi
Strategi
inferensi yang digunakan pada sistem logika untuk menentukan kebenaran dari
suatu assertion (penegasan). Metoda Resolusi mencoba untuk membuktikan bahwa
beberapa teorema atau ekspresi sebagai proposisi P adalah TRUE, dengan
memberikan sejumlahaksiomadarimasalahtersebut sejumlah aksioma dari masalah
tersebut.
2.
Backward &
Forward chaining
Backward
Chaining merupakan Pendekatan
goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis),
kemudian mengecek pada sebab-sebab yang mendukung (ataupun pygg(p kontradiktif)
dari ekspektasi tersebut.
Forward
chaining melakukan pencarian dari suatu masalah lalu langsung kepada solusinya.
Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan
meng-assert (menegaskan) konklusi. Forward Chaining adalah data driven karena
inferensi dimulai dengan informasi yg
tersedia dan baru konklusi diperoleh.
Inferensi Proposisi yang Efektif
Dalam
melakukan inferensi proposisi, hasil yang dihasilkan haruslah efektif agar
informasi dapat direpresentasikan dalam bentuk yang sesingkat dan sesempurna
mungkin. Dalam inferensi proposisi terdapat 2 jenis algoritma, yaitu :
1.
Algoritma
Backtracking
Algoritma
backtracking merupakan salah satu metode pemecahan masalah yang termasuk dalam
strategi yang berbasis pencarian pada ruang status. Algoritma backtracking
bekerja secara berulang melakukan pencarian solusi persoalan secara sistematis
pada semua kemungkinan solusi yang ada. Oleh karena algoritma ini berbasis pada
algoritma Depth-First Search (DFS), maka pencarian solusi dilakukan dengan
menelusuri struktur berbentuk pohon berakar secara preorder. Algoritma
backtracking merupakan bentuk tipikal
dari algoritma rekursif.Saat ini algoritma backtracking banyak
diterapkan untuk program games (seperti permainan tic-tac-toe, menemukan jalan
keluar dalam sebuah labirin, catur, dll) dan masalah-masalah pada bidang kecerdasan buatan (artificial
intelligence).
2.
Algoritma
Pencarian Lokal
Algoritma
pencarian lokal berusaha untuk melakukan optimasi, misalnya dengan teknik Hill
Climbing. Teknik Hill Climbing dapat digunakan untuk memecahkan persoalan yang
memiliki banyak alternatif solusi untuk kemudian memilih solusi yang terbaik.
Cara kerjanya dimulai dengan memilih solusi acak, kemudian dilakukan perubahan
sedikit demi sedikit, setiap perubahan menghasilkan solusi yang lebih baik.
Saat perubahan yang dilakukan tidak lagi mendapatkan solusi yang lebih baik,
algoritma Hill Climbing akan berhenti mencari dan menentukan solusi terakhir
sebagai solusi yang optimal. Contoh penggunaan Hill Climbing pada kecerdasan
buatan adalah pencarian rute terbaik, dari berbagai kemungkinan rute yang ada.
Agen Berbasis Logika Proposisi
Agen
logika merupakan agen yang memiliki kemampuan bernalar secara logika. Ketika terdapat
beberapa solusi diketahui, maka diperlukan suatu agen berbasis logika. Logika yang
ada dalam agen memiliki bahasa representasi pengetahuan yang memiliki kemampuan
untuk merepresentasikan fakta sedemikian sehingga dapat menarik kesimpulan (fakta
baru, jawaban). Sedangkan pengetahuan merupakan komponen yang penting, sehingga
terdapat perbedaan jika diterapkan pada dua agent, yakni problem solving agent dan knowledge-based
agent.
Perbedaan
dua agent, problem solving agent dan knowledge-based agent. Problem solving
agent memilih solusi di antara kemungkinan yang ada. Apa yang ia “ketahui”
tentang dunia, pengetahuannya tidak berkembang untuk mencapai problem solution
(initial state, successor function, goal test) tetapi jika Knowledge-based
agent lebih “pintar”. Ia “mengetahui” hal-hal tentang dunia dan dapat melakukan
reasoning (berpikir, bernalar) mengenai Hal-hal yang tidak diketahui sebelumnya
(imprefect/ partial information). Tindakan yang paling baik untuk diambil (best
action).
Presentasi dari materi ini.
Presentasi dari materi ini.
Komentar
Posting Komentar