2.5. Összefoglalás

Ebben a fejezetben szélsebesen végigszaladtunk a mesterséges intelligencián, amelyet úgy tekintettünk, mint az ágenstervezés tudományát. A következő fontos pontokra kell emlékeznünk:

  • Egy ágens (agent) olyan valami, amely észlel és cselekszik egy környezetben. Az ágensfüggvény (agent function) meghatározza, hogy egy tetszőleges észlelési sorozathoz milyen cselekvést hajtson végre az ágens.

  • A teljesítménymérték (performance measure) értékeli az ágens viselkedését egy környezetben. Egy racionális ágens (rational agent) úgy cselekszik, hogy maximalizálja a teljesítménymérték várható értékét az addigi észlelési sorozat alapján.

  • A feladatkörnyezet (task environment) leírása tartalmazza a teljesítménymérték, a külső környezet, a beavatkozók és a szenzorok meghatározását. Egy ágens tervezése során az első lépés mindig a feladatkörnyezet minél teljesebb leírása.

  • A feladatkörnyezetek számos lényeges dimenzió mentén különbözhetnek. Lehetnek teljesen vagy részben megfigyelhetők, determinisztikusak vagy sztochasztikusak, epizódszerűek vagy sorozatszerűek, statikusak vagy dinamikusak, diszkrétek vagy folytonosak, valamint egyágensesek vagy többágensesek.

  • Az ágensprogram (agent program) implementálja az ágensfüggvényt. Többféle alapvető ágensfelépítés létezik attól függően, hogy milyen információ jelenik meg és használódik fel a döntési folyamatban. A konstrukció különbözhet hatékonyságában, kompaktságában és rugalmasságában. Az ágensprogram megfelelő konstrukciója a környezet természetétől függ.

  • Az egyszerű reflexszerű ágensek (simple reflex agents) azonnal válaszolnak az észlelésekre, míg a modellalapú reflexszerű ágensek (model-based reflex agents) a világ aktuális észlelésekből nem nyilvánvaló aspektusait belső állapotukban tartják nyilván. A célorientált ágensek (goal-based agents) céljaik elérése érdekében cselekszenek, a hasznosságorientált ágensek (utility-based agents) pedig saját „boldogságukat” próbálják meg maximalizálni.

  • Minden ágens javíthatja a teljesítményét tanulás (learning) segítségével.

2.5.1. Irodalmi és történeti megjegyzések

A cselekvés központi szerepe az intelligenciában – a praktikus következtetés fogalma – egészen Arisztotelész Nikomakhoszi Etikájáig vezethető vissza. A praktikus következtetés McCarthy (McCarthy, 1958) nagy hatású cikkének is tárgya volt: Programs with Common Sense (Józan ésszel bíró programok). A robotika és szabályozáselmélet területei természetüknél fogva alapvetően fizikai ágensek tervezésével foglalkoznak. A vezérlő (controller) koncepciója a szabályozáselméletben megegyezik az MI ágens fogalmával. Talán meglepő, hogy az MI történelmének nagy részében az ágensek elkülönített komponenseire – kérdés-felelet rendszerek, tételbizonyítók, látórendszerek és így tovább – koncentrált inkább, mint a teljes ágensekre. Az ágensek leírása Genesereth és Nilsson (Genesereth és Nilsson, 1987) cikkében egy nagy hatású kivétel volt. A teljes ágenskép ma már széles körben elfogadott a szakmában, és ez lett az újabb írások központi témája (Poole és társai 1998; Nilsson 1998).

Az 1. fejezet a racionalitás koncepciójának gyökereit a filozófiára és közgazdaságtanra vezette vissza. Az MI-ben a nyolcvanas évek közepéig ez a koncepció csak periferiális érdeklődést kapott, amikor elkezdte elborítani a terület megfelelő technikai megalapozásának tárgyalásait. Jon Doyle cikke azt jósolta, hogy a racionális ágensek tervezése képezi majd az MI fő küldetését, míg más népszerű területek leválnak új tudományágakat formálva (Doyle, 1983).

A környezetek tulajdonságainak gondos figyelembevétele és hatásuk a racionális ágensek tervezésére leginkább a szabályozáselméleti tradícióban látható – például a klasszikus szabályozó rendszerek (Dorf és Bishop, 1999) teljesen megfigyelhető, determinisztikus környezeteket kezelnek; a sztochasztikus optimális vezérlés (Kumar és Varaiya, 1986) részlegesen megfigyelhető, sztochasztikus környezeteket kezel; és a hibrid szabályozó (Henzinger és Sastry, 1998) olyan környezetekkel foglalkozik, amelyek mind diszkrét, mind folytonos elemeket tartalmaznak. A teljesen és a részlegesen megfigyelhető környezetek közötti különbségtétel az operációkutatás területén kifejlődött dinamikus programozás (dynamic programming) irodalmában szintén központi kérdés (Puterman, 1994), amit a 17. fejezetben fogunk tárgyalni.

A reflexszerű ágensek voltak az elsődleges modellek a pszichológiai behavioristák, mint például Skinner (Skinner, 1953) számára, aki megpróbálta az organizmusok pszichológiáját kizárólag bemenet/kimenet, avagy inger/válasz leképezésekre visszavezetni. A pszichológiában a behaviorizmustól a funkcionalizmusig jutó fejlődés, amelyet legalább részben a számítógép-metafora ágensekre történő alkalmazása idézett elő (Putnam, 1960; Lewis, 1966), az ágens belső állapotának a megjelenését eredményezte. Az MI munkáinak nagy része az állapottal rendelkező tiszta reflexszerű ágensek ötletét túl egyszerűnek tartja ahhoz, hogy előrelépést jelentsen, de Rosenschein (Rosenschein, 1985) és Brooks (Brooks, 1986) munkája megkérdőjelezte ezt a feltételezést (25. fejezet). Az elmúlt években jelentős munka zajlott annak érdekében, hogy hatékony algoritmusokat találjanak komplex környezetek nyomon követésére (Hamscher és társai, 1992). A Remote Agent program, amely a Deep Space One űrhajót vezérelte (leírása a 1.4. szakasz - A mesterséges intelligencia jelenlegi helyzete található) egy különösen meggyőző példa (Muscettola és társai, 1998; Jonsson és társai, 2000).

A célorientált ágenseket mindenhol feltételezték, kezdve Arisztotelész gyakorlati gondolkodásáról alkotott nézetétől McCarthy logikai MI-ről írt korai cikkeiig. A Shakey the Robot (Fikes és Nilsson, 1971; Nilsson, 1984) volt egy logikai, célorientált ágens első robot formájú megtestesülése. A célorientált ágensek teljes logikai elemzése Genesereth és Nilsson (Genesereth és Nilsson, 1987) cikkében jelent meg, és egy célorientált programozási módszertant, az úgynevezett ágensorientált programozást Shoham (Shoham, 1993) dolgozott ki.

A célorientált nézőpont a kognitív pszichológia hagyományában is domináns a problémamegoldás területén, kezdve a jelentős mértékben meghatározó Human Problem Solving (Emberi problémamegoldás) (Newell és Simon, 1972) művel, és folytatódva Newell későbbi munkájában (Newell, 1990). A célok, tovább bontva vágyakra (általános) és szándékokra (jelenleg követett), központi témái a Bratman (Bratman, 1987) által kifejlesztett ágenselméletnek is. Ez az elmélet hatással volt mind a természetes nyelv megértésére, mind a többágenses rendszerekre.

Horvitz kifejezetten azt javasolja, hogy az MI alapja a racionalitás mint az elvárt hasznosság maximalizálása legyen (Horvitz és társai, 1988). Pearl írása (Pearl, 1988) volt az első az MI-ben, amely részletesen tárgyalta a valószínűséget és a hasznosságelméletet; az írás a bizonytalanság melletti következtetés és döntéshozatal praktikus módszereinek kifejtésével valószínűleg a legnagyobb önálló tényező volt a hasznosságorientált ágensek felé történő elmozdulásban a kilencvenes években (V. rész).

A 2.15. ábrán bemutatott általános tanuló ágens tervezés klasszikus a gépi tanulás irodalmában (Buchanan és társai, 1978; Mitchell, 1997). Ezen felépítés programokban megtestesülő példái legalább olyan messze nyúlnak vissza, mint Arthur Samuel dámajátékot játszó tanuló programja (Samuel, 1959, 1967). A tanuló ágenseket a VI. rész tárgyalja részletesen.

Az ágensek és ágenstervezés iránti érdeklődés gyorsan növekedett az elmúlt években, részben az internet, valamint az automatizált és mobil szoftbotok iránti igény növekedésével (Etzioni és Weld, 1994). A releváns cikkeket a Readings in Agentsben (Huhns és Singh, 1998), valamint a Foundations of Rational Agencyben (Wooldridge és Rao, 1999) gyűjtötték össze. A Multiagent Systems (Weiss, 1999) nyújtja az ágenstervezés sok aspektusának egységes alapját. Az ágenseknek szentelt konferenciák között van az International Conference on Autonomous Agents, az International Workshop on Agent Theories, Architectures, and Languages, és az International Conference on Multiagent Systems. Végezetül, a Dung Beetle Ecology (Ganajtúró bogár ökológia) (Hanski és Cambefort, 1991) érdekes információk gazdag választékát kínálja a ganajtúró bogarak viselkedéséről.

2.5.2. Feladatok

2.1.

Definiálja saját világait a következő fogalmakkal: ágens, ágensfüggvény, ágensprogram, racionalitás, autonómia, reflexszerű ágens, modellalapú ágens, célorientált ágens, hasznosságorientált ágens, tanuló ágens!

2.2.

Mind a teljesítménymérték, mind a hasznosságfüggvény azt méri, hogy mennyire dolgozik jól egy ágens. Magyarázza el a köztük levő különbséget!

2.3.

Ez a gyakorlat felfedi az ágensfüggvények és a programok közötti különbségeket.

  1. Lehetséges több mint egy ágensprogram, amely egy adott ágensfüggvényt valósít meg? Adjon meg egy példát vagy mutassa meg, miért nem lehetséges!

  2. Vannak olyan ágensfüggvények, amelyeket nem lehet programmal megvalósítani?

  3. Rögzítve egy géparchitektúrát, igaz-e, hogy minden egyes ágensprogram pontosan egy ágensfüggvényt valósít meg?

  4. Lehetséges több mint egy ágensprogram, amely egy adott ágensfüggvényt valósít meg?

2.4.

Vizsgáljuk meg különböző porszívóvilág-beli ágensfüggvények racionalitását!

  1. Mutassa meg, hogy a 2.3. ábrán látható egyszerű porszívó ágensfüggvény igenis racionális a 2.2.2. szakasz - Racionalitás felsorolt feltételezésekkel!

  2. Írjon le egy racionális ágensfüggvényt arra a módosított teljesítménymértékre, amely levon egy pontot minden elmozdulásért! Szüksége van-e a függvénynek megfelelő ágensprogramnak belső állapotra?

  3. Mutasson lehetséges ágensterveket olyan esetekre, amikor tiszta négyzetek piszkossá válhatnak, és a környezet geográfiája ismeretlen! Értelmes dolog-e, hogy ezekben az esetekben az ágens saját tapasztalataiból tanuljon? Ha igen, akkor mit kellene megtanulnia?

2.5.

Az alábbi ágensek mindegyikére dolgozza ki a feladatkörnyezetek TKBÉ-leírását!

  1. Robot focijátékos;

  2. Internetes könyvvásárló ágens;

  3. Autonóm Mars terepjáró;

  4. Matematikusok tételbizonyító segítője.

2.6.

A 2.5. példa minden egyes ágenstípusára jellemezze a környezeteket a 2.3. fejezetben megadott tulajdonságok alapján, majd válasszon ki megfelelő ágensterveket!

A következő feladatok mindegyike egy környezetnek és egy sor ágensnek a megvalósítására vonatkozik a porszívóvilágban.

2.7.

Valósítson meg egy teljesítménymérő környezetszimulátort a 2.2. ábrán mutatott és 2.2.2. szakasz - Racionalitás specifikált porszívóvilágra! Implementációja legyen moduláris, hogy könnyen megváltoztathassa az érzékelőket, a beavatkozókat és a környezeti jellemzőket (méret, alak, piszok elhelyezkedése stb.). (Megjegyzés: Bizonyos operációs rendszerekre és programozási nyelvekre vannak kész implementációk az internetes kódtárban.)

2.8.

Tervezzen és valósítson meg egy tiszta reflexszerű ágenst a 2.7. feladat környezetére! Minden lehetséges kezdeti koszeloszlásra és ágenselhelyezkedésre futtassa le a környezetszimulátort ezzel az ágenssel! Jegyezze fel az ágens teljesítménymértékét minden egyes konfigurációra és az átlagos pontszámát is!

2.9.

Vizsgálja meg a 2.7. gyakorlat egy módosított környezetét, amelyben az ágenst egy ponttal büntetik minden egyes elmozdulásért.

  1. Lehet-e tökéletesen racionális egy egyszerű reflexszerű ágens ebben a környezetben? Magyarázza meg, miért!

  2. Mi a helyzet az állapottal rendelkező reflexszerű ágensekkel? Tervezzen egy ilyen ágenst!

  3. Hogyan változna meg az (a) és (b) pontokra adott válasza, ha az ágens észlelései a környezet összes négyzetére megmondják neki, hogy azok tiszták vagy piszkosak?

2.10.

Vizsgálja meg a 2.7. feladat porszívókörnyezetének egy módosított változatát, amelyben a környezet alakja – mérete, határai és akadályai – ismeretlen, mint ahogy a kosz kezdeti elhelyezése is az! (Az ágens mehet Fel és Le, valamint Balra és Jobbra is.)

  1. Lehet-e tökéletesen racionális egy egyszerű reflexszerű ágens ebben a környezetben? Magyarázza meg, miért!

  2. Egy randomizált ágensfüggvénnyel rendelkező reflexszerű ágens jobban teljesíthet egy egyszerűnél? Tervezzen egy ilyen ágenst, és mérje meg a teljesítményét különböző környezetekben!

  3. Tud olyan környezetet tervezni, ahol az Ön randomizált ágense igen rosszul fog teljesíteni? Mutassa meg az eredményeit!

  4. Egy állapottal rendelkező reflexszerű ágens jobban teljesíthet egy egyszerűnél? Tervezzen egy ilyen ágenst, és mérje meg a teljesítményét különböző környezetekben! Tud ilyen típusú racionális ágenst tervezni?

2.11.

Ismételje meg a 2.10. feladatot egy olyan esetre, amikor az elhelyezkedés érzékelőt egy „ütközés” érzékelő váltja fel, ami érzékeli az ágens olyan elmozdulási kísérleteit, amikor nekiütközik egy akadálynak vagy átlépi a környezet határát! Tegye fel, hogy az ütközésérzékelő működése leáll! Hogyan kellene az ágensnek viselkednie?

2.12.

Az eddigi feladatok porszívókörnyezetei determinisztikusak voltak. Vizsgáljon meg lehetséges ágensprogramokat a következő sztochasztikus variációkra:

  1. Murphy törvénye: az idő 25%-ában a Felszívás művelet nem tudja feltakarítani a padlót, ha az piszkos, illetve kiönti rá a koszt, ha az tiszta. Hogyan érinti az ágens programját az, ha a piszokérzékelő az idő 10%-ában rossz választ ad?

  2. Kisgyerekek: minden időlépésben minden négyzetnek 10% esélye van bekoszolódni. Tud javasolni egy racionális ágenstervet erre az esetre?