Agent environments/cs

Agentní prostředí je pojem z oblasti multiagentních systémů (společného oboru umělé inteligence, ekonomiky, teorie her a teorie rozhodovacích strategií) a označuje vše, s čím agent přichází během své činnosti do styku. Agenti své prostředí vnímají prostřednictvím senzorů a následně na něj reagují nebo s ním pracují. Reaktivní agenti pouze reagují na změny prostředí a netvoří si žádnou jeho symbolickou reprezentaci. Naproti tomu deliberativní agenti již pracují se symbolickou reprezentací vnějšího prostředí, na jejímž základě si v paměti vytvářejí model okolního světa, kterého následně využívají k plánování úkonů vedoucích k dosažení jejich cílů.

Příkladem agentního prostředí, se kterým se dá setkat v běžném životě, mohou být silnice a jejich okolí. Agenty jsou v tomto prostředí autonomní vozidla, která musí své okolí neustále monitorovat, plánovat svoje jednání v něm a reagovat na nastalé situace. Jako další příklady agentního prostředí lze uvést povrch planet (či jeho část), interiéry a extriéry budov, čistě virtuální prostředí (virtuální model části světa, počítačové sítě, business modely) a jiné.

=Charakteristika agentního prostředí= Agentním prostředím rozumíme vše, s čím agent přijde při své činnosti do styku. Tato kapitola nabízí přehled jednotlivých charakteristik agentních prostředí, společně s ilustrativními příklady. Mějte však na paměti, že mnohdy platí, že prostředí nelze jednoznačně charakterizovat pouze jednou z uvedených protilehlých vlastností. V takových případech je přesnější říci, že prostředí má jistou míru dané vlastnosti a že zároveň má nižší (či vyšší) míru vlastnosti opačné.

Pozorovatelné / Nepozorovatelné
Vlastnosti pozorovatelného agentního prostředí: Vlastnosti nepozorovatelného agentního prostředí:
 * O prostředí lze získat veškeré a kompletní informace relevatní pro agenta.
 * Prostředí je agentovi reálně (ne jen teoreticky) dostupné.
 * Příklad: Změření teploty v místnosti. Aby se mohlo jednat o pozorovatelné prostředí, musí být místnost agentovi samozřejmě reálně přístupná (tzn. nemělo by jít o místnost bez dveří a oken, naopak by
 * O prostředí nelze získat veškeré informace relevatní pro agenta nebo jsou získané informace nekompletní.
 * Prostředí není pro agenta dostupné, nebo je jen teoreticky (ne prakticky) dostupné.
 * Příklad: Změření teploty uvnitř vulkánu. Do vulkánu je sice teoreticky možné se dostat, avšak prakticky je to neproveditelné. Respektive, je to proveditelné, ale je nepravděpodobné, že by se agent zvládl z vulkánu po změření teploty v něm dostat zpět ven.

Deterministické / Nedeterministické
Vlastnosti deterministického agentního prostředí: Vlastnosti nedeterministického agentního prostředí: Zde je vhodné podotknout, že určení, zda je prostředí deterministické či nedeterministické není tak jednoduché, jak by se mohlo na první pohled zdát. Například provádění výpočtů na kalkulačce se výhradně řídí naprogramovanými instrukcemi (matematickými zákonitostmi) do kalkulačky. Z tohoto pohledu by se mohlo provádění výpočtů na kalkulačce jevit jako deterministické prostředí. Víme-li, jaká data do kalkulačky zadáme, můžeme předem i říci, jaký bude výsledek. Co když však při provádění výpočtů selže některá z elektronických součástí kalkulačky? Například se může vybít baterie, nebo se může „porouchat“ jeden ze segmentů sedmisegmentového displeje. Teoreticky by nám zde pro deterministické určení budoucího stavu mohla pomoct znalost technického stavu všech komponent v kalkulačce, díky které bychom byli schopni předpovědět selhání některé z komponent. Otázkou ovšem je, nakolik je reálné takové znalosti získat a jestli je vůbec možné interpretovat je takovým způsobem, že bychom byli schopni se stoprocentní pravěpodobností předpovědět selhání.
 * Akce provedené v prostředí mají očekávaný (předem určený, deterministický) efekt.
 * Jsme schopni dopředu říci, v jakém stavu bude se bude prostředí po provedení akce nacházet.
 * Příklad: Šachy. Pokud dopředu víme, jaký tah chceme provést, známe tím i budoucí stav prostředí. Například při tahu pěšákem bude po dokončení akce (tahu) stav prostředí (šachovnice) totožný se stavem prostředí před provedením akce s tou výjimkou, že se změnila pozice přesouvaného pěšáka.
 * Akce provedené v prostředí mají neočekávaný (náhodný) efekt.
 * Nejsme schopni dopředu určit, v jakém stavu se bude prostředí po provedení akce nacházet.
 * Příklad: Místnost s termostatem. Po nastavení teploty na termostatu nejsme schopni přesně určit teplotu v libovolném bodě v místnosti. Jedná se o termodynamický systém s nenulovou entropií (mírou neurčitosti systému).

Statické / Dynamické
Vlastnosti statického agentního prostředí: Vlastnosti dynamického agentního prostředí: Mnoho systémů je dynamických, neboť obvykle v jednom okamžiku provádí akce více entit současně. Navíc se dá říci, že v některých případech neexistuje přesné rozlišení mezi těmito dvěma možnostmi, viz například multitasking na jednojádrovém počítači.
 * Agent je jedinou entitou, která svými akcemi v jednom okamžiku mění prostředí.
 * Prostředí se mění pouze na základě provedené akce.
 * Příklad: Šachy. Jedinou entitou, která svou akcí v jednom okamžiku mění prostředí, je hráč. Po provedení akce (tahu) se prostředí změní, a zůstává neměnné dokud druhý hráč nevykoná svůj tah.
 * Agent není jedinou entitou, která svými akcemi v jednom okamžiku mění prostředí.
 * Prostředí se může měnit i v průběhu provádění akce agentem.
 * Příklad: Doprava. Dopravní prostředí se neustále mění jak v důsledku akcí prováděných jinými agenty (jiná vozidla, chodci), tak i v důsledku charakteristik samotného prostředí (počasí, semafory, aj.).

Diskrétní / Spojité
Vlastnosti diskrétního agentního prostředí: Vlastnosti spojitého agentního prostředí: Obvykle se dá říci, že je-li systém založený na tazích, je diskrétní (a zároveň statický). Pokud však více entit provádí rozhodování společně, je takový systém dynamický.
 * Počet možných akcí proveditelných v prostředí je konečný.
 * Příklad: Šachy. Počet možných tahů v partii šachů je v každém okamžiku konečný.
 * Počet možných akcí proveditelných v prostředí je nekonečný.
 * Příklad: Právní systém. Množství nastalých situací a možných způsobů jejich vysvětlení či obhajoby je nekonečné.

Epizodické / Neepizodické
Vlastnosti epizodického agentního prostředí: Vlastnosti neepizodického agentního prostředí: Rozlišení mezi epizodicitou a neepizodicitou prostředí je často závislé na úhlu pohledu externího pozorovatele.
 * Agenti operují v jistých segmentech (epizodách), které jsou na sobě navzájem nezávislé.
 * Stav agenta v jedné epizodě nemá vliv na jeho stav v jiné epizodě.
 * Příklad: Diskrétní simulace v softwaru Simprocess.
 * Segmenty (epizody), ve kterých agenti operují, jsou na sobě navzájem závislé.
 * Stav agenta v jedné epizodě ovlivňuje jeho stav v jiné epizodě.
 * Příklad: Celá ekonomika. Hospodaření ekonomiky v předešlých obdobích má vliv na stav ekonomiky v budoucnu.

Dimenzionální / Nedimenzionální
Vlastnosti dimenzionálního agentního prostředí: Vlastnosti nedimenzionálního agentního prostředí: Hraje-li prostor, dimenze, vzdálenosti, atp. roli při rozhodování agenta v prostředí, pak je toto prostředí dimenzionální. Pokud není žádná z těchto charakteristik pro agenta relevantní, nazýváme toto prostředí nedimenzionálním.
 * Prostorové charakteristiky prostředí jsou pro agenty podstatné.
 * Příklad: Skutečný svět. Například fungování autonomních vozidel je plně závislé na sledování prostorových charakteristik okolního prostředí.
 * Prostorové charakteristiky prostředí nemají pro chování agentů žádný význam.
 * Příklad: Internet. Při činnosti agentů na internetu postrádá smysl uvažovat prostorové charakteristiky.

=Komplexnost prostředí= Čím více je agentní prostředí nepozorovatelné, nedeterministické, dynamické a spojité, tím více je komplexní a méně poznatelné. Čím více je prostředí komplexní, tím náročnější je navrhnout agenta, který má v daném prostředí pracovat.

Jako příklad zde mohou být uvedena například vesmírná vozítka určená ke zkoumání povrchu cizích planet. Tyto planety jsou omezeně pozorovatelné a tím pádem i poměrně vysoce nedeterministické. Z určitého úhlu pohledu jsou statické (například sonda Curiosity se nemusí na Marsu bát hustého provozu), avšak z jiných úhlů pohledu mohou být i dynamické (například neočekávané změny počasí). Z výše uvedených charakteristik vyplývá, že agentní prostředí na povrchu cizích planet je velmi komplexní a špatně poznatelné. O to komplexnější je tedy i návrh agenta pro toto prostředí.

Dalším příkladem, který se zde nabízí, jsou autonomní vozidla brázdící pozemní silnice. V tomto případě je prostředí relativně snadno pozorovatelné (ačkoliv samotné zpracování dat o prostředí získaných agentem v žádném případně snadné není). Zároveň je toto prostředí do jisté míry deterministické (díky znalostem fyzikálních zákonitostní jsme schopni říci, jak se bude automobil chovat při přidání plynu, při brzdění či při zatáčení). Jedná se však o vysoce dynamické a samozřejmě spojité prostředí - provoz na silnicích je hustý a lidé (a další živočichové) jsou nedílnou součástí tohoto prostředí. Návrh agenta pro autonomní pohyb po silnicích na planetě Zemi tedy narozdíl od různých Mars roverů musí počítat právě s extrémně dynamickým (avšak zároveň s více pozorovatelným a deterministickým) prostředím. Autonomní vozidla musí být schopna nejen rychle reagovat na změny prostředí, zároveň by i měla být schopna prostředí dopředu prozkoumávat, analyzovat a předvídat jeho budoucí stavy (například předpovědět, že chodec blížící se k přechodu pro chodce pravděpodobně vstoupí do vozovky).

Omezujícím problémem při zkoumání prostředí agenty je čas. Obvykle nemá příležitost zkoumat a analyzovat prostředí roky, výsledek je často očekáván v rozumě krátkém čase. Například u autonomních vozidel je na rychlost prozkoumávání prostředí a následné zpracování dat o něm kladen velmi vysoký nárok. Výsledky se v tomto případě očekávají v řádu milisekund. Naopak například zkoumání prostředí cizí planety vesmírným vozítkem není časem tak striktně limitováno (ani zde však není žádoucí, aby vozítko několik dní analyzovalo prostředí, než se rozhodně posunout o dalších několik centimetrů; na druhou stranu zde však není tlak na získání rozhodnutí v řádu milisekund).

=Agenti v agentním prostředí= Toto je pouze stručný úvod do teorie agentů, podrobnější výklad lze nalézt v dedikovaném textu o agentech.


 * Reaktivní agenti - Jedná se o nejjednodušší typ agentů. Tito agenti vykonávají akce výhradně na základě podnětů, které jsou zachyceny z okolního agentního prostředí. Racionalita těchto agentů je tedy pouze přímým důsledkem interakce agenta s jeho okolním světem.
 * Deliberativní agenti - Deliberativní agent narozdíl od reaktivního dokáže plánovat cestu ke svým cílům. Cestu (postup) k cíli plánuje na základě symbolické reprezentace okolního světa, ze které je schopen vytvořit model prostředí. I deliberativní agenti mohou v jistých případech fungovat jako reaktivní (především při neočekávaných změnách prostředí, na které je nutné nějakým způsobem zareagovat).

=Citace=
 * KUBÍK, Aleš. Inteligentní agenty. Brno: Computer Press, 2004. ISBN 80-251-0323-4.
 * ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů; VŠE - fakulta informatiky a statistiky, Multiagent systems I.pdf.
 * NETRVALOVÁ, Arnoštka, Ing. - Úvod do problematiky multiagentních systémů