Representasi dan Penalaran Pengetahuan

**Representasi dan Penalaran Pengetahuan** (*Knowledge Representation and Reasoning* atau KRR) adalah bidang dalam kecerdasan buatan (AI) yang berfokus pada representasi informasi tentang dunia dalam bentuk yang dapat digunakan oleh sistem komputer untuk menyelesaikan tugas-tugas kompleks, seperti mendiagnosis kondisi medis atau berinteraksi dalam dialog bahasa alami. Representasi pengetahuan menggabungkan temuan dari psikologi tentang bagaimana manusia memecahkan masalah dan merepresentasikan pengetahuan, dengan tujuan merancang formalitas yang mempermudah pengembangan dan pembangunan sistem yang kompleks. Selain itu, KRR juga mengintegrasikan temuan dari logika untuk mengotomatisasi berbagai jenis penalaran.

Contoh formalitas representasi pengetahuan meliputi:
* **[[Ontologi]]**: Struktur yang mendefinisikan konsep dan hubungan antar konsep dalam suatu domain tertentu.
* **Jaringan Semantik**: Graf yang mewakili hubungan semantik antara konsep-konsep.
* **[[Sistem aksioma|Sistem Aksioma]]**: Kumpulan pernyataan dasar yang diterima sebagai benar tanpa pembuktian, digunakan sebagai dasar untuk penalaran lebih lanjut.
* **Bingkai (Frames)**: Struktur data yang mewakili situasi, objek, atau peristiwa, dengan atribut dan nilai yang terkait.
* **Aturan (Rules)**: Pernyataan kondisi-aksi yang menentukan tindakan apa yang harus diambil berdasarkan kondisi tertentu.
* **Program Logika**: Kumpulan aturan logika yang digunakan untuk penalaran dan pengambilan keputusan.

Contoh mesin penalaran otomatis meliputi:
* **Mesin Inferensi**: Komponen yang menerapkan aturan logika untuk menarik kesimpulan dari fakta yang diketahui.
* **Pembukti Teorema**: Sistem yang secara otomatis membuktikan kebenaran teorema berdasarkan aksioma dan aturan inferensi.
* **Generator Model**: Alat yang menghasilkan model yang memenuhi sekumpulan pernyataan logis.
* **Klasifikator**: Sistem yang mengategorikan data berdasarkan atribut dan aturan yang telah ditentukan.

## Sejarah
Pekerjaan awal dalam representasi pengetahuan terkomputerisasi berfokus pada pemecah masalah umum, seperti **General Problem Solver (GPS)** yang dikembangkan oleh Allen Newell dan Herbert A. Simon pada tahun 1959, serta **Advice Taker** yang diusulkan oleh John McCarthy pada tahun yang sama. GPS menampilkan struktur data untuk perencanaan dan dekomposisi, memulai dengan tujuan, kemudian memecahnya menjadi sub-tujuan, dan membentuk strategi untuk mencapai setiap sub-tujuan. Sementara itu, Advice Taker mengusulkan penggunaan kalkulus predikat untuk merepresentasikan penalaran akal sehat.

Pendekatan awal lainnya dalam representasi pengetahuan menggunakan representasi graf dan jaringan semantik, mirip dengan graf pengetahuan saat ini. Dalam pendekatan ini, pemecahan masalah dilakukan melalui penelusuran graf atau pencarian jalur, seperti dalam algoritma pencarian A*. Aplikasi khasnya meliputi pembentukan rencana untuk robot dan permainan.


Berkas:John_McCarthy_Stanford.jpg|John McCarthy
Berkas:Herbert_Simon,_RIT_NandE_Vol13Num11_1981_Mar19_Complete.jpg|Herbert A. Simon
Berkas:John Alan Robinson IMG 0493.jpg|John Alan Robinson
Berkas:Marvin_Minsky_at_OLPCb.jpg|Marvin Minsky


Peneliti lain berfokus pada pengembangan pembukti teorema otomatis untuk logika orde pertama, didorong oleh penggunaan logika matematika untuk memformalkan matematika dan mengotomatisasi pembuktian teorema matematika. Langkah penting dalam arah ini adalah pengembangan metode resolusi oleh John Alan Robinson.

Sementara itu, John McCarthy dan Pat Hayes mengembangkan **kalkulus situasi** sebagai representasi logis dari pengetahuan akal sehat tentang hukum sebab dan akibat. Cordell Green menunjukkan bagaimana melakukan pembentukan rencana robot dengan menerapkan resolusi pada kalkulus situasi, serta penggunaannya dalam penjawaban pertanyaan dan pemrograman otomatis.

Di sisi lain, peneliti di Massachusetts Institute of Technology (MIT) menolak paradigma prosedur pembuktian seragam resolusi dan menganjurkan penyisipan prosedural pengetahuan. Konflik antara penggunaan representasi logis dan representasi prosedural ini diselesaikan pada awal 1970-an dengan pengembangan **pemrograman logika** dan **Prolog**, menggunakan resolusi SLD untuk memperlakukan klausa Horn sebagai prosedur reduksi tujuan.

Pengembangan awal pemrograman logika sebagian besar merupakan fenomena Eropa. Di Amerika Utara, peneliti AI seperti Ed Feigenbaum dan Frederick Hayes-Roth menganjurkan representasi pengetahuan spesifik domain daripada penalaran tujuan umum.

Upaya ini mengarah pada revolusi kognitif dalam psikologi dan fase AI yang berfokus pada representasi pengetahuan, menghasilkan sistem pakar pada 1970-an dan 1980-an, sistem produksi, bahasa bingkai, dan lainnya. Alih-alih pemecah masalah umum, AI mengalihkan fokusnya ke sistem pakar yang dapat menyamai kompetensi manusia dalam tugas spesifik, seperti diagnosis medis.

Sistem pakar memperkenalkan terminologi yang masih digunakan hingga saat ini, di mana sistem AI dibagi menjadi **[[basis pengetahuan]]**, yang mencakup fakta dan aturan tentang domain masalah, dan **mesin inferensi**, yang menerapkan pengetahuan dalam basis pengetahuan untuk menjawab pertanyaan dan menyelesaikan masalah dalam domain tersebut. Dalam sistem awal ini, fakta dalam basis pengetahuan cenderung memiliki struktur yang cukup datar, berupa pernyataan tentang nilai variabel yang digunakan oleh aturan.

Marvin Minsky mengembangkan konsep *frame* pada pertengahan tahun 1970-an. *Frame* menyerupai kelas objek, yaitu deskripsi abstrak tentang kategori yang mencakup hal-hal di dunia nyata, permasalahan, dan potensi solusinya. Pada awalnya, *frame* digunakan dalam sistem yang dirancang untuk interaksi manusia, seperti pemahaman bahasa alami dan pengaturan sosial di mana ekspektasi bawaan, seperti pemesanan makanan di restoran, mempersempit ruang pencarian dan memungkinkan sistem merespons situasi yang dinamis dengan lebih tepat.

Komunitas yang meneliti *frame* dan peneliti berbasis aturan segera menyadari sinergi antara pendekatan mereka. *Frame* cocok untuk merepresentasikan dunia nyata dalam bentuk kelas, subkelas, serta atribut (*slots*) dengan berbagai batasan nilai, sedangkan aturan cocok untuk merepresentasikan dan menggunakan logika yang kompleks, seperti proses diagnosis medis. Sistem yang mengintegrasikan *frame* dan aturan kemudian dikembangkan. Salah satu sistem paling berpengaruh adalah ''Knowledge Engineering Environment'' (KEE) dari Intellicorp pada tahun 1983. KEE memiliki mesin aturan lengkap dengan mekanisme *forward chaining* dan *backward chaining*, serta basis pengetahuan berbasis *frame* yang mencakup pemicu (*triggers*), pewarisan (*inheritance*), dan *message passing*. Meskipun *message passing* berasal dari komunitas berorientasi objek daripada AI, konsep ini dengan cepat diadopsi oleh para peneliti AI dalam lingkungan seperti KEE serta dalam sistem operasi untuk mesin Lisp dari Symbolics, Xerox, dan Texas Instruments.

Integrasi *frame*, aturan, dan pemrograman berorientasi objek didorong oleh berbagai proyek komersial seperti KEE dan Symbolics yang berasal dari proyek penelitian akademik. Pada saat yang sama, penelitian lain yang lebih teoretis berfokus pada logika matematika dan pembuktian teorema otomatis. Salah satu bahasa paling berpengaruh dalam penelitian ini adalah KL-ONE pada pertengahan 1980-an. KL-ONE adalah bahasa berbasis *frame* dengan semantik yang ketat dan definisi formal untuk konsep seperti relasi *Is-A*. KL-ONE dan bahasa turunannya, seperti Loom, memiliki mesin penalaran otomatis berbasis logika formal yang dikenal sebagai *classifier*. *Classifier* dapat menganalisis serangkaian deklarasi dan menyimpulkan fakta baru, seperti mengklasifikasikan ulang suatu kelas sebagai subkelas atau superclass dari kelas lain yang belum ditentukan sebelumnya. *Classifier* juga dapat melakukan pemeriksaan konsistensi terhadap basis pengetahuan atau ontologi.

Penelitian dalam representasi pengetahuan juga mencakup permasalahan penalaran umum (*common-sense reasoning*). Salah satu temuan awal dalam upaya menciptakan perangkat lunak yang mampu memahami bahasa alami manusia adalah bahwa manusia secara teratur menggunakan fondasi pengetahuan luas tentang dunia nyata yang dianggap sudah diketahui secara implisit, tetapi tidak jelas bagi agen kecerdasan buatan. Hal ini mencakup prinsip-prinsip dasar fisika umum, kausalitas, dan niat (*intentions*). Contohnya adalah *frame problem*, yaitu kebutuhan akan aksioma dalam logika berbasis kejadian untuk menyatakan bahwa sesuatu akan tetap berada di tempatnya kecuali ada gaya eksternal yang mengubahnya.

Salah satu proyek paling ambisius yang menangani permasalahan ini adalah proyek Cyc oleh Doug Lenat. Cyc mengembangkan bahasa *frame*-nya sendiri dan melibatkan banyak analis dalam mendokumentasikan berbagai aspek penalaran umum. Pengetahuan yang dikumpulkan dalam Cyc mencakup model umum tentang waktu, kausalitas, fisika, niat, dan banyak lainnya.

Hipotesis representasi pengetahuan pertama kali diformalkan oleh Brian C. Smith pada tahun 1985:"*Setiap proses cerdas yang diwujudkan secara mekanis akan terdiri dari unsur-unsur struktural yang: a) oleh pengamat eksternal secara alami dianggap mewakili bentuk proposisional dari pengetahuan yang dimiliki proses tersebut, dan b) terlepas dari atribusi semantik eksternal, memainkan peran formal tetapi kausal yang penting dalam menghasilkan perilaku yang mencerminkan pengetahuan tersebut.*"Salah satu area penelitian yang aktif dalam representasi pengetahuan adalah *[[Web semantik|Semantic Web]]*. *Semantic Web* berupaya menambahkan lapisan semantik di atas Internet saat ini, memungkinkan pencarian berbasis konsep daripada hanya berdasarkan kata kunci. Teknologi seperti bahasa *frame* dan klasifikasi otomatis memainkan peran penting dalam visi ini. Integrasi ini didukung oleh proyek seperti RDF (*Resource Description Framework*) dan OWL (*Web Ontology Language*), yang memungkinkan pemodelan ontologi yang dinamis untuk menangani perubahan dalam lingkungan informasi Internet.

## Gambaran Umum
Representasi pengetahuan adalah bidang dalam kecerdasan buatan yang berfokus pada perancangan representasi komputer yang dapat menangkap informasi tentang dunia dan digunakan untuk menyelesaikan permasalahan kompleks.

Representasi pengetahuan bertujuan untuk mengatasi keterbatasan kode prosedural konvensional dalam menyelesaikan permasalahan yang kompleks. Dengan menggunakan representasi pengetahuan, perangkat lunak kompleks menjadi lebih mudah untuk didefinisikan dan dipelihara dibandingkan dengan kode prosedural serta dapat digunakan dalam sistem pakar.

Sebagai contoh, komunikasi dengan pakar menggunakan aturan bisnis daripada kode pemrograman mengurangi kesenjangan semantik antara pengguna dan pengembang, serta membuat pengembangan sistem kompleks lebih praktis.

Representasi pengetahuan berkaitan erat dengan penalaran otomatis, karena salah satu tujuan utama dari representasi pengetahuan adalah memungkinkan inferensi, pernyataan pengetahuan baru, dan proses penalaran lainnya. Hampir semua bahasa representasi pengetahuan memiliki mesin inferensi sebagai bagian dari sistemnya.

Salah satu tantangan utama dalam perancangan sistem representasi pengetahuan adalah keseimbangan antara ekspresivitas dan traktabilitas. Logika Predikat Tingkat Pertama (*First Order Logic*, FOL), dengan daya ekspresif yang tinggi serta kemampuannya untuk memformalkan sebagian besar aspek matematika, sering dijadikan tolok ukur dalam membandingkan bahasa representasi pengetahuan.

Namun, FOL memiliki dua kelemahan utama sebagai bentuk representasi pengetahuan, yaitu kesulitan dalam penggunaan dan efisiensi implementasi. Pertama, karena daya ekspresivitasnya yang tinggi, FOL memungkinkan berbagai cara untuk mengekspresikan informasi yang sama, sehingga dapat menyulitkan pengguna dalam memformalkan atau memahami pengetahuan yang diekspresikan dengan cara yang kompleks dan matematis. Kedua, prosedur pembuktian yang kompleks dalam FOL dapat membuat penjelasan sulit dipahami oleh pengguna dan implementasinya menjadi kurang efisien. Akibatnya, FOL dalam bentuknya yang tidak dibatasi dapat terasa menakutkan bagi banyak pengembang perangkat lunak.

Pada tahun 1970-an, penelitian dalam kecerdasan buatan menemukan bahwa bahasa yang tidak memiliki daya ekspresif penuh dari FOL tetap dapat mendekati kemampuan ekspresif FOL, tetapi lebih mudah dipahami oleh pengembang dan sistem komputer. Banyak sistem awal representasi pengetahuan, seperti basis data, jaringan semantik, dan sistem produksi, merupakan hasil dari berbagai keputusan desain untuk menyeimbangkan daya ekspresif dengan kemudahan ekspresi dan efisiensi. Secara khusus, keseimbangan ini menjadi motivasi utama dalam pengembangan aturan IF-THEN pada sistem pakar berbasis aturan.

Pendekatan serupa juga mendorong pengembangan pemrograman logika (*Logic Programming*, LP) dan bahasa pemrograman logika seperti Prolog. Program logika memiliki sintaks berbasis aturan yang sering disalahartikan sebagai sintaks IF-THEN dalam sistem produksi, tetapi program logika memiliki semantik logis yang lebih terdefinisi dengan baik dibandingkan dengan sistem produksi.

Bentuk paling awal dari pemrograman logika (*Logic Programming*, LP) didasarkan pada subset klausa Horn dari logika predikat orde pertama (*First-Order Logic*, FOL). Namun, perluasan LP di kemudian hari mencakup aturan inferensi "negasi sebagai kegagalan" (*negation as failure*), yang mengubah LP menjadi logika non-monoton untuk penalaran *default*. Semantik yang dihasilkan dari perluasan LP ini merupakan variasi dari semantik standar klausa Horn dan FOL, serta merupakan bentuk semantik basis data, yang mencakup asumsi nama unik (*unique name assumption*) dan suatu bentuk asumsi dunia tertutup (*closed world assumption*). Asumsi-asumsi ini jauh lebih sulit untuk dinyatakan dan diproses secara eksplisit menggunakan semantik standar dari FOL.

Dalam makalah penting tahun 1993 mengenai topik ini, Randall Davis dari MIT menguraikan lima peran yang berbeda dalam menganalisis suatu kerangka representasi pengetahuan:

# "Representasi pengetahuan (*Knowledge Representation*, KR) yang paling fundamental adalah sebagai substitusi, pengganti dari objek sebenarnya, yang digunakan untuk memungkinkan suatu entitas menentukan konsekuensi dengan berpikir daripada bertindak," yaitu "dengan bernalar tentang dunia daripada bertindak langsung di dalamnya."
# "KR merupakan serangkaian komitmen ontologis," yaitu "jawaban terhadap pertanyaan: Dalam istilah apa saya harus berpikir tentang dunia?"
# "KR adalah teori parsial tentang penalaran cerdas, yang dinyatakan dalam tiga komponen: (i) konsepsi fundamental dari penalaran cerdas dalam representasi tersebut; (ii) serangkaian inferensi yang disetujui oleh representasi; dan (iii) serangkaian inferensi yang direkomendasikan oleh representasi."
# "KR adalah media untuk komputasi yang efisien secara pragmatis," yaitu "lingkungan komputasi di mana proses berpikir dilakukan. Salah satu kontribusi terhadap efisiensi pragmatis ini disediakan oleh bimbingan yang diberikan oleh representasi dalam mengorganisir informasi" guna "memfasilitasi pembuatan inferensi yang direkomendasikan."
# "KR adalah media ekspresi manusia," yaitu "suatu bahasa yang digunakan untuk menyatakan hal-hal tentang dunia."

Representasi dan penalaran pengetahuan merupakan teknologi utama yang mendukung pengembangan Web Semantik. Bahasa berbasis model *Frame* dengan klasifikasi otomatis menyediakan lapisan semantik di atas Internet yang sudah ada. Alih-alih melakukan pencarian berdasarkan string teks seperti yang umum dilakukan saat ini, Web Semantik memungkinkan definisi kueri logis untuk menemukan halaman yang sesuai dengan kueri tersebut. Komponen penalaran otomatis dalam sistem ini adalah mesin yang dikenal sebagai classifier. *Classifier* berfokus pada hubungan subsumsi dalam basis pengetahuan daripada pada aturan. *Classifier* dapat menyimpulkan kelas baru dan secara dinamis mengubah ontologi saat informasi baru tersedia. Kemampuan ini sangat ideal untuk ruang informasi yang selalu berubah dan berkembang seperti Internet.

Web Semantik mengintegrasikan konsep representasi dan penalaran pengetahuan dengan bahasa markup berbasis XML. *Resource Description Framework* (RDF) menyediakan kemampuan dasar untuk mendefinisikan objek berbasis pengetahuan di Internet dengan fitur dasar seperti hubungan *Is-A* dan properti objek. *Web Ontology Language* (OWL) menambahkan semantik tambahan dan mengintegrasikannya dengan mesin penalaran klasifikasi otomatis.

## Lihat pula

* Logika pemrograman
* Logika Predikat Tingkat Pertama
* Graf pengetahuan
* Web semantik

## Referensi