ágens függvény

Kapcsolódó fogalmak: 
ágens
Kapcsolódó fogalmak: 
egyágenses környezet
Kapcsolódó fogalmak: 
reflexszerű ágens
Kapcsolódó fogalmak: 
érzékelés
Kapcsolódó fogalmak: 
belső állapot
Kapcsolódó könyvfejezetek: 
2.1. Bevezetés
Rövid szöveges bemutatás: 
Az ágens-függvény az ágens egy matematikai leírása. Lényegében minden lehetséges, adott időpillanatig beérkezett, véges hosszúságú érzet-sorozathoz hozzárendel egy-egy cselekvést. Az ágens tehát ennek a függvénynek megfelelően működik környezetében: minden időpillanatban az adott időpillanatig beérkezett érzetek alapján határozza meg, hogy mit cselekedjen. Lényegében tehát azt állítjuk, hogy általánosságban minden egyes ágens (akár tetszőlegesen komplex is lehet) végső soron egy függvénynek megfelelően működik, azaz működése matematikailag leírható egy függvénnyel, amely érzetek sorozatából képez cselekvésekbe. Ez tehát egy szemléletmód - tekinthetünk így az ágensre. Ebben az esetben egy-egy kész ágensről meg tudjuk mondani, hogy milyen ágens-függvénynek felel meg (analízis), illetve ágensek tervezésekor előírhatjuk, hogy a készülő ágens milyen ágens-függvénynek feleljen meg (szintézis), sőt, akár ellenőrizhetjük is később, hogy valóban megfelel-e az ágens az előírt ágens-függvénynek. Megjegyeznénk, hogy itt nem csak az iskolában tanult aritmetikai, vagy más egyéb függvényekre gondolhatunk. Itt egy-egy függvény matematikai apparátusa attól függ, hogy milyen módon ábrázoltuk az ágens problématerét, és a környezeti tényeket rögzítő tudásbázisát. Ettől függ a függvény értelmezési tartománya és értékkészletete. Jelen esetben tehát az értelmezési tartomány az ágens adott időpillanatig lehetséges érzét-sorozatainak halmaza (minden lehetséges időpillanatra), az értékkészlet pedig az ágens adott környezetben lehetséges - fizikai, kommunikációs, vagy kognitív - cselekvéseinek halmaza. Az ágens-függvény tehát egy absztrakt, tömör leírása annak, hogy az ágens miképpen működik, vagy miképpen kellene működnie. Minden ágens egyértelműen jellemezhető egy-egy ilyen függvénnyel, ami általában túl tömör és felületes ahhoz, hogy ennek alapján konkrét ágenst lehessen tervezni, viszont ágensek elemzésénél nagy segítséget nyújthat. Egy konkrét ágens részletes specifikációja ennél nyilván jóval összetettebb és mélyrehatóbb lehet (pl. AUML nyelven adott [2]).

 

Az ágens-függvény gyakorlatilag az ágens működésének, viselkedésének absztrakt specifikációja: azt határozza meg, hogy az ágens mire-mit reagál. Az ágens tehát absztrakt szinten tekinthető egy leképezésnek, amely érzet-történetekből képez cselekvésekbe.
 
Annak érdekében, hogy az előbbieket formálisan is megfogalmazhassuk, vezessük be az ágens O lehetséges érzeteinek, illetve a környezetben kivitelezhető lehetséges A cselekvéseinek halmazát. Mivel az ágens viselkedését időben szeretnénk vizsgálni, ezért vezessük be az időpillanatok T (<reláció által teljesen) halmazát, amely az ágens működése kapcsán vizsgált összes időpillanatot tartalmazza kronológiai sorrendben. Az általánosság megszorítása nélkül most csak a pozitív egész számokat (beleértve a nullát is) tekintsük.
 
Vezessük be az érzet-történetek OT={OT: T O} halmazát, ahol OT az ágens egy érzet-története, egy függvény, amely minden időpillanathoz hozzárendel egy-egy érzetet. Adott OT érzet-történet t időpillanatig vett prefixét Ot jelölje. Ez tehát a t időpillanatig beérkezett érzetek története (az OT függvény [0..t] intervallumra való leszűkítése). A lehetséges érzettörténet-prefixek halmazát ekkor ennek megfelelően Ot = {Ot | t T és OT OT} jelöli. Ezekből képez tehát az ágens-függvény a cselekvésekbe. Vegyük észre, hogy itt nem foglalkozunk azzal, hogy aktuálisan (pl. a lefutás során) mi a jelen, a múlt, vagy a jövő. Ennek oka egyszerű: a bevezetett leírások nem igénylik a „jelen” bevezetését. Az ágensről egy-egy teljes lefutás kapcsán beszélünk most.
 
Az ágens-függvény tehát minden egyes lehetséges érzettörténet-prefixhez (azaz minden lehetséges, adott időpillanatig beérkezett, véges hosszúságú érzet-sorozathoz) hozzárendel egy-egy cselekvést. Minden ágens egy-egy ilyen függvények megfelelően működik.
 
Definíció. Ágens-függvény:
 
            f: Ot A
 
Itt jegyeznénk meg, hogy ez a definíció általános. Nyilván nem minden ágensnek kell az adott időpillanatig beérkező összes érzetet (teljes érzet-történetet) mérlegelnie, vagy felhasználnia ahhoz, hogy eldöntse, hogy mit cselekedjen, főleg nem explicite. Elképzelhető, hogy egy ágens (pl. reflex-szerű ágens) csak a legutóbbi beérkező érzetet használja fel explicite. Viszont egy belső állapottal rendelkező ágens mindenkor aktuális belső állapotára, és így arra alapozott cselekvésére elvben akár a teljes addig beérkezett érzet-történet is hatással lehet (kumulálódva az ágens belső állapotában, implicite). Általánosságban tehát a fenti definíció helyénvaló, hiszen lefedi azt az esetet is, amikor az ágens minden egyes addig beérkezett érzetet figyelembe vesz (explicite, vagy implicite), illetve azt is, amikor nem. Végső soron még egy olyan ágens is megfelel ennek a definíciónak, amelyik például teljesen véletlenszerűen cselekszik (és így egyáltalán nem veszi figyelembe a beérkező érzeteket). Ez az ágens minden lehetséges érzet-sorozatra véletlenszerűen reagál, és így egy ilyen ágens-függvénynek felel meg, ami nem mond ellent a fentieknek.
kapcsolódó irodalmak
[1]           Russell, S. J., & Subramanian, D. (1995). Provably bounded-optimal agents, Journal of AI Research, 2:1–36.
[2]           Bauer, B., Müller, J. P., Odell, J. (2001). Agent UML: A Formalism for Specifying Multiagent Interaction, Agent-Oriented Software Engineering, eds. Ciancarini P., Wooldridge M., Springer, Berlin, pp. 91-103.
 
Szerző: Kovács Dániel László, BME