TUDÁSBÁZISÚ ÁGENS Mesterséges Intelligencia 1
A tudás reprezentációja és a tudás alkalmazását lehetővé tevő következtetési folyamatok a mesterséges intelligencia minden területének központi témája. A tudás és a következtetés sikeres viselkedést tesz lehetővé az ágens számára. 2
A reflexív ágens csak a vakszerencse segítségével tudta megtalálni az utat Aradról Bukarestbe. A tudásbázisú ágens képes kihasználni a nagyon általános formában leírt tudást, újra és újra összegyűjtve ennek elemeit úgy, hogy az számos célra megfelelő legyen. A tudás és a következtetés nagyon fontosak a részben megfigyelhető környezetek kezelésénél is. 3
A tudásbázisú ágens képes összekombinálni az általános tudást a pillanatnyi érzetekkel, hogy kikövetkeztesse a pillanatnyi állapot rejtett aspektusait, mielőtt cselekvést választ. A természetes nyelv szintén igényli, hogy rejtett állapotokra következtessünk, és hogy a beszélő szándékát megismerjük. 4
„János egy gyémántot látott az ablakon keresztül, és szeretné (azt) megkapni”. Mire vonatkozik az „azt” szó? A gyémántra vagy az ablakra? A relatív értékekről levő ismereteink alapján a gyémántra következtetünk. 5
Képességei: explicit módon leírt célok formájában megfogalmazott új feladatok elfogadása környezetükről szóló információ befogadása vagy megtanulása révén kompetensekké alakulni releváns tudás frissítésével környezetükben történő változásokhoz illeszkedni 6
Ismeretei: A világ jelenlegi állapota Következtetési mód érzékelések alapján a világ még nem látott tulajdonságaira A világ időbeni fejlődése Saját cselekvései eredményei különböző körülmények között. 7
8
Központi eleme: a tudásbázisa (knowledge base). - A tudásbázis nem más mint mondatok (sentences) halmaza. A mondatokat egy nyelv segítségével fejezzük ki, amelyet tudásreprezentációs nyelvnek (knowledge representation language) nevezünk. A következtetési mechanizmus(inference mechanism) 9
A tudásbázisú ágens is, akárcsak a többi, bemenetként észlel valamit, és egy cselekvést ad vissza válaszként. Az ágens fenntart egy tudásbázist (TB), amely kezdetben bizonyos háttértudást (background knowledge) tartalmazhat. 10
Egy új mondatot a KIJELENT eljárással adunk hozzá a tudásbázishoz, és a KÉRDEZ eljárással kérdezzük le a tudást. Ha az ágensprogramot meghívják, az 3 dolgot tesz. Először KIJELENT-i a tudásbázisnak, hogy mit észlelt. Másodszor, KÉRDEZ-i a tudásbázist, hogy milyen cselekvést kell végrehajtania. Harmadszor, az ágens rögzíti a kiválasztott cselekvést a KIJELENT felhasználásával, és végrehajtja a cselekvést. 11
12
A wumpus világ (wumpus world) egy barlang, amely szobákból, és az ezeket összekötő átjárókból áll. A wumpus egy szörnyeteg, aki mindenkit megesz, ha a szobájába lép, és a barlangban lapul valahol. Az ágens le tudja lőni a wumpust, de ehhez csak egyetlen nyila van. Néhány szoba csapdát tartalmaz, amely mindenkit csapdába ejt, aki belép a szobába (kivéve a wumpust). A wumpus környezetében aranyat lehet találni. 13
7.1. ábra: Egy tipikus Wumpus világ. Az ágens a bal alsó sarokban van. 14
A környezet definícióját a TKCSÉ leírással adjuk meg: Teljesítménymérték: az arany felvétele, a csapdába esés vagy ha a wumpus felfal, -1 minden végrehajtott cselekvés, -10 a nyíl használata. Környezet: Egy szobákból álló 4x4-es háló. Az ágens mindig az (1,1) négyzetből indul, arccal jobbra nézve. Az arany és a wumpus véletlenszerűen van elhelyezve, de nem a kiinduló négyzeten. Bármely szoba 0.2 valószínűséggel lehet csapda. 15
Cselekvések: Az ágens mozoghat előre, fordulhat balra vagy jobbra 90 fokkal. Az ágens meghal ha oda lép ahol csapda van, vagy ahol a wumpus található. Az előrelépésnek nincs hatása ha az ágens előtt egy fal van. A Megragad cselekvést arra lehet használni hogy az ágens felvegyen egy tárgyat amely vele azonos szobában van. A Lövés cselekvést lehet használni egy nyílnak abban az irányban történő kilövésére amerre az ágens éppen áll. A nyíl addig repül, amíg el nem találja a wumpust (és megöli), vagy falnak nem ütközik. Az ágensnek csak egy nyila van. 16
A wumpust tartalmazó négyzetben és a közvetlenül (nem átlósan) szomszédos négyzetben az ágens bűzt érez. A csapdával közvetlenül szomszédos négyzetekben az ágens szellőt érzékel A négyzetben, ahol az arany található, az ágens csillogást érzékel. Ha az ágens falnak megy, akkor ütést érzékel Ha a wumpust megölték, akkor egy elkeseredett sikolyt hallat, amit a barlangban bárhol hallani lehet 17
Az érzeteket az ágens egy 5 szimbólumot tartalmazó lista formájában kapja meg: ha egy négyzetben bűz és szellő van, de nincs ütés, csillogás vagy sikoly, akkor az ágens egy [Bűz, Szellő, Nincs, Nincs, Nincs] érzetet kap. 18
Az alapvető nehézség az, hogy kezdetben az ágens semmit sem tud a környezetről, logikai következtetésekre van szüksége. Az esetek legnagyobb részében az ágens számára lehetséges az arany biztonságos megtalálása. Néhány környezetben az ágensnek választania kell, hogy hazamegy-e üres kézzel, vagy kockázatot vállal, ami vagy az aranyhoz vagy a halálhoz vezet. 21%-ban az arany egy csapdában van, vagy csapdákkal körülvett mezőkkel. 19
Kezdetben az ágens tudja, hogy az (1,1)-ben tartózkodik, és hogy ez egy biztonságos hely. Az első érzékelés a [Nincs, Nincs, Nincs, Nincs, Nincs] Ebből az ágens arra következtet, hogy a szomszédos négyzetek biztonságosak. 20
Mivel az (1,1)-ben nem volt se bűz, se szellő, az ágens kikövetkezteti, hogy az (1,2) és a (2,1) mezők biztonságosak. Ennek jelzésére az adott négyzetbe OK -t írunk. Tegyük fel, hogy az ágens a (2,1)-be lép. 21
7.2. ábra: Az ágens első lépése a Wumpus világban. 22
Az ágens detektálja a szellőt a (2,1)-ben, tehát valamelyik szomszédok négyzetben csapdának kell lennie. A csapda nem lehet az (1,1)-ben, tehát akkor vagy a (2,2)-ben vagy a (3,1)-ben van, vagy mindkettőben (ha két csapda van, a szellő nem erősebb). A Cs? jelölés lehetséges csapdát jelez a mezőkben. Mivel csak egy biztonságos négyzet van, az ágens visszamegy az (1,1)-be, és innen tovább az (1,2)-be. 23
7.3. ábra: Két későbbi helyzet az ágens előrehaladása során. 24
A (1,2)-ben az ágens a [Bűz, Nincs, Nincs, Nincs, Nincs] érzetet érzékeli. A Bűz (1,2)-ben azt jelenti, hogy a wumpus a közelben van. A wumpus nem lehet az (1,1)-ben, és nem lehet a (2,2)-ben sem (az ágens érezte volna a bűzt a (2,1)- ben). Így a wumpus csak az (1,3)-ban lehet (W!). A szellő érzet hiánya az (1,2)-ben azt jelenti, hogy nincs csapda a (2,2)-ben. De az ágens már tudja, hogy a csapda a (2,2)-ben vagy a (3,1)-ben van, ezért a csapda a (3,1)-ben van. Ez egy nehéz következtetés, mivel különböző időpontokban és különböző helyeken gyűjtött tudást használ fel, és egy érzet hiányára támaszkodva végez el egy fontos lépést. 25
Az ágens bebizonyította magának, hogy a (2,2)- ben nincs se csapda, se wumpus (OK). A (2,2)-ben az ágens ugyanúgy következtet mint eddig, és átlép a (2,3)-ba ahol detektálja a csillogást, megragadja az aranyat, és ezzel véget ér a játék. 26
Bármely esetben, amikor az ágens következtetéseket von le a rendelkezésre álló információkból, a következmény garantáltan helyes lesz, ha a rendelkezésre álló információk helyesek. 27
A tudásbázis mondatokból (sentences) áll. Ezeket a mondatokat a reprezentációs nyelv szintaxisa (syntax) szerint fejezzük ki. x+y=2 jól formált mondat x2y+=nem jól formált mondat 28
29
A nyelv szintaxisa(syntax)- leírja azokat a lehetséges konfigurációkat, melyekkel mondatok alkothatók A logikának a nyelv szemantikáját (semantics) is definiálnia kell. A szemantika a mondatok „jelentéséről” szól. A logikában a nyelv szemantikája definiálja a mondatok igazságát (truth), minden egyes lehetséges világra (possible world) vonatkozóan. Az x+y=4 mondat igaz abban a világban ahol x=2 és y=2, és hamis abban a világban ahol x=1 és y=1. 30
A mondatok közötti logikai vonzat (entailment) reláció azt fejezi ki, hogy egy mondat logikusan következik egy másik mondatból. A matematikai jelölés: α |= β Az α mondat maga után vonzza a β mondatot. Mindenütt ahol α igaz, β is igaz. x+y=4 maga után vonzza a 4=x+y mondatot. 31
A 7.3.b ábra alapján: az ágens nem észlelt semmit az (1,1)-ben, és szellőt észlelt a (2,1)- ben. Ezek az érzetek a wumpus világra érvényes szabályokkal együtt alkotják a tudásbázist. Az ágenst az érdekli, hogy az (1,2), (2,2), (3,1) négyzetek tartalmaznak-e csapdát? Bármelyik tartalmazhat, így 2 3 =8 lehetséges modell létezik. 32
7.4. ábra: Lehetséges modelljei egy csapda jelenlétének az [1,2], [2,2] és [3,1]-ben, ha adott a megfigyelés, hogy az [1,1]-ben semmi és a [2,1]-ben szellő érezhető. (a) A tudásbázis és 1 (nincs csapda [1,2]-ben) modelljei. (b) A tudásbázis és 2(nincs csapda [2,2]-ben) modelljei. 33
A TB hamis azokban a modellekben amelyek ellentmondanak annak, amit az ágens tud. Például a TB hamis minden modellben, ahol az (1,2) tartalmaz csapdát, mivel nincs szellő az (1,1)-ben. Csak 3 olyan modell van, amelyben a TB igaz, ezeket a 7.4. ábra a modellek egy részhalmazaként mutatja. 34
Két lehetséges következmény: α 1 =„Nincs csapda (1,2)-ben.” α 2 =„Nincs csapda (2,2)-ben.” Minden olyan modellben ahol TB igaz, α 1 is igaz. TB |= α 1, és nincs csapda (1,2)-ben. Néhány modell amelyben a TB igaz, α 2 hamis. TB |≠ α 2, és az ágens nem tudja kikövetkeztetni, hogy nincs csapda a (2,2)-ben. 35
Egy következtetési eljárást, amely csak vonzat mondatokat vezet be, helyesnek (sound), vagy igazságtartónak (truth-preserving ) nevezzük. Egy következtetési eljárás teljes (complete) ha képes levezetni minden vonzatmondatot. 36
37