5. Metode Pembuktian 6. Latihan
1. PENDAHULUAN
1.1 Pengantar
Agen logika merupakan agen yang memiliki kemampuan bernalar secara logika. Ketika beberapa solusi tidak secara eksplisit diketahui, maka diperlukan suatu agen berbasis logika. Logika sebagai Bahasa Representasi Pengetahuan memiliki kemampuan untuk
merepresenasikan fakta sedemikian sehingga kesimpulan (fakta baru, jawaban) dapat ditarik, sedangkan pengetahuan merupakan komponen yang penting, sehingga terdapat perbedaan jika diterapkan pada dua
agent, yakni problem solving agent dan knowledge-based agent.
- Problem solving agent: memilih solusi di antara kemungkinan yang. Apa yang ia “ketahui” tentang dunia tidak berkembang untuk mencapai problem solution (initial state, successor function, goal test)
- Knowledge-based agent: lebih “pintar”. Ia “mengetahui” hal-hal tentang dunia dan dapat melakukan reasoning (berpikit, bernalar) mengenai:
o Hal-hal yang tidak diketahui sebelumnya (imprefect/ partial information)
o Tindakan yang paling baik untuk diambil
Inference engine Domain-independent algorithms
Knowledge engine Domain-specifics content
6
LO
GICAL
AGE
NTS
MODUL
Page 52 of 98
1.2 Tujuan
Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :
Menjelaskan dan memahami tentang definisi dan konsep dasar agen berbasis pengetahuan
Menjelaskan dan memahami tentang definisi dan konsep dasar agen berbasis logika.
Menjelaskan dan memahami tentang konsep dasar logika proporsisi baik secara sintaks maupun semantik
Menjelaskan dan memahami tentang metode pembuktian dari logika proporsisi
2. Agen Berbasis Pengetahuan (Knowledge-based Agent)
Knowledge Base menyatakan apa yang “diketahui” oleh si agent
Pendekatan deklaratif membangun agent: “beritahu” informasi yang relevan, simpan dalam KB (TELL).
Agen dapat ditanya (atau bertanya diri sendiri) apa yang sebaiknya dilakukan berdasarkan KB (ASK).
Maka sebuah agen berbasis pengetahuan harus bisa: o Mereprentasikan world, state, action, dst.
o Menerima informasi baru (dan meng-update representasinya)
o Menyimpulkan pengetahuan lain yang tidak eksplisit (hidden property) o Menyimpulkan action apa yang perlu diambil
- Knowledge Base merupakan
o Himpunan representasi fakta yang diketahui tentang lingkungannya o Tiap fakta disebut sentence
o Dinyatakan dalam bahasa formal sehingga bisa diolah o TELL: menambahkan sentence baru ke KB
- Inference Engine merupakan:
o Menentukan fakta baru yang dapat diturunkan dari pengetahun yang sudah ada dalam KB
o Menjawab pertanyaan (ASK) berdasarkan KB yang sudah ada.
- Dalam representasi, agent dapat dipandang dari knowledge level: informasi apa yang diketahui?
Misal: sebuah robot “mengetahui” bahwa gedung B di antara gedung A dan gedung C - Agent dapat dipandang dari implementation level: bagaimana representasi informas yang
diketahuinya?
o Logical sentence: di_antara(gdB, gdA, gdC)
o Natural language: “Gedung B ada di antara gedung A dan gedung C” o Tabel posisi koordinat gedung-gedung
o Gambar diagram peta (dalam bitmap atau vektor?)
- Pilihan representasi berpengaruh terhadap apa yang bisa dilakukan inference engine
- Pada pendekatan deklaratif programmer memberitahu (TELL) agent informasi tentang environment.
- Kalau informasi kurang, agen bisa melengkapinya sendiri.
- Jika dibandingkan dengan pendekatan prosedural: programmer secara eksplisit memrogram agen untuk bertindak.
- Sehingga bagaimana jika program tidak benar, maka akan besar kemungkinan menyebabkan kesalahan
Page 53 of 98
- Permasalahannya adalah bagaimana representasi yang tepat, sehingga ada dua hal yang harus memperhatikan dua hal:
o Expressive: bisa menyatakan fakta tentang environment
o Tractable: bisa diolah/ diproses inference engine (dengan cepat?) - Knowledge merupakan kekuatan dari pemrograman secara deklaratif. - Representasi dan penalaran membentuk suatu Intelligence.
Contoh Aturan Permainan dalam Wumpus World
- Performance measure: emas +1000, mati -1000, gerak -1, panah -10
- Environment: Matriks 4x4 ruang dengan initial state [1,1]. Ada gold, wumpus, dan pit yang lokasinya dipilih secara acak.
- Percept terdiri dari:
o Breeze: kamar di samping lubang jebakan ada hembusan angin o Glitter: kamar di mana ada emas ada kilauan/ sinar.
o Smell: kamar di samping Wumpus berbau busuk
- Action: maju, belok kiri 900,belok kanan 900, tembak panah (hanya 1!), ambil benda
- Sifat dari Wumpus World:
- Fully observable? Tidak, hanya bisa berpresepsi lokal - Deterministic? Ya, hasil tindakan jelas dan pasti - Episodic? Tidak, tergantung action sequence - Static? Ya, gold, wumpus, pit tidak bergerak - Discrete? Ya
- Single agent? Ya
Bahasa Representasi Pengetahuan (Knowledge Representation Language)
Menyatakan suatu bahasa yang digunakan untuk menyatakan fakta tentang “dunia”. 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
Page 54 of 98
Secara Sintaks dituliskan:
x + 2 ≥ y adalah kalimat sah. x2 + y ≥ bukan kalimat sah.
Secara semantik: x + 2 ≥ y benar jika dan hanya jika bilangan x + 2 tidak lebih kecil dari bilangan y:
- x + 2 ≥ y benar dalam “dunia” di mana x=7, y=1 - x + 2 ≥ y benar dalam “dunia” di mana x=0, y=6
Contoh KRL dalam bahasa Indonesia
Secara sintaks dituliskan:
- “Jakarta adalah ibukota Indonesia” adalah kalimat sah. - “Ibu Indonesia kota Jakarta adalah” bukan kalimat sah.
Maka secara Semantik: “X adalah ibukota Y” benar jika dan hanya jika adalah pusat pemerintahan negara Y.
- “Jakarta adalah ibukota Indonesia” benar dalam “dunia” kita sekarang.
- “Jakarta adalah ibukota Indonesia” salah dalam “dunia” tahun 1948 (Yogya? Bukitinggi?)
3. Agen Berbasis Logika
Logika sebagai Bahasa Representasi Pengetahuan memiliki pengertian:
- Logika sebagai bahasa formal untuk merepresenasikan fakta sedemikian sehingga kesimpulan (fakta baru, jawaban) dapat ditarik.
- Ada banyak metode inference yang diketahui.
- Sehingga kita bisa membangun agent Wumpus World dengan logika: memanfaatkan perkembangan logika oleh ahli matematika, filsafat selama ratusan tahun!
Entailmentdapat diartikan sebagai suatu fakta bisa disimpulkan dari (kumpulan) fakta lain.
- KB |= α berarti KB melakukan entailment sentence α jika dan hanya jikaa α true dalam “dunia” di mana KB true.
Contoh:
- KB mengandung dua sentence, yakni “ Anto ganteng” dan “Ani cantik”.
- KB |= α1: “Anto ganteng dan Ani cantik” (artinya: hasil entailment bisa berupa kalimat gabungan dari dua kalimat)
- KB |≠ α2 : “Anto pintar” - x + y = 4 =| 4= x+y
Inferensiatau 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)
Otak manusia melakukan proses reasoning dalam suatu bentuk sintak dapat diilustrasikan sebagaimana gambar berikut:
Page 55 of 98
- Model merupakan suatu “dunia” di mana kebenaran suatu sentence bisa diuji. - m adalah model α jika dan hanya jika true di “dalam” m.
- M(α) adalah himpunan semua model dari α.
- KB |= α jika dan hanya jika M(KB) subset dari M(α), sehingga bisa dilihat pada ilustrasi gambar berikut:
Misalkan:
- KB= Anto ganteng dan Ani cantik - α = Anto ganteng
- Hal ini bisa diartikan bahwasanya sentence Anto ganteng lebih luas konotasinya dibandingkan dengan sentence Anto ganteng dan Ani cantik
Entailment dalam Wumpus World bisa diilustrasikan sebagaimana berikut, dengan melihan [1,1] OK, [2,1] Breeze:
Page 56 of 98
KB = pengamatan (percept) + aturan main Wumpus World, maka kita menyatakan apakah kamar [1,2] aman dengan cara melakukan entailment yang mana dibuktikan dengan menggunakan model checking, yakni memeriksa semua kemungkinan M(KB), M(α1).
Sehingga dari ilustrasi tersebut diatas menunjukkan bahwasannya: M(KB) subset dari M(α1), sehingga bisa disimpulkan bahwa kamar [1,2] aman.
Lain halnya ketika melakukan pengamatan apakah kamar [2,2] aman, dengan ditunjukkan oleh α2., sehingga terlihat sebagaimana ilustrasi berikut:
Dari gambar tersebut menunjukkan bahwasannya M(KB) bukan subset dari M(α2), sehingga bisa disimpulkan bahwa KB |≠ α2, dengan kata lain kamar [2,2] tidak aman.
Inferensi merupakan proses atau algoritma yang “menurunkan” fakta baru dari fakta-fakta
lama.
- KB|- iα: sentence α bisa diturunkan dari KB oleh prosedur i
- Soundness: idikatakan sound jika untuk semua KB |- i α, KB |= α benar
- Completeness: i dikatakan complete jika untuk semua KB |= α, KB |- i α benar
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)
Page 57 of 98
- Jika S1 dan S2 adalah kalimat S1↔ S2 adalah kalimat (biconditional) Semantik dari logika proposisi
- Sebuah model memberi nilai true/ false terhadap setiap proposisi, misal P1,2 = true, P2,2=true, P3.1=false
- Sebuah proses rekursif bisa mengevaluasi kalimat sembarang: ⌐P1,2 Ʌ (P2,2 V P3,1) = true Ʌ (false V true) = true Ʌ true = true
- Maka kalimat yang digunakan untuk merepresentasikan Wumpus World o Secara semantik:
Pi,j = true menyatakan kalau ada lubang jebakan (pit) di [i, j]. Bi,j = true menyatakan kalau ada hembusan angin (breeze)
o Aturan main dalam Wumpus World: kamar di samping lubang jebakan ada hembusan angin:
B1,1↔ (P1,2 V P2,1) B2,1↔ (P1,2 V P2,2 V P3,1) o Hasil pengamatan (percept):
⌐P1,1
⌐ B1,1
B2,1
- Inferensi bisa juga dilakukan dengan menggunakan tabel kebenaran dalam rangka untuk membuktikan terhadap entailment dari suatu knowledge. Sehingga kita dapat membuktikan apakah KB |= α1 menggunakan tabel kebenaran (sejenis model checking), di mana α1menyatakan kamar di [1, 2] aman sebagaimana tabel di bawah ini.
Metode Pembuktian
Secara umum, ada dua jenis metode pembuktian: - Pengaplikasian inference rule
o Dihasilkan kalimat baru yang sah (sound) dari yang lama
o Bukti(proof) merupakan serangkaian pengaaplikasian inference rule (operator ) dari algoritma search
o Biasanya, kalimat harus diterjemahkan ke dalam sebuah normal form - Model checking
o Penjabaran truth table (sehingga dihasilkan nilai eksponensial dalam n) o Backtracking lebih efisien, misalkan: algoritma DPLL
o Heuristic search dalam model space (sound tetapi incomplete), misalkan : min-conflicts hill –climbing
- Horn Form
o Dalam Horn form, KB merupakan conjuction dari Horn Clauses o Horn Clause terdiri:
Proposition symbol
(Conjuction of symbol) symbol - Misalkan:
Page 58 of 98
- Modus ponen pada Horn form (yang mana lengkap pada Horn KB):
- Horn form bisa digunakan dengan algoritma forward chaining atau backward chaining - Konsep dasar dari algoritma forward chaining adalah aplikasikan rule yang premise-nya
diketahui benar dalam KB, kemudian tambahkan conclusionnya ke dalam KB, ulangi sampai query (Q) terbukti. Sehingga bisa dikatakan kinerja dari forward chaining merupakan metoda bottom up dari fakta menuju konklusi
Misal:
- Sedangkan konsep dasar dari algoritma backward chaining digunakan untuk membuktikan query q, dengan cara memeriksa q jika sudah diketahui, atau secara rekursif, dengan membuktikan semua premise rule yang conclusion-nya q (dikenal sebagai metode top down)
- Dalam backward chaining ada beberapa hal yang perlu diketahui:
o Menghindari loop: dengan cara memeriksa apakah subgoal yang baru sudah ada di goal stack
o Menghindariperulangan pekerjaan: periksa apakah subgoal yang baru sudah dibuktikan benar atau sudah dibuktikan salah.
- Perbandingan antara Forward dan backward chaining
o Forward chaining adalah pendekatan data-driven, bottom up sehingga pemrosesan informasi secara tak sadar
o Melakukan banyak usaha yang tidak relevan terhadap goal
o Backward chainingadalah pendekatan goal-driven, top-down sehingga pemrosesan inforasi secara sadar
o Kompleksitas BC bisa jauh lebih kecil dari dalam linear ukuran KB
Kesimpulan
- Agen berbasis pengetahuan menggunakan inferensi dan knowledge base untuk menghasilkan informasi baru atau untuk mengambil keputusan
- Konsep-konsep dasar logika sebagai knowledge representation language meliputi: o Sintak: struktur kalimat bahasa formal
o Semantik: arti kalimat sebagai kebenaran terhadao model o Entailment: menyimpulkan kalimat baru yang benar
o Inferensi: proses menurunkan kalimat baru dari kalimat-kalimat lama o Soundness: proses menurunkan hanya kalimat yang di-entail
o Completeness: pross menurunkan SEMUA kalimat yang di-entail
- Forward, backward chaining merupakan proses inferensi complete dan linear untuk Horn form
REFERENSI
o Russell, Stuart; dan Norvig, Peter. 2003. Artificial Intelligence A Modern Approach. International Edition, Edisi 2. Pearson Prentice-Hall Education International. New Jersey
Page 59 of 98
o Kumpulan Slide Kuliah Kecerdasan Buatan disusun oleh dosen Fakultas Ilmu Komputer, Universitas Indonesia
PROPAGASI
C. Latihan dan Diskusi
1. Jelaskan konsep dasar dari agen berbasis pengetahuan dan hal-hal apa saja yang harus dipenuhi ketika membuat agen tersebut
2. Berilah contoh kasus entailment dari permainan Wumpus World berdasarkan aturan yang diberikan
3. Dari soal nomor 2, tunjukkan dengan metoda pembuktian baik model checking ataupun menggunakan tabel kebenaran
D. Pertanyaan (Evaluasi mandiri)
Buatlah sebuah agen berbasis logika dengan menerapkan pula proses inferensi dengan cara entailment yang kemudian dibuktikan dengan model checking dan tabel kebenaran.
Page 60 of 98
First Order Logic
Dian E.R, M.Kom; Dewiyanti L, M.Kom; Laili M, M.Sc; Rekyan RMP, MT Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya
Email : [email protected]
1.
P
E
N
D
A
HULUAN
1.1 PengantarDalam sistem kecerdasan buatan untuk menyelesaikan permasalahan ada beberapa metode yang dapat digunakan. Dalam menggunakan metode tersebut harus disesuaikan karena masing-masing metode memiliki spesifikasi tersendiri. Salah satu metode adalah Reasoning (penalaran). Reasoning adalah teknik penyelesaian masalah dengan cara merepresentasikan masalah ke dalam basis pengetahuan (knowledge base) menggunakan logic yang dapat dipahami oleh komputer. FOL (First Order Logic) merupakan penyempurnaan dari
Propositional Logic yang ada pada bab sebelumnya yang merupakan
jenis reasoning untuk permasalahan sederhana, sedangkan first order
logic digunakan untuk permasalahan yang lebih kompleks. Pada bab
ini akan dijelaskan bagaimana first order logic dapat
merepresentasikan pengetahuan lebih efisien pada permasalahan kompleks beserta contoh permasalahan.
1.PENDAHULUAN 1.1.Pengantar 1.2.Tujuan 1.3.Definisi
1. FIRST ORDER LOGIC
2.1 Definisi First Order Logic
2.2 Sintaks First Order Logic
2.3 Semantik 2.4 Quantifier
2.5 Equality
2.6 Inferensi pada First Order Logic
2. CONTOH 3. PROPAGASI 4.1 Pertanyaan/Latihan Soal 4.2 Diskusi 4.3 Project 1.2 Tujuan
Setelah mempelajari Pokok Bahasan ini, diharapkan mahasiswa akan : 1. Memahami konsep first order logic
2. Bisa memahami komponen-komponen yang ada pada first order
logic
3. Menerapkan first order logic pada pemecahan masalah 4. Memiliki sikap disiplin dalam mengumpulkan tugas
1.3 Definisi
MODUL
7
Fir
st Or
der Logic
Page 61 of 98
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,...).