Knowledge Representation dalam Artificial Intelligence

1. Pendahuluan Knowledge Representation

Knowledge Representation (Representasi Pengetahuan) adalah salah satu aspek fundamental dalam Artificial Intelligence yang berkaitan dengan bagaimana sistem AI menyimpan, mengorganisir, dan memanfaatkan pengetahuan untuk melakukan reasoning dan pengambilan keputusan.

Dalam konteks AI, representasi pengetahuan bukan hanya tentang menyimpan data, tetapi tentang bagaimana merepresentasikan informasi dunia nyata dalam format yang dapat dipahami dan diproses oleh mesin untuk menghasilkan tindakan cerdas.

πŸ’‘ Mengapa Knowledge Representation Penting?

  • Basis Reasoning: Memungkinkan AI untuk melakukan penalaran logis dan inferensi
  • Efisiensi: Pemilihan representasi yang tepat dapat meningkatkan kecepatan pemrosesan
  • Skalabilitas: Representasi yang baik memudahkan pengembangan sistem yang lebih kompleks
  • Interoperabilitas: Memfasilitasi komunikasi antar sistem AI yang berbeda
  • Pembelajaran: Foundation untuk machine learning dan knowledge acquisition

Jenis-jenis Pengetahuan yang Perlu Direpresentasikan

πŸ“Œ Objects (Objek)

Fakta tentang objek dalam domain dunia kita. Contoh: Gitar memiliki senar, trompet adalah alat musik brass.

πŸ“Œ Events (Kejadian)

Aksi yang terjadi di dunia kita. Contoh: Steve Vai memainkan gitar di band Frank Zappa.

πŸ“Œ Performance (Kinerja)

Perilaku yang melibatkan pengetahuan tentang cara melakukan sesuatu, seperti memainkan gitar.

πŸ“Œ Meta-knowledge (Meta-pengetahuan)

Pengetahuan tentang apa yang kita ketahui - knowing about knowing.

2. Physical Symbol Systems

Physical Symbol System Hypothesis adalah fondasi filosofis dari AI klasik yang diajukan oleh Allen Newell dan Herbert Simon, dua pioneer dalam bidang kecerdasan buatan.

🎯 Physical Symbol System Hypothesis

"A physical symbol system has the necessary and sufficient means for general intelligent action"

Artinya: Sistem simbol fisik memiliki sarana yang necessary (diperlukan) dan sufficient (mencukupi) untuk tindakan cerdas secara umum.

Komponen Physical Symbol System

Komponen Definisi Contoh
Symbol Pola bermakna yang dapat dimanipulasi Huruf, angka, kata dalam komputer
Symbol System Sistem yang membuat, memodifikasi, dan menghancurkan simbol Program komputer, bahasa pemrograman
Physical Eksis langsung di dunia nyata Mengontrol otot fisik, sensor, aktuator

πŸ€” Implikasi dan Perdebatan

Hipotesis ini menyatakan bahwa komputer dan pikiran manusia sama-sama merupakan contoh dari physical symbol systems. Namun, ini masih menjadi perdebatan:

  • Apakah manipulasi simbol cukup untuk menghasilkan kecerdasan sejati?
  • Bagaimana dengan aspek kesadaran dan subjektivitas?
  • Apakah pendekatan subsymbolic (seperti neural networks) lebih tepat?

3. Konsep Dasar Representasi

AI agents berurusan dengan berbagai jenis pengetahuan (data) yang perlu direpresentasikan dengan tepat untuk mendukung reasoning dan decision making yang efektif.

Mengapa Representasi yang Tepat Itu Crucial?

⚠️ Realitas dalam Proyek AI

  • Representasi yang tepat adalah krusial untuk kesuksesan proyek AI
  • Pilihan representasi yang salah dapat menyebabkan kegagalan proyek
  • Ini merupakan area penelitian yang masih aktif hingga saat ini
  • Tidak ada satu representasi universal yang optimal untuk semua masalah

Pemilihan Representasi Berdasarkan Teknik

Untuk teknik problem solving tertentu, representasi 'terbaik' sering kali sudah diketahui atau merupakan requirement dari teknik atau bahasa pemrograman yang digunakan:

Teknik Representasi yang Digunakan
First Order Theorem Proving First Order Logic (FOL)
Inductive Logic Programming Logic Programs (subset dari FOL)
Neural Networks Learning Neural Networks (weighted connections)
Prolog Programming Logic-based representation

4. Properties Sistem Representasi Pengetahuan

Sistem representasi pengetahuan yang ideal harus memiliki empat properti utama. Namun, hingga saat ini belum ada sistem tunggal yang mengoptimalkan semua properti ini secara bersamaan.

1️⃣ Representational Adequacy

Definisi: Kemampuan untuk merepresentasikan semua jenis pengetahuan yang diperlukan.

Tingkat Kesulitan Representasi:

  • Mudah: "Spot adalah anjing", "Semua anjing memiliki ekor"
  • Menengah: "Spot tidak memiliki ekor" (kontradiksi yang jelas)
  • Sulit: "Saya harus berbelanja antara jam 8 dan 2 pada hari Selasa" (temporal constraints)

πŸ’‘ Contoh Praktis

Sistem harus mampu merepresentasikan berbagai jenis pengetahuan: fakta sederhana, hubungan kompleks, constraints temporal, exceptions, dan uncertainty.

2️⃣ Inferential Adequacy

Definisi: Kemampuan untuk memanipulasi pengetahuan yang direpresentasikan untuk menghasilkan pengetahuan baru yang sesuai dengan inferensi dari pengetahuan asli.

Contoh Inferensi Logis:

Premis 1: Spot adalah anjing Premis 2: Semua anjing memiliki ekor Kesimpulan: Spot memiliki ekor (melalui inferensi)

⚠️ Pentingnya Inferential Adequacy

Jika kita dapat merepresentasikan pengetahuan tetapi tidak dapat menggunakannya untuk menyimpulkan hal-hal yang menarik, maka representasi kita sangat buruk dan tidak berguna.

3️⃣ Inferential Efficiency

Definisi: Kemampuan untuk mengarahkan mekanisme inferensi ke arah yang paling produktif dengan menyimpan panduan yang sesuai.

  • Sistem harus melakukan inferensi dengan cara yang paling efisien
  • Ini pada dasarnya adalah masalah algoritma dan optimasi
  • Jika banyak jalur inferensi memungkinkan, pilih yang paling penting/produktif
  • Gunakan heuristics dan knowledge untuk memandu pencarian solusi

4️⃣ Acquisitional Efficiency

Definisi: Kemampuan untuk memperoleh pengetahuan baru menggunakan metode otomatis sebanyak mungkin, bukan bergantung pada intervensi manusia.

πŸ€– Pembelajaran Otomatis

Manusia tidak harus mengajarkan sistem secara manual untuk semua hal. Sistem perlu belajar sendiri sebanyak mungkin melalui:

  • Machine Learning
  • Data Mining
  • Knowledge Discovery
  • Transfer Learning

5. Logika sebagai Representasi

Logika adalah salah satu pendekatan utama dalam knowledge representation. Ada dua "school of thought" utama dalam AI tentang bagaimana pengetahuan seharusnya direpresentasikan:

πŸŽ“ Dua Mazhab Pemikiran

1. Knowledge as Logic (Pengetahuan sebagai Logika)

Pendekatan ini menggunakan logika formal untuk merepresentasikan pengetahuan:

Contoh Propositional Logic: "Jika x adalah burung kardinal, maka x berwarna merah" ∀x(cardinal(x) → red(x))
  • Representasi formal dan tidak ambigu
  • Mendukung reasoning yang ketat
  • Berbasis pada aturan logika matematika

2. Associationism (Asosionisme)

Pendekatan ini percaya bahwa pengetahuan dibangun melalui observasi dan asosiasinya dengan observasi lain:

  • Pertama kali dikemukakan oleh Plato dan Aristoteles
  • Percaya bahwa manusia tidak benar-benar berpikir secara logis saja
  • Pengetahuan terbentuk dari koneksi dan asosiasi
  • Mendasari pendekatan neural networks modern

πŸ”— Contoh Asosiasi

Fakta Langsung dari Indera: Dingin/Panas, Keras/Lunak

Koneksi yang Dibangun:

  • Salju berwarna putih (warna yang langsung dipersepsikan)
  • Salju itu dingin
  • Salju itu lembut

Apa itu Logika?

Aspek Penjelasan
Bahasa dengan Aturan Konkret Tidak ada ambiguitas dalam representasi (meskipun mungkin ada error lain)
Komunikasi Tidak Ambigu Memungkinkan komunikasi dan pemrosesan yang jelas
Berbeda dari Bahasa Natural Sangat tidak seperti bahasa natural seperti bahasa Indonesia atau Inggris
Expressiveness Seberapa banyak yang dapat kita katakan dalam bahasa logika ini?

⚠️ Logika ≠ Logical Reasoning

Penting untuk dipahami: Logika adalah bahasa, sedangkan reasoning adalah proses (yang mungkin menggunakan logika).

6. Propositional Logic (Logika Proposisional)

Propositional Logic adalah bentuk logika paling sederhana yang menggunakan proposisi (pernyataan yang bernilai benar atau salah) dan menghubungkannya dengan operators logika.

Syntax (Sintaks)

  • Propositions: Pernyataan, misalnya "hari ini hujan"
  • Connectives: and (∧), or (∨), not (¬), implies (→), iff/equivalent (↔)
  • Brackets: Untuk pengelompokan
  • T dan F: True (benar) dan False (salah)

Semantics (Semantik) - Boolean/Classical

Mendefinisikan bagaimana connectives mempengaruhi kebenaran:

"P and Q" adalah benar jika dan hanya jika P benar DAN Q benar "P or Q" adalah benar jika P benar ATAU Q benar (atau keduanya) "not P" adalah benar jika P salah

πŸ“Š Truth Tables

Kita menggunakan truth tables untuk menghitung kebenaran dari statements kompleks:

P | Q | P∧Q | P∨Q | ¬P --|---|-----|-----|--- T | T | T | T | F T | F | F | T | F F | T | F | T | T F | F | F | F | T

Contoh Penggunaan

P: "Hari ini hujan" Q: "Saya membawa payung" P → Q: "Jika hari ini hujan, maka saya membawa payung" P ∧ Q: "Hari ini hujan DAN saya membawa payung" ¬P: "Hari ini TIDAK hujan"

7. Predicate Logic (Logika Predikat)

Propositional logic menggabungkan atoms (atom), dimana atom tidak mengandung propositional connectives dan tidak memiliki struktur internal seperti: today_is_wet, john_likes_apples.

Predicate Logic memungkinkan kita untuk berbicara tentang objek dengan lebih terstruktur:

Komponen Predicate Logic

Komponen Penjelasan Contoh
Properties Sifat dari objek is_wet(today)
Relations Hubungan antar objek likes(john, apples)
True/False Nilai kebenaran Setiap predicate bernilai T atau F

✅ Keunggulan Predicate Logic

Predicate logic memungkinkan kita untuk merepresentasikan pengetahuan dengan lebih terstruktur dan ekspresif dibandingkan propositional logic. Setiap atom adalah predicate.

8. First Order Logic (FOL)

First Order Logic adalah logika predikat yang paling banyak digunakan dalam AI karena keseimbangan antara ekspresivitas dan kompleksitas komputasi.

Elemen-elemen FOL

1. Constants (Konstanta)

Adalah objek: john, apples

2. Predicates (Predikat)

Adalah properties dan relations:

likes(john, apples) is_red(apple)

3. Functions (Fungsi)

Mentransformasi objek:

likes(john, fruit_of(apple_tree))

4. Variables (Variabel)

Merepresentasikan objek apapun:

likes(X, apples) // X bisa siapa saja

5. Quantifiers (Kuantifier)

Mengkualifikasi nilai variabel:

  • Universal (∀): Benar untuk semua objek
  • Existential (∃): Setidaknya ada satu objek

Contoh FOL: "Every Rose Has a Thorn"

Dalam bahasa natural: "Setiap mawar memiliki duri" Dalam FOL: ∀X.(rose(X) → ∃Y.(has(X, Y) ∧ thorn(Y))) Terjemahan: Untuk semua X, jika (X adalah mawar) maka ada Y dimana (X memiliki Y) dan (Y adalah duri)

Contoh FOL: Kalimat Kompleks

Kalimat: "Pada hari Senin atau Rabu, saya pergi ke rumah John untuk makan malam" FOL: ∀X.((is_mon(X) ∨ is_wed(X)) → eat_meal(me, houseOf(john), X)) Penjelasan: Untuk semua X (hari), jika (X adalah Senin ATAU X adalah Rabu) maka saya makan di rumah John pada hari X

🎯 Keunggulan FOL

  • Lebih ekspresif daripada propositional logic
  • Dapat merepresentasikan hubungan kompleks
  • Mendukung quantification (∀, ∃)
  • Basis untuk banyak bahasa pemrograman AI (seperti Prolog)
  • Balance antara ekspresivitas dan decidability

9. Higher Order Logic

Higher Order Logic lebih ekspresif daripada First Order Logic karena functions dan predicates juga dapat menjadi objek.

Karakteristik Higher Order Logic

  • Functions dan predicates sebagai objek: Dapat dideskripsikan oleh predicates lain
  • Transformasi functions: Functions dapat ditransformasi oleh functions lain
  • Quantification over functions: Dapat melakukan kuantifikasi terhadap functions dan predicates

Contoh Higher Order Logic

Mendefinisikan "red functions" sebagai functions yang memiliki zero di 17: ∀F.(red(F) ↔ F(0) = 17) Penjelasan: Untuk semua function F, F adalah "red" jika dan hanya jika F(0) sama dengan 17
Contoh lain: binary(addition) // Predikat tentang function differentiate(square) // Function yang transform function lain

⚠️ Trade-off

Keunggulan: Jauh lebih ekspresif daripada FOL

Kelemahan: Jauh lebih sulit untuk melakukan reasoning dengan Higher Order Logic. Kompleksitas komputasi sangat tinggi.

10. Production Rules

Production Rules adalah sistem representasi berbasis aturan dalam bentuk kondisi-aksi yang sangat praktis untuk sistem expert.

Konsep Dasar

Format Aturan

IF <condition> THEN <action>

Rule set terdiri dari pasangan <condition, action>

Match-Resolve-Act Cycle

Fase Deskripsi
Match Agent mengecek apakah kondisi setiap aturan terpenuhi
Resolve Jika banyak rules dapat fire sekaligus (conflict set), agent harus memilih rule (conflict resolution)
Act Jika kondisi terpenuhi, rule "fires" dan aksi dilakukan

Working Memory

  • Rule dapat menulis pengetahuan ke working memory
  • Pengetahuan baru dapat match dan fire rules lain
  • Menciptakan chain of reasoning

Contoh Production Rules

Rule 1: IF (di halte bus AND bus tiba) THEN action(naik bus) Rule 2: IF (di dalam bus AND belum bayar AND punya kartu) THEN action(bayar dengan kartu) AND add(sudah_bayar) Rule 3: IF (di dalam bus AND sudah_bayar AND ada kursi kosong) THEN action(duduk)

✅ Keunggulan Production Rules

  • Mudah dipahami dan dimodifikasi
  • Modular - setiap rule independen
  • Cocok untuk expert systems
  • Natural untuk merepresentasikan procedural knowledge
  • Dapat dengan mudah diekspresikan dalam FOL

11. Semantic Networks (Jaringan Semantik)

Semantic Networks adalah representasi pengetahuan berbentuk graf yang menggambarkan hubungan antar konsep atau objek dalam domain pengetahuan tertentu.

Komponen Semantic Networks

πŸ“Œ Objects (Nodes)

Hal-hal yang kita observasi di dunia, dapat berupa konsep abstrak seperti 'Animal' atau konkret seperti 'Robin'

πŸ”— Relationships (Edges)

Hubungan antar objek. Perhatikan informasi semantik pada edges dalam graph:

  • is-a: Hubungan subset/inheritance
  • has: Kepemilikan atau komposisi
  • can: Kemampuan atau aksi

Inheritance dalam Semantic Networks

Penelitian Collins dan Quillian (1969) menunjukkan bahwa pengetahuan manusia bersifat hierarkis:

🐦 Contoh: Pertanyaan tentang Burung Kenari

Pertanyaan 1: "Bisakah burung kenari bernyanyi?"
Jawaban: Cepat - karena directly associated

Pertanyaan 2: "Bisakah burung kenari terbang?"
Jawaban: Lebih lama - harus naik hierarchy ke "BIRD"

Mengapa? Karena sistem harus traverse graph hierarchy untuk mendapatkan inherited properties.

Struktur Hierarki

ANIMAL |-- can: eat, breathe | |-- BIRD |-- is-a: ANIMAL |-- has: feathers |-- can: fly | |-- ROBIN | |-- is-a: BIRD | |-- has: red-breast | |-- OSTRICH |-- is-a: BIRD |-- can: not fly |-- has: long legs

Karakteristik Semantic Networks

Aspek Deskripsi
Representasi Grafis Mudah divisualisasikan dan dipahami
Equivalent dengan FOL Dapat ditranslasi ke logical statements
Reasoning Algorithms Algoritma khusus dapat lebih cepat daripada FOL
Natural Language Berguna untuk natural language understanding

πŸ’‘ Aplikasi Semantic Networks

  • Natural Language Processing
  • Knowledge Graphs (Google, Facebook)
  • Ontology dalam Semantic Web
  • Expert Systems
  • Question Answering Systems

Contoh: Cry and Comfort

Quillian menulis program yang ditanya tentang similarity antara "cry" dan "comfort":

Output Program: "Cry (2) is among other things to make a sad sound. To comfort (3) can be to make (2) something less sad." Penjelasan: Program menemukan hubungan melalui node "SAD" yang menghubungkan kedua konsep dalam semantic network.

12. Frame Representations

Frame Representations adalah semantic networks dimana nodes memiliki struktur internal. Frame adalah seperti template atau schema yang memiliki sejumlah slots untuk menyimpan informasi spesifik.

Konsep Dasar Frame

πŸ—️ Struktur Frame

  • Frame: Representasi terstruktur dari suatu konsep atau objek
  • Slots: Tempat untuk menyimpan item informasi spesifik (age, height, color, dll)
  • Slot Values: Nilai aktual atau reference ke frame lain
  • Facets: Meta-informasi tentang slot (default value, constraints, procedures)

Contoh Frame: Hotel Room

Frame: hotel_room is-a: room location: hotel contains: {hotel_chair, hotel_bed, hotel_phone, ...} Frame: hotel_chair is-a: chair location: hotel_room height: 20-40cm legs: 4 comfortable: yes use: for sitting on

Ketika Agent Menghadapi Situasi Baru

Proses Penjelasan
Slot Filling Slots dapat diisi dengan informasi (nilai bisa frame lain)
Trigger Actions Pengisian slot dapat memicu actions atau procedures
Retrieve Frames Dapat memicu pengambilan frame-frame lain yang relevan
Inheritance Properties diwariskan dari parent frames

Fleksibilitas dalam Frames

Slots dalam frame dapat berisi:

  • Informasi untuk memilih frame dalam suatu situasi
  • Hubungan antara frame ini dengan frame lain
  • Procedures yang akan dijalankan setelah berbagai slot terisi
  • Informasi default yang digunakan jika input tidak ada
  • Blank slots: dibiarkan kosong kecuali diperlukan untuk task
  • Frame lain, yang memberikan hierarchy

Contoh Frame: Lecture

Frame: Lecture specialization-of: meeting expected-large-number-of: students course: [Ck. Berland] level: [Difficult] if-difficult: then pay attention Frame: Lecturer name: [Prof. Jones] tolerance: [Intolerant] if-intolerant: then turn-off mobile phone if-intolerant: then pay attention

πŸ”„ Hubungan dengan OOP

Frame Representations sangat mirip dengan Objects dalam Object-Oriented Programming:

  • Frame ≈ Class
  • Slots ≈ Attributes/Properties
  • Procedures ≈ Methods
  • Inheritance ≈ Class Inheritance
  • Frame instances ≈ Objects

✅ Keunggulan Frame Representation

  • Modular dan terstruktur dengan baik
  • Natural untuk merepresentasikan stereotypes dan prototypes
  • Mendukung inheritance dan default reasoning
  • Procedural attachment memungkinkan active knowledge
  • Dapat diekspresikan dalam First Order Logic

13. Kesimpulan

Representasi dan Logika

Meskipun AI menginginkan "non-logical representations" seperti semantic networks, conceptual graphs, dan frames, pada kenyataannya semua representasi ini dapat diekspresikan dalam First Order Logic!

🎯 Best of Both Worlds

  • Logical Reading: Memastikan representasi well-defined dan tidak ambigu
  • Specialized Representations: Lebih intuitif untuk aplikasi tertentu
  • Easier Reasoning: Dapat membuat reasoning lebih mudah dan efisien
  • Domain-Specific: Dapat disesuaikan dengan kebutuhan domain

Mengapa Logika adalah Representasi yang Baik?

Keunggulan Penjelasan
Translasi Relatif Mudah Ketika memungkinkan, translasi ke logika cukup straightforward
Foundations Matematika Cabang matematika khusus devoted untuk ini
Logical Reasoning Memungkinkan kita melakukan reasoning yang ketat
Tools Gratis Teknik dan tools reasoning sudah tersedia
Basis Programming Dasar untuk bahasa pemrograman (Prolog, Ξ»Prolog)

Multi-valued Logics: Beyond True and False

🌈 Logika Multi-nilai

Tidak semua logika hanya binary (true/false):

  • Three-valued Logic: true, false, unknown
  • Fuzzy Logic: Nilai kebenaran dalam range [0,1]
  • Probabilistic Logic: Menggunakan probabilitas
  • Modal Logic: Necessarily true, possibly true

Ringkasan Teknik Representasi

πŸ“Š Perbandingan Teknik

Propositional Logic:

  • ✅ Sederhana dan mudah dipahami
  • ❌ Ekspresivitas terbatas

First Order Logic:

  • ✅ Balance ekspresivitas dan kompleksitas
  • ✅ Widely used dalam AI

Production Rules:

  • ✅ Praktis untuk expert systems
  • ✅ Mudah dimodifikasi

Semantic Networks:

  • ✅ Visual dan intuitif
  • ✅ Natural untuk inheritance

Frames:

  • ✅ Terstruktur dan modular
  • ✅ Mirip OOP

⚠️ Tidak Ada Solusi Universal

Hingga saat ini tidak ada sistem tunggal yang mengoptimalkan semua properties representasi pengetahuan secara bersamaan.

Pemilihan representasi bergantung pada:

  • Domain aplikasi
  • Jenis reasoning yang diperlukan
  • Trade-off antara ekspresivitas dan efisiensi
  • Availability of tools dan resources

Komentar