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
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.

Komentar

Postingan populer dari blog ini

Sejarah Steam

Review about Ex Machina and the Connection with Human and Computer Interaction

Pengetahuan dan Penalaran : Logika Orde Pertama (First-Order Logic)