Difference between revisions of "Agent reasoning/cs"

From Simulace.info
Jump to: navigation, search
(Příklad)
Line 25: Line 25:
 
= Přístup podle cíle =
 
= Přístup podle cíle =
  
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů.
+
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů. <ref name="GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274."> GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.. Dostupné z: http://projects.laas.fr/planning/book.pdf</ref>
  
 
= Přístup podle užitku =
 
= Přístup podle užitku =
Line 37: Line 37:
 
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.
 
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.
  
Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky:
+
Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky <ref name="MARIK Ing., CSc. Radek - Czech Technical University - Classical Planning">MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf</ref>:
  
 
• '''Konečný systém''': konečný počet stavů, akcí a událostí
 
• '''Konečný systém''': konečný počet stavů, akcí a událostí
Line 62: Line 62:
 
== Příklady složitosti plánování podle cíle/užitku ==
 
== Příklady složitosti plánování podle cíle/užitku ==
  
[[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|300px|right|Vizualica problému sedmi mostů města Královce]]
+
[[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|300px|right|Vizualica problému sedmi mostů města Královce <ref name="MacTutor History of Mathematics archive"> MacTutor History of Mathematics archive [online]. Dostupné z: http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html</ref>]]
  
 
=== Sedm mostů města Královce ===
 
=== Sedm mostů města Královce ===
 
   
 
   
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou.  
+
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. <ref name="Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem"> Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem [online]. Dostupné z: https://www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem</ref>
  
 
Celkový počet možných stavů: '''64'''
 
Celkový počet možných stavů: '''64'''
Line 72: Line 72:
 
=== Rubikova kostka ===
 
=== Rubikova kostka ===
  
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 3<sup>7</sup> (orientace rohů) x 12!/2 (rozmístění hran) x 2<sup>11</sup> (orientace hran) = '''4.325 · 10<sup>19</sup>''' možných stavech
+
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 3<sup>7</sup> (orientace rohů) x 12!/2 (rozmístění hran) x 2<sup>11</sup> (orientace hran) = '''4.325 · 10<sup>19</sup>''' možných stavech <ref name="Analyzing Rubik's Cube with GAP"> Analyzing Rubik's Cube with GAP [online]. Dostupné z: http://www.gap-system.org/Doc/Examples/rubik.html</ref>
  
 
=== Přeprava nákladu ===
 
=== Přeprava nákladu ===
Line 129: Line 129:
  
 
Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat.
 
Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat.
 +
<ref name="ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů"> ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů</ref>
 +
 +
= Reference =

Revision as of 15:56, 5 June 2019


Uvažování agenta je proces, při kterém daný agent rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty.

Přístupy k uvažování agentů

Principy a přístupy k uvažování agentů se liší v závislosti na typu a složitosti agenta. Na složitosti použitého rozhodovacího přístupu také závisí nutný vypočetní výkon pro jeho realizaci a z toho plynoucí omezení v případě simulací většího rozsahu.

Reaktivní agenti

Reaktivní agenti jsou nejjednodušším typem agentů a při rozhodování používají primitivní IF-THEN logiku. Z tohoto důvodu jsou nejméně nároční na výpočetní výkon a vhodní pro masivní, ale jednoduché simulace.

Deliberativní agenti

Deliberativní agenti používají pro rozhodování složitější přístupy než prostá IF-THEN pravidla. Neexistuje dominantní přístup používaný pro uvažování deliberativních agentů. Základním dělením přístupů k uvažování těchto agentů je na základě čeho se rozhodují o provedení akcí.

Přístup podle cíle

Přístup podle užitku

Přístup podle vnitřní logiky

Přístup podle cíle

Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů. [1]

Přístup podle užitku

Agenti rozhodují o svých akcích podle toho, které jim přinesou největší užitek. Zatímco cílové založený přístup rozeznával pouze dva možné výsledky – úspěch a neúspěch (1 a 0), užitkově založený přístup může využít pro ohodnocení výsledku celou číselnou škálu.

Pro ohodnocení možných výsledků se používá užitková funkce:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle f: p(x) \rightarrow u ; u \in R}

Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.

Nejjednoduší případy jsou řešitelné jako Klasický plánovací problém. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky [2]:

Konečný systém: konečný počet stavů, akcí a událostí

Plně pozorovatelný: agent vždy vidí současný stav

Deterministický: každá akce má vždy jen jeden výsledek

Statický: model je ovlivňován pouze akcemi agenta

Dosažitelné cíle: existuje sada cílových stavů, do kterých se agent chce dostat

Posloupnost plánů: zkoumané plány jsou lineárně seřazené akce

Implicitní doby: akce netrvají žádný čas, model je vyjádřen jako sekvence okamžitých stavů

Off-line plánování: plánování probíhá před samotným provedením


Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálné a často není k celkové analyze dispozici potřebná výpočetní síla.

Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít Markovův rozhodovací proces.

Příklady složitosti plánování podle cíle/užitku

Vizualica problému sedmi mostů města Královce [3]

Sedm mostů města Královce

Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. [4]

Celkový počet možných stavů: 64

Rubikova kostka

Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 37 (orientace rohů) x 12!/2 (rozmístění hran) x 211 (orientace hran) = 4.325 · 1019 možných stavech [5]

Přeprava nákladu

• 10 letišť

• 50 letadel

• 200 kusů nákladu

Celkový počet možných stavů: 1050 x (50+10)200 = 10405

Problémy plánování podle cíle/užitku

Procházet všechny možné stavy evidentně není vůbec fyzicky možné a pří řešení je nutné využívat sofistikovanějších algoritmů. Dalším problémem přístupu podle užitku je vrozená subjektivnost hodnot, podle kterých se hodnotí užitek daného stavu v případech, kdy nemá výsledek přímou číselnou hodnotu (Pokud nám jde například o maximalizaci peněžního zisku či minimalizaci spotřeby materiálu, lze naopak užitek vyjádřit snadno). S tímto problémem souvisí další, určení v jakém časovém horizontu chceme užitkovost stavů zkoumat. Co je výhodné krátkodobě, nemusí být správné řešení dlouhodobě.

Přístup podle vnitřní logiky

Agenti se rozhodují na základě vnitřních logických pravidel. Přístup má kořeny v symbolické umělé inteligenci a je založen na logických pravidlech nad sadou známých výroků. Nechť S je sada logických výroků uložených agenty, které obsahují záznamy o stavu agentního prostředí a výsledky procesních funkcí. Nechť σ∈S je jeden logický výrok jako součást agentního prostředí. Nechť ρ je sada logických pravidel, které agent používá pro rozhodování. Nechť Ac je soubor všech možných akcí agenta a α∈Ac je jedna konkrétní akce. V každém kole rozhodování agent projde každý predikát z S a pokusí se odvodit Do(α) pro každou akci α∈Ac. V případě, že takovou akci najde, tak ji provede. V případě, že se vhodnou akci najít nepovede, pokusí se najít takovou, která není výslovně zakázána pro daný stav σ. Pokud takovou akci nenajde, neprovede žádnou akci.

Příklad

Agentem je řidič, který se rozhoduje jestli pojede rychleji než je předepsaná rychlost, nebo ne. Pokud jede pozdě, může se rozhodnout, že pojede rychleji. V takovém případě přijede včas, ale je šance, že ho zpozoruje fotoradar a bude muset zaplatit pokutu.

Pravidla, kterými se agent řídí

• Pokud má agent méně času než potřebuje na dojezd do cíle včas, tak je ve spěchu.

time left (X) ⋀ time needed (Y) ⋀ (X < Y) ⇒ hurry

• Pokud není agent ve spěchu, pojede pomalu.

¬hurry ⇒ Do(go slowly)

• Pokud je agent ve spěchu a je velká šance, že po cestě narazí na radar, pojede pomalu.

hurry ⋀ risk of radar(high) ⇒ Do(go slowly)

• Pokud je agent ve spěchu a je malá šance, že po cestě narazí na radar, pojede rychle.

hurry ⋀ risk of radar(low) ⇒ Do(go fast)

Průběh simulace

Na počátku je agentova sada stavů S prázdná.

Během jízdy agentovy vstupní funkce aktualizují S s následujícími parametry:

time left(20)

time needed(30)

risk of radar(low)

Agentův inferenční mechanismus rozhodne o vygenerování záznamu hurry. Akční funkce projde všechna pravidla a zjistí, že Do(go fast) je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat. [6]

Reference

  1. GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.. Dostupné z: http://projects.laas.fr/planning/book.pdf
  2. MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf
  3. MacTutor History of Mathematics archive [online]. Dostupné z: http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html
  4. Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem [online]. Dostupné z: https://www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem
  5. Analyzing Rubik's Cube with GAP [online]. Dostupné z: http://www.gap-system.org/Doc/Examples/rubik.html
  6. ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů