800 likes | 1.04k Views
Reasoning CS3243 Kecerdasan Mesin dan Artifisial. Informatics Theory & Programming (ITP) Informatics Eng. Dept. – IT Telkom. Outline. Inference Reasoning. Can Searching solve it?. Can Searching solve it?. Ruang Pencarian. Penghitungan ruang pencarian :
E N D
ReasoningCS3243 KecerdasanMesindanArtifisial Informatics Theory & Programming (ITP) Informatics Eng. Dept. – IT Telkom
Outline • Inference • Reasoning
RuangPencarian • Penghitunganruangpencarian: • Faktorpencabanganataubranching factor(b) • Kedalamansolusiataudepth (d) • 8-Puzzle b = 2,13 • PermainanCatur rata-rata b = 35 • Untukcaturruangpencariansangatluas • Tekniksearchingbelummungkindigunakan • Solusi: gunakanteknikreasoning
Propositional Logic • Logic yang paling sederhana • Sangatmudahdipahami • Membuatkitalebihmudahmembedakanteknikreasoning dengantekniksearching.
DuniaWumpus • Wumpusadalahseekor monster yang tinggaldisebuahgua yang terbagidalam 16 ruangan • Di dalamguaterdapat 3 lubangmematikan (Pit) yang mengeluarkanangin (breeze) sehinggasampaidiruangan-ruangandisekitarnya. • Wumpusmengeluarkanbaubusuk (stench). • Wumpusmenjerit (scream) danmatijikaterkenapanah.
DuniaWumpus • SebuahAgent dilengkapidengantigaanakpanah yang hanyabisadiarahkanmenujuruangan-ruangan yang searahdenganarahagent menghadap. • Agent bisabergerakhadapkanan, hadapkiri, maju. • Agentbisamemanjatkeluarguajikaposisinyaterjepit. • Agent akanbenjol (bump) jikamenabrakdindinggua. • Agent akanmatijikamemasukikotak yang terdapatWumpusatauPit. Tetapiamanjikamemasukikotak yang didalamnyaterdapatWumpus yang telahmati.
DuniaWumpus • Saatpermainandimulai, Agent beradadiposisi (1,1). • TugasAgent adalahmenemukanemasdanmembawanyakembalikekotak start (1,1) secepatmungkindenganjumlahaksi yang seminimummungkin, tanpaterbunuh. • Sebagaihadiah, 1.000 poindiberikankepadaagent jikaberhasilkeluarguadenganmembawaemas. • Tetapi, Agent mendapatpoin –1 untuksetiapaksi yang dilakukandan -10.000 jikaagentterbunuh.
DuniaWumpus • Masalah dunia Wumpus dapat dirumuskan ke dalam tiga kelompok: • Percept:sesuatu yang ditangkap oleh Agent • Action: aksi yang dapat dilakukan oleh Agent • Goal: tujuan
Percept • Percept : [stench , breeze, glitter, bump, scream] • [stench , breeze, None, None, None] • Adastench danbreeze • Tidakadaglitter, bump, maupunscream.
Action • Move: hadap kiri, hadap kanan, atau maju. • Grab: mengambil objek yang berada di kotak dimana agent berada. • Shoot: memanah dengan arah lurus sesuai dengan arah Agent menghadap. • Climb: memanjat keluar dari gua.
Goal • Menemukanemasdanmembawanyakembalikekotak start (1,1) secepatmungkindenganjumlahaction yang seminimummungkin, tanpaterbunuh. • Hadiah 1000 poindiberikankepadaAgent jikaberhasilkeluarguadenganmembawaemas. • Tetapi Agent mendapatkan poin –1 untuk setiap action yang dilakukan dan -10000 jika Agent terbunuh.
DuniaWumpus • BisakahWumpus diselesaikan dengan searching? • Bisa • Pertama, suatu state dinyatakan dengan 16 ruangan dengan posisi-posisi Wumpus, Pit, dan Gold. • Operator atau aturan produksinya ada enam, yaitu: hadap kiri, hadap kanan, maju, memanah, mengambil objek, dan memanjat ke luar gua. • Dengan mendefinisikan initialstate, goalstate, dan strategi searching, maka kita dapat menyelesaikan masalah tersebut. • Representasi state membutuhkan memori besar.
WumpusdenganReasoning • Reasoning mengunakan propositional logic • Pertama, kita harus merepresentasikan fakta atau keadaan ke dalam simbol-simbol propositional logic. • S1,2 : ada stench di kotak (1,2) • B2,1 : adabreeze di kotak (2,1) • G2,3 : ada glitter di kotak (2,3) • M1,4 : bump di kotak (1,4) • C1,3 : ada scream di kotak (1,3) • W1,3 : ada Wumpus di kotak (1,3) • S1,1 : tidak ada stench di posisi (1,1)
Knowledge-based System (KBS) • Agent disinidapatdikatakansebagaiknowledge-based system karenaagent akanmelakukanaksiberdasarkanhasilpenalaransuatuperceptterhadapKnowledge Based (KB) yang dimilikinya. • Pada awal permainan, di dalam KB tidak ada fakta sama sekali karena Agent belum menerima percept. • KB hanya berisi beberapa aturan (rule) yang merupakan pengetahuan tentang environment
Pengetahuan ttgenvironment R1 : S1,1 W1,1 W1,2 W2,1 R2 : S2,1 W1,1 W2,1 W2,2 W3,1 R3 : S1,2 W1,1 W1,2 W2,2 W1,3 R4 : S1,2 W1,3 W1,2 W2,2 W1,1 • ... R33 : B1,1 P1,1 P1,2 P2,1 R34 : B2,1 P1,1 P2,1 P2,2 P3,1 ...
Translation Untuk melakukan aksi yang tepat, agent harus dibekali aturan untuk menerjemahkan pengetahuan menjadi aksi. T1 : A2,1EastA P3,1 Forward T2 : A1,2 NorthA W1,3 Forward ... • T1 dibaca: ”Jika agent di (2,1) dan menghadap ke timur dan ada Pit di (3,1), maka jangan melangkah maju (ke posisi (3,1))”.
Knowledge-based System (KBS) • Agent disinidapatdikatakansebagaiknowledge-based system karenaagent akanmelakukanaksiberdasarkanhasilpenalaransuatuperceptterhadapKnowledge Based (KB) yang dimilikinya. • Pada awal permainan, di dalam KB tidak ada fakta sama sekali karena Agent belum menerima percept. • KB hanya berisi beberapa aturan (rule) yang merupakan pengetahuan tentang environment
Inference & Reasoning • Inference : A process of drawing conclusion (solution) from set of facts. • Reasoning:AProcess of deriving new knowledge from the exist knowledge.
ApakahWumpus berada di posisi (3,1)? • Bagaimana reasoningolehmanusia? • Bagaimana proses reasoningolehagent?
Agent berada di posisi (1,1) • Padaawalnya Knowledge Base hanyaberisi Rule yang berupapengetahuan tentang environment. Tidakadafaktasamasekalikarena agent belummelakukanpercept. • Padakasusdiatas, Agent menerimapercept yang berupa[None, None, None, None, None] • Tidak ada stench, breeze, glitter, bump, scream • Selanjutnya, Agent menggunakan aturan inferensi dan pengetahuan tentang environmentuntuk melakukan proses inferensi.
Prosesinferensidi (1,1) • Modus Ponens untuk S1,1 dan R1 W1,1W1,2W2,1 • And-Eliminationterhadaphasildiatas W1,1 W1,2 W2,1 • Modus PonensuntukB1,1danR3 P1,1 P1,2 P2,1 • And-Eliminationterhadaphasildiatas P1,1 P1,2 P2,1 Inferensidilakukansampaidihasilkankalimat yang paling sederhanaataubahkanatomik.
Misalkan Agent ke posisi (2,1) • Percept [None, Breeze, None, None, None] • Ada breeze, tidak ada stench, glitter, bump dan scream • S2,1, B2,1, G2,1, M2,1, dan C2,1
Prosesinferensidi (2,1) • Modus Ponens untuk S2,1 dan R2 W1,1 W2,1 W2,2 W3,1 • And-Eliminationterhadaphasiltersebut W1,1 W2,1 W2,2 W3,1 • Modus Ponensuntuk B2,1dan R34 P1,1 P2,1 P2,2 P3,1 • Unit Resolution terhadaphasiltersebutdenganP1,1kemudianP2,1, sehinggadidapat P2,2 P3,1
Misalkan Agent ke posisi (1,2) • Percept [Stench, None, None, None, None] • Ada stench, tidak ada breeze, glitter, bump dan scream. • S1,2,B1,2, G1,2, M1,2, dan C1,2
Prosesinferensidi (1,2) • Modus Ponens untuk S1,2 dan R4 W1,3 W1,2 W2,2 W1,1 • Unit ResolutionterhadaphasildiatasdenganW1,1 W1,3 W1,2 W2,2 • Unit ResolutionterhadaphasildiatasdenganW2,2 W1,3 W1,2 • Unit ResolutionterhadaphasildiatasdenganW1,2 W1,3
LangkahSelanjutnya • KetikalokasiWumpussudahdiketahui, agentbisamenggunakanpanahuntukmembunuhnyaataufokuspadapencarianemasdenganmenghindarilokasiWumpus. • Kita bisamembuatberbagaistrategisehinggabisamembawaemaskembalikeposisi (1,1) denganjumlahaksi yang seminimummungkin.
Kelebihan PL • PadakasusWumpustersebut, agentharusdibekaliaturan yang merupakanpengetahuantentangenvironment danaturanuntukmenerjemahkanpengetahuanmenjadiaksi • Untuk 16 ruangan yang adadidalamgua, diperlukansangatbanyakaturantentangenvironment danaturanpenerjemah. • PadakasusWumpusini, teknikmanakah yang lebihefisiendalamrepresentasimasalah, searching ataureasoning? • Tentusajareasoninglebihefisien.
Kelemahan PL • Bagaimanapun, untukkasus yang lebihkomplekssepertipermainancatur, propositional logicakansulitdigunakan. • Terdapatsangatbanyakaturanpadapermainancatursedangkanpropositional logic merepresentasikanfaktahanyadalamsimbol-simbolsederhana. • Olehkarenaitu, kitaakanmembahassatulogic yang lebihtinggitingkatannya, yaituFirst-Order Logic yang jugadisebutsebagaiPredicate Logic atauPredicate Calculus.
First-Order Logic (FOL) • Objects:sesuatudenganidentitas individual (people, houses, colors, …) • Properties: sifat yang membedakannyadari object yang lain (red, circle, …) • Relations: hubunganantar object (brother of, bigger than, part of, ...) • Functions: relation yang mempunyaisatunilai (father of, best friend, …)
Constant • biasanya dituliskan dalam huruf besar seperti: A, X1, Budi. • Pada simbol konstanta ini, setiap simbol harus menyatakan secara spesifik objek yang dimaksud. • Tetapi, mungkin saja satu simbol mengacu pada beberapa nama berbeda. • Misalnya, Budi bisa mengacu ke Budi Arifianto, Budi Prasojo, Budi Raharjo, dan sebagainya. • Penulisan simbol konstanta harus dilakukan secara hati-hati agar tidak terjadi kerancuan atau ambiguitas.
Variable • Biasanya dituliskan dalam huruf kecil seperti: a, x, s • Menyatakan simbol yang dapat digantikan oleh konstanta apapun.
Predicate • Menyatakan relasi khusus dalam suatu model. • Misalkan Berwarna adalah suatu predicate yang memiliki beberapa nilai. • Berwarna(Tasku,Hijau) • Berwarna(Tasmu,Putih)
Function • Menyatakan relasi yang hanya mempunyai satu nilai. • Karena setiap orang hanya punya satu ibu kandung, maka IbuKandung adalah suatu function. • IbuKandung(Anawati,Budi) • AyahKandung(Roni,Budi)
Terms • Ekpresi logika yang mengacu pada sebuah objek. • Terms bisaberupaconstant, variable, ataufunction.
Atomicsentences • DibentukdariPredicate(Term, ...)atau Term = Term. • Sepatu(Budi) • Saudara(Andi,Budi) • Memberi(Andi,Budi,KueCoklat) • Saudara(Andi) = Budi, dan sebagainya.
Complex sentences • Sentence yang dibangunmenggunakanconnective. • Contoh: Saudara(Andi,Budi) Memberi(Andi,Budi,Kue)
Universal quantifiers () • Menyatakansesuatu yang bersifat umum. • Simbol (huruf A terbalik) dibaca ’ForAll’ • xAnakKecil(x) Suka(x,Permen). • Kalimat tersebut benar jika dan hanya jika semua kalimat di bawah ini benar • AnakKecil(Andi) Suka(Andi,Permen) • AnakKecil(Anto) Suka(Anto,Permen) • AnakKecil(Budi) Suka(Budi,Permen) • ...
Existential quantifiers () • Menyatakan sesuatu yang berlaku sebagian. • Simbol (huruf E menghadap ke kiri) dibaca ’There Exist’ (ada satu atau beberapa). • xAnakKecil(x) Suka(x,Permen). • Kalimat ini adalah benar jika dan hanya jika ada kalimat di bawah ini yang bernilai benar. • AnakKecil(Andi) Suka(Andi,Permen) • AnakKecil(Anto) Suka(Anto,Permen) • AnakKecil(Budi) Suka(Budi,Permen) • ...
Nested quantifiers • Digunakanuntuk menyatakan kalimat kompels yang menggunakan quantifiers ganda. • Misalkan: ”Untuk semua x dan semua y, jika x adalah orangtua y maka y adalah anak dari x” dapat dinyatakan sebagai: x,yOrangTua(x,y) Anak(y,x)
Hubungan antara dan • dan memiliki hubungan yang kuat melalui sebuah negasi (). • Misalkan, ”Semua anak kecil suka permen” adalah ekivalen dengan ”Tidak ada anak kecil yang tidak suka permen”. xSuka(x,Permen) x Suka(x,Permen)