520 likes | 1.43k Views
Kecerdasan Buatan / Artificial Intelligence. Agen Logika. Imam Cholissodin, S.Si., M.Kom. Pokok Bahasan. Membahas soal UTS AI Agen Logika Agen Berbasis Pengetahuan Logika Proposisi Metode Pembuktian Latihan Individu + Tugas Kelompok. Agen Logika.
E N D
KecerdasanBuatan/ Artificial Intelligence Agen Logika Imam Cholissodin, S.Si., M.Kom.
Pokok Bahasan • Membahas soal UTS AI • Agen Logika • Agen Berbasis Pengetahuan • Logika Proposisi • Metode Pembuktian • Latihan Individu + Tugas Kelompok
Agen Logika • Agen logika merupakan agen yang memiliki kemampuan bernalar secara logika. • Ketikabeberapa solusi tidak secara eksplisit diketahui, maka diperlukan suatu agen berbasis logika. • LogikasebagaiBahasaRepresentasiPengetahuanmemiliki kemampuan untuk merepresentasikan fakta sedemikian sehingga dapatmenarikkesimpulan(fakta baru, jawaban). • Sedangkan pengetahuan merupakan komponen yang penting, sehinggaterdapatperbedaanjikaditerapkanpadaduaagent, yakniproblem solving agent danknowledge-based agent.
Agen Logika • Perbedaanduaagent, problem solving agent dan knowledge-based agent. • Problem solving agent : memilihsolusi di antarakemungkinanyang ada. Apa yang ia “ketahui” tentangdunia, pengetahuannyatidakberkembanguntukmencapai problem solution (initial state, successor function, goal test) • Knowledge-based agent : lebih “pintar”. Ia“mengetahui” hal-haltentangduniadandapatmelakukan reasoning (berpikir, bernalar) mengenai: • Hal-hal yang tidak diketahui sebelumnya (imprefect/ partial information). • Tindakan yang paling baik untuk diambil (best action).
Agen Berbasis Pengetahuan • AgenBerbasisPengetahuan: • Knowledge Base (KB)menyatakan apa yang “diketahui” olehsiagent. • Pendekatandeklaratifmembangun agent: “beritahu” informasi yang relevan, simpandalam KB (TELL). • Agendapatditanya(ataubertanyadirisendiri) apa yang sebaiknyadilakukanberdasarkan KB (ASK). • Makasebuahagenberbasispengetahuanharusbisa : • Mereprentasikan world, state, action, dst. • Menerima informasi baru (dan meng-update representasinya). • Menyimpulkan pengetahuan lain yang tidak eksplisit (hidden property). • Menyimpulkan action apa yang perlu diambil.
Agen Berbasis Pengetahuan • AgenBerbasisPengetahuan: • Knowledge Base (KB) merupakan : • Himpunanrepresentasifakta yang diketahuitentanglingkungannya. • Tiapfaktadisebutsebagaisentence. • Faktatersebutdinyatakandalambahasa formal sehinggabisadiolah. • TELL: menambahkansentencebarukeKB. • Inference Engine merupakan : • Menentukanfaktabaruyang dapatditurunkandaripengetahuanyang sudahadadalamKB. • Menjawabpertanyaan (ASK) berdasarkan KB yang sudahada.
Agen Berbasis Pengetahuan • AgenBerbasisPengetahuan: • Dalam representasi, agent dapat dipandang dari knowledge level: Apasajainformasiyang diketahui? • Misal: sebuah robot “mengetahui” bahwa gedung B di antara gedung A dan gedung C. • Agentdapat dipandang dari implementation level: Bagaimanarepresentasi informasiyang diketahuinya? • Logical sentence: di_antara(gdB, gdA, gdC). • Natural language: “Gedung B ada di antara gedung A dan gedung C”. • Tabelposisi koordinat gedung-gedung. • Gambardiagram peta (dalam bitmap atau vektor).
Agen Berbasis Pengetahuan • AgenBerbasisPengetahuan: • 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.
Agen Berbasis Pengetahuan • AgenBerbasisPengetahuan: • Permasalahannya adalah bagaimana representasi yang tepat, sehingga ada dua hal yang harus diperhatikan : • Expressive: bisa menyatakan fakta tentang environment. • Tractable: bisa mengolah/ memproses inference engine (dengan cepat). • Knowledgemerupakan powerataukekuatan dari pemrograman secara deklaratif. • Representasidan penalaran membentuk suatu Intelligence.
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld : • 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: • Breeze: kamar di samping lubang jebakan ada hembusan angin. • Glitter: kamar di mana ada emas ada kilauan/ sinar. • Smell: kamar di samping Wumpus berbau busuk. • Action: maju, belok kiri 900,belok kanan 900, tembak panah (hanya 1!), ambil benda.
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld: • SifatdariWumpus World: • Fully observable? Tidak, hanyabisaberpresepsilokal. • Deterministic? Ya, hasiltindakanjelasdanpasti. • Episodic? Tidak, tergantungaction sequence. • Static? Ya, gold, wumpus, pit tidakbergerak. • Discrete? Ya • Single agent? Ya
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld:
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld:
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld:
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld:
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld:
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld:
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld:
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld (Finish):
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld:
Agen Berbasis Pengetahuan • Wumpus World (KondisiKhusus):
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld (Other) :
Agen Berbasis Pengetahuan • ContohAturanPermainandalamWumpusWorld (Other) :
Agen Berbasis Pengetahuan • BahasaRepresentasiPengetahuan(Knowledge Representation Language) : • Menyatakansuatubahasa yang digunakanuntukmenyatakanfaktatentang “dunia”. • Suatu bahasa representasi pengetahuan didefinisikan dalam dua aspek, yakni: • Sintaks dari bahasamerupakanaturan yang mendefinisikansentence yang sahdalambahasa. • Semantikmenyatakanaturan yang mendefinisikan “arti” sebuah sentence, misalkan: kebenaran sentence dalamdunia. • ContohKRL (Knowledge Representation Language)dalambahasaaritmetika : • Secara Sintaks dituliskan: • x + 2 ≥ y adalahkalimatsah. • x2 + y ≥ bukankalimatsah.
Agen Berbasis Pengetahuan • Contoh KRL (Knowledge Representation Language)dalambahasaaritmetika : • Secarasemantik: x + 2 ≥ y benarjikadanhanyajikabilangan x + 2 tidaklebihkecildaribilangan y: • x + 2 ≥ y benardalam “dunia” di mana x=7, y=1 • x + 2 ≥ y benardalam “dunia” di mana x=0, y=6 • Contoh KRL dalam bahasa Indonesia : • SecaraSintaksdituliskan: • “Jakarta adalah ibukota Indonesia” adalah kalimat sah. • “Ibu Indonesia kota Jakarta adalah” bukan kalimat sah. • Maka secara Semantik: “X adalahibukota Y” benarjikadanhanyajikaX adalahpusatpemerintahannegara Y. • “Jakarta adalahibukota Indonesia” benar dalam “dunia” kita sekarang. • “Jakarta adalah ibukota Indonesia” salah dalam “dunia” tahun 1948 (Yogya? Bukitinggi?)
Agen Berbasis Logika • LogikasebagaiBahasaRepresentasiPengetahuanmemilikipengertian: • Logikasebagaibahasa formaluntukmerepresentasikanfaktasedemikiansehinggakesimpulan (faktabaru, jawaban) dapatditarik. • Ada banyakmetode inference yang diketahui. • Sehinggakitabisamembangun agent Wumpus World denganlogika: memanfaatkanperkembanganlogikadariahlimatematika. • Entailment dapat diartikan sebagai suatu fakta bisa disimpulkan dari(kumpulan) fakta lain. • KB |= α berarti KB melakukan entailment sentence α jikadanhanyajikaα true dalam “dunia” di mana KB true. Contoh : • KB mengandungdua sentence, yakni “ AntoGenius” dan “AniCantik”. • KB |= α1: “AntoGenius danAniCantik” (artinya: hasil entailment bisaberupakalimatgabungandariduakalimat) • KB |≠ α2 : “AntoTampan” • x + y = 4 =| 4= x+y
Agen Berbasis Logika • Inferensiataureasoningmerupakanpembentukanfakta(sentence) baru yang meng-entail fakta-fakta lama. • Reasoningbukandilakukanpadafakta di dunia (berdasarkansemantik), melainkanrepresentasifaktadalambahasarepresentasipengetahuansi agent (secarasintaks). • Otakmanusiamelakukan proses reasoning dalamsuatubentuksintakdapatdiilustrasikansebagaimanagambarberikut : • Model merupakansuatu “dunia” di manakebenaransuatu sentence bisadiuji.
Agen Berbasis Logika • Otakmanusiamelakukan proses reasoning dalamsuatubentuksintakdapatdiilustrasikansebagaimanagambarberikut: • Modelmerupakansuatu “dunia” di manakebenaransuatusentencebisadiuji. • madalah model α jikadanhanyajika true di “dalam” m. • M(α) adalahhimpunansemua model dariα. • KB |= α jikadanhanyajikaM(KB) subset dari M(α), sehinggabisadilihatpadailustrasigambarberikut: Misalkan : • KB= AntoGenius danAniCantik • α = AntoGenius • Hal inibisadiartikanbahwasanya sentence AntoGenius lebihluaskonotasinyadibandingkandengansentence AntoGenius danAniCantik.
Agen Berbasis Logika • EntailmentdalamWumpus World bisadiilustrasikansebagaimanaberikut, denganmelihat[1,1] OK, [2,1] Breeze : • Makamodel jebakanada 3 pilihanboolean di [2,1],[2,2],[3,1], dengan 8 kemungkinanmodel.
Agen Berbasis Logika • 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 diatas menunjukkan bahwasannya : M(KB) subset dari M(α1), sehingga bisa disimpulkan bahwa kamar [1,2] aman.
Agen Berbasis Logika • Lain halnya ketika melakukan pengamatan apakah kamar [2,2] aman, dengan ditunjukkan oleh α2., 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.
Agen Berbasis Logika • Inferensi merupakan proses atau algoritma yang “menurunkan” faktabaru dari fakta-fakta lama. • KB|-iα: sentence α bisa diturunkan dari KB oleh prosedur i. • Soundness: idikatakansah(sound)jika untuk semua KB|-iα, KB |= α benar. • Completeness: i dikatakan lengkap(complete)jika untuk semua KB |= α, KB|-iα benar.
Logika Proposisi • Logika Proposisi • Merupakanlogika 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, S1V 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)
Logika Proposisi • Logika Proposisi • Semantik dari logika proposisi • Sebuah model memberi nilai true/ falseterhadap 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.
Logika Proposisi • Logika Proposisi • Semantik dari logika proposisi • Maka kalimat yang digunakan untukmerepresentasikan Wumpus World • Secara semantik: • Pi,j = true menyatakan kalau ada lubang jebakan (pit) di [i, j]. • Bi,j = true menyatakan kalau ada hembusan angin (breeze). • 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) • Hasil pengamatan (percept): • ⌐P1,1 • ⌐ B1,1 • B2,1 • dgd Menyatakan KB untuk dibuktikan misalnya dengan tabel kebenaran. Menyatakan kamar i,j tersebut (αi) aman atau tidak.
Logika Proposisi • Logika Proposisi • DasarManipulasi Rules • ¬(¬A) = A Double negation • ¬(A ^ B) = (¬A) V (¬B) Negated “and” • ¬(A V B) = (¬A) ^ (¬B) Negated “or” • A ^ (B V C) = (A ^ B) V (A ^ C) Distributivity of ^ on V • A => B = (¬A) V B by definition • ¬(A => B) = A ^ (¬B) using negated or • A B = (A => B) ^ (B => A) by definition • ¬(A B) = (A ^ (¬B))V(B ^ (¬A)) using negated and & or • …
Logika Proposisi • Logika Proposisi • Contoh :
Logika Proposisi • Logika Proposisi • Solusi :
Logika Proposisi • Logika Proposisi • Inferensibisa dilakukan menggunakan tabel kebenaranuntuk membuktikan 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 • Metode Pembuktian • Secara umum, ada dua jenis metode pembuktian : • Pengaplikasian inference rule • Dihasilkankalimat baru yang sah (sound) dari yang lama. • Bukti(proof) merupakan serangkaian pengaplikasian inference rule (operator ) dari algoritma search. • Biasanya, kalimat harus diterjemahkan ke dalam sebuah normal form. • Model checking • Penjabaran truth table (eksponensial dalam n) • Backtracking lebih efisien, misalkan: algoritma DPLL • Heuristic search dalam model space (sound tetapi incomplete), misalkan : min-conflicts hill –climbing • Horn Form • Dalam Horn form, KB merupakan conjuction dari Horn Clauses. • Horn Clause terdiri: • Proposition symbol • (Conjuction of symbol) symbol
Metode pembuktian • MetodePembuktian • Horn form • Misalkan: • Modus ponen pada Horn form (lengkap pada Horn KB): • Horn form bisadigunakandenganalgoritmaforward chaining ataubackward chaining • forward chainingadalahaplikasirule yang premise-nyadiketahuibenardalam KB, kemudiantambahkanconclusionnyakedalam KB, ulangisampaiquery (Q)terbukti. Sehinggabisadikatakankinerjadari forward chaining merupakanmetode bottom up darifaktamenujukonklusi.
Metode pembuktian • MetodePembuktian • forward chainingadalahaplikasirule yang premise-nyadiketahuibenardalam KB, kemudiantambahkanconclusionnyakedalam KB, ulangisampaiquery (Q) terbukti. Sehinggabisadikatakankinerjadari forward chaining merupakanmetode bottom up darifaktamenujukonklusi. Misaldiilustrasikansebagaiberikut :
Metode pembuktian • MetodePembuktian • Sedangkankonsepdasardarialgoritmabackward chaining digunakanuntukmembuktikanquery (Q), dengancaramemeriksa Q jikasudahdiketahui, atausecararekursif, denganmembuktikansemua premise rule yang conclusion-nya Q (dikenalsebagaimetodetop down). • Dalambackward chaining adabeberapahal yang perludiketahui : • Menghindariloop : dengancaramemeriksaapakah sub-goal yang barusudahada di goal stack. • Menghindariperulanganpekerjaan: periksaapakah sub-goal yang barusudahdibuktikanbenaratau sudahdibuktikansalah.
Kesimpulan • 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: • Sintak: struktur kalimat bahasa formal • Semantik:arti kalimat sebagai kebenaran terhadao model • Entailment: menyimpulkan kalimat baru yang benar • Inferensi:proses menurunkan kalimat baru dari kalimat-kalimat lama • Soundness:proses menurunkan hanya kalimat yang di-entail • Completeness:pross menurunkan SEMUA kalimat yang di-entail • Forward, backward chaining merupakan proses inferensi complete dan linear untuk Horn form.
Latihan Individu MembahasSoal UTS AI!
Tugas Kelompok • Jelaskan konsep dasar dari agen berbasis pengetahuan dan hal-hal apa saja yang harus dipenuhi ketika membuat agen tersebut! • Diketahui KB = ( B1,1 (P2,1 P3,1)) B1,1 dan α = P2,1 P3,1.Buktikan dengan tabel kebenaran berikut, apa saja kondisi yang memenuhi KB|=α !