Umělá inteligence

Racionální agenty

 Cíle

  • Zvládnout jednotný náhled na techniky umělé inteligence pomocí přístupu racionálních agentů
  • Osvojit si metodiku PEAS popisu úloh UI a aplikovat ji v praxi
  • Rozlišovat typy agentů podle schopností nutných pro úlohy různé obtížnosti

 Klíčová slova

Racionální agent, senzory, aktuátory, architektura agenta, prostředí agenta, PEAS popis úlohy, reaktivní agent, agent s modelem prostředí, agent s plánem

Shrnutí kapitoly
  • Příklady agentů se senzory / aktuátory:
    • člověk: zrak, sluch, čich, hmat, chuť, vnímání tepla, rovnováhy... / ruce, nohy, řečové orgány...
    • bakterie: receptory chemikálií, světla... / pohyby bičíku, chemické signály, příjem potravy...
    • autonomní vozidlo: kamera, laserový dálkoměr, ukazatel paliva... / volant, plyn, brzda, řazení...
    • softwarový agent: zachycené pakety, stisky kláves, pohyby myši, čtení z disku... / vyslané pakety, obrazovka, zápis na disk...
  • Funkce agenta je zobrazení, které přiřadí sekvenci vjemů agenty určitou akci/akce. Pro jednoduchost budeme předpokládat, že funkce agenta má přesný matematický popis, i když si umíme představit funkce vágně popsané ("zvol akci, která nejspíše umožní utéct predátorovi, kterého vidíš a který se tě chystá sežrat..."). Z praktických důvodů můžeme rozdělit funkci agenta do více dílčích funkcí.
  • Struktura agenta
    • architektura = "tělo" agenta vybavené senzory a aktuátory.
    • program = implementuje funkci agenta, určuje, jak agent reaguje na sekvence vjemů; program musí být přizpůsoben architektuře - "šitý na míru", aby agent byl schopen vykonávat akce, které po něm program žádá. Program zde není chápán jen jako "software", ale jako kompletní řídící systém agenta včetně např. paměti.
  • Vlastnosti prostředí
    • plně pozorovatelné (šachy) / částečně pozorovatelné (dopravní situace)
    • deterministické - jen agent jej mění (křížovka) / stochastické - mění jej i další agenti, příp. se mění samo (šachy, dopravní situace)
    • statické - nemění se, zatímco agent vybírá vhodnou akci (šachy) / dynamické - může se měnit se rychleji, než agent stačí reagovat (doprava)
    • diskrétní - počet jeho stavů je konečný (šachy) nebo alespoň celočíselný / spojité - stavy je nutno reprezentovat spojitými veličinami
    • jednoagentní (křížovka, průmyslový robot na lince) / multiagentní (šachy, doprava)

  • Popis úlohy agenta (PEAS) umožňuje jednak ohodnotit jeho racionalitu, jednak navrhnout jeho architekturu a program(y). Obsahuje tyto hlavní komponenty: 
    • měřítko výkonu (Performance Measure)
    • popis prostředí (Environment)
    • Aktuátory agenta
    • Senzory agenta

  • Agent je racionální tehdy, když umí využít všechny informace, které kdy o dané úloze získal, aby maximalizoval svůj očekávaný prospěch (měřítko výkonu). 
    • Agent může být racionální, i když nemá kompletní informace o prostředí, například nemá dost dobré senzory: důležité je, aby vytěžil maximum z toho, co mu senzory předají (sekvence vjemů "od narození"). Stejně tak nevadí, když se skutečný prospěch (výkon) liší od očekávaného, pokud v prostředí hraje roli náhoda
    • Racionální není, když agent některé dostupné informace neumí využít, například proto, že nemá dost chytrý program, anebo nemá paměť, takže zapomene informace, které by mu umožnily zlepšit výkon. 
  • Reaktivní agent ("s externím řízením") - přímá vazba mezi senzory a aktuátory -  reaguje na podněty bezprostředně, obsahuje jednoduchý řídící modul bez paměti , nepamatuje si předchozí vjemy. Propagátorem tohoto typu agentů byl např. Rodney Brooks: "Prostředí samo je svou nejlepší reprezentací". Příklady reaktivních agentů: agent vyhýbající se světlu, nebo mechanická beruška. Racionalita reaktivního agenta není jeho vlastností, ale vztahem agenta+prostředí. Není-li agent adaptován na své prostředí, nekoná v něm racionálně, např. pokud nasvětlíme prostředek stolu, světloplachý agent z něj spadne (na rozdíl od mechanické berušky), přestože má dostatek informací a schopností k tomu, aby se na něm udržel. Jeho program však velí "couvej od světla", zatímco v tomto prostředí by racionální program měl vydat opačný pokyn. 
  • "Chytré" chování reaktivních agentů často vzniká na základě jejich vzájemné interakce kolektivní emergence nových vlastností. Příklad: náhodně se pohybující mravenci zanechávají feromonové stopy, jiní mravenci je sledují, silnější stopa přitáhne více mravenců => pozitivní zpětná vazba, takto dokáží optimalizovat cestu ke zdroji potravy. Další příklady: Wikipedie - inteligence hejna.
  • Subsumpční architektura reaktivních agentů: priorita mezi jednotlivými reakčními moduly, která odpovídá prioritě dílčích cílů (beruška: nespadnout se stolu > pohybovat se), podrobněji viz [4] kap. 4.6., případně na Wikipedii.
  • Agent s modelem prostředí  ("s interním řízením", též  deliberativní agent): rozšíření architektury reaktivního agenta o vnitřní reprezentaci/model světa. Model zahrnuje, jak se svět vyvíjí a jak jej ovlivňují agentovy akce. příklad: Toto a Meta-Toto, viz [4] díl III, kap. 4.8. Agenty s modelem prostředí jsou schopny řešit složitější úkoly, ale reagují na podněty zprostředkovaně, se zpožděním, a jsou méně efektivní, pokud se prostředí mění způsobem, který nedokážou včas a plně zachytit.
  • Agent s dlouhodobými cíli: obsahuje modul plánování, který určuje posloupnost akcí k dosažení cíle. Agent může mít více konfliktních cílů, pak je nutné ohodnotit "žádoucnost" každého z nich, a tomu přizpůsobit plán. Platí totéž, co u agentů s modelem: pokud se prostředí neočekávaně mění, je nutná (časově náročná) změna plánu, agent reaguje pomalu, předchozí akce se mohou ukázat neúčelné.
  • Učící se agent: je schopen modifikovat svůj program (a popřípadě i architekturu) na základě předchozí zkušenosti. K tomu potřebuje učící se modul, který rozhoduje, jak vylepšit program/architekturu agenta (může využívat i evoluční strategie slepého prohledávání - agent se množí a mutuje, přežívají nejúspěšnější architektury a programy). Modul kritiky vyhodnocuje úspěšnost předchozích akcí/strategií, dává učícímu modulu zpětnou vazbu (kritikem může být i okolní prostředí). Generátor problémů pomáhá agentovi v získávání zkušeností využitelných v učení (agent "experimentuje"), pokud prostředí samo negeneruje dostatečné množství problémových situací.
Ověření znalostí
  1. Definujte vlastními slovy pojmy racionální agent, architektura agenta, program agenta, autonomie, reaktivní agent, agent s modelem prostředí, učící se agent. Uveďte příklady pro každý z těchto pojmů.
  2. Pro každé z následujících tvrzení uveďte, zda je pravdivé či nepravdivé, a uveďte (proti)příklad:
    • Agent, jehož senzory získávají jen částečnou informaci o stavu prostředí, nemůže být plně racionální.
    • Existují úlohy (ve smyslu PEAS), v nichž se žádný čistě reaktivní agent nemůže chovat racionálně.
    • Existují úlohy, v nichž je každý agent racionální.
    • Představte si agenta, který vybírá svou akci náhodně. Existuje (deterministická) úloha, v níž se tento agent chová racionálně.
    • Plně racionální agent hrající poker nikdy neprohraje.
  3. Sestavte PEAS popis každé z následujících úloh:
    • robotický fotbal;
    • zkoumání Marsu (sonda Curiosity);
    • nákup použitých knih o UI na internetu;
    • skok do výšky;
    • pletení svetru;
    • dražba předmětu na aukci.
  4. Otázky zaměřené na rozdíl mezi funkcí a programem agenta:
    • Existují funkce agenta, které nelze implementovat žádným programem?
    • Může existovat více programů, které implementují jistou funkci agenta? Uveďte příklad anebo zdůvodněte, proč to není možné.
    • Je-li zvolena nějaká architektura agenta, může na ní program implementovat více než jednu funkci?
  5. Ukažte, že agent "vysavač", popsaný na obr. 2.3 v Russel & Norvig (2010), je racionální, pokud měřítkem výkonu je co nejčistší prostředí.
  6. Pozměníme měřítko výkonu agenta "vysavače" tak, že je penalizován jedním bodem za každý pohyb.
    • Je reaktivní agent schopen tuto úlohu řešit plně racionálně?
    • Jak na tom bude agent s modelem prostředí? Navrhněte takového agenta.
    • Jak se změní odpověď na předchozí dvě otázky, jestliže agent má k dispozici kameru, která snímá celé prostředí, takže "vidí" svou pozici a stav (čisté/špinavé) každého políčka? 
Úloha: co je racionalita? Čas na odevzdání:1 týden
Vyřešte příklad 2 ze sekce "Ověření znalostí". Každou odpověď stručně odůvodněte. Max 5 bodů.
Literatura a zdroje

Základní:

  • MAŘÍK, V. a kol. Umělá inteligence , díl III, kap. 4
  • RUSSELL, S.J., NORVIG, P. Artificial Intelligence: A Modern Approach, kap. 2

Doporučená:

Užitečné odkazy: