Difference between revisions of "Markov decision process/cs"

From Simulace.info
Jump to: navigation, search
Line 3: Line 3:
 
Nejistota je velice častým rysem obrovského množství modelů v různých oborech, od počítačové vědy, inženýrství a operačního výzkumu až po ekonomie. Často je nutné řešit problémy nebo přijímat rozhodnutí bez komplexních znalosti všech relevantních faktorů a bez znalosti jejich možného budoucího chování. Ve spoustě situacích výsledek částečně závisí na náhodnosti a částečně na rozhodování agenta. Proto je velice užitečné vytvořit rámec pro modelování toho, jak rozhodovat ve stochastickém prostředí. Příkladem takových modelů jsou Markovské procesy. Tyto procesy mají důležitou charakteristiku, která se spočívá v tom, že způsob, jakým se budou v budoucnu vyvíjet, závisí pouze na jejich současném stavu. To znamená, že každý proces je nezávislý na událostech z minulosti. Pomocí Markovských procesů lze modelovat celou řadu důležitých náhodných systémů, včetně biologických systémů a epidemiologie, finančních a fyzických systémů.<ref name="Zanini">ZANINI, Elena. <i>Markov Decision Processes.</i> [online] [cit. 2020-06-01] Dostupné z: https://www.lancaster.ac.uk/postgrad/zaninie/MDP.pdf/</ref>
 
Nejistota je velice častým rysem obrovského množství modelů v různých oborech, od počítačové vědy, inženýrství a operačního výzkumu až po ekonomie. Často je nutné řešit problémy nebo přijímat rozhodnutí bez komplexních znalosti všech relevantních faktorů a bez znalosti jejich možného budoucího chování. Ve spoustě situacích výsledek částečně závisí na náhodnosti a částečně na rozhodování agenta. Proto je velice užitečné vytvořit rámec pro modelování toho, jak rozhodovat ve stochastickém prostředí. Příkladem takových modelů jsou Markovské procesy. Tyto procesy mají důležitou charakteristiku, která se spočívá v tom, že způsob, jakým se budou v budoucnu vyvíjet, závisí pouze na jejich současném stavu. To znamená, že každý proces je nezávislý na událostech z minulosti. Pomocí Markovských procesů lze modelovat celou řadu důležitých náhodných systémů, včetně biologických systémů a epidemiologie, finančních a fyzických systémů.<ref name="Zanini">ZANINI, Elena. <i>Markov Decision Processes.</i> [online] [cit. 2020-06-01] Dostupné z: https://www.lancaster.ac.uk/postgrad/zaninie/MDP.pdf/</ref>
  
Markovův rozhodovací proces (v angličtině Markov decision process nebo MDP) je matematický model pro rozhodování za nejistoty. Model se používá v situacích, kdy jsou výsledky částečně náhodné a zároveň částečně záleží na rozhodnutích <ref name="4IT495">ŠALAMON, Tomáš. <i>Podklady k předmětu 4IT495 - Simulace systémů; VŠE - fakulta informatiky a statistiky. 10-Multiagent_systems_I_.pdf</i></ref>. MDP je obecnějším modelem (rozšířením) Markovských řetězců.<ref name="BP1">TŮMOVÁ, Jana. <i>Paralelní ověřování kvalitativních vlastností pravděpodobnostních modelů</i>. Brno,2006. Masarykova Univerzita, Fakulta informatiky. Vedoucí práce: Mgr. Jiří Barnat, Ph.D.</ref> Hlavní rozdíl je v přidání do modelu užitků a akcí. V MDP agent provádí posloupnost akcí, které transformují stav systému do jednoho z několika možných následných stavů. Každý možný následný stav má určitou míru pravděpodobnosti přechodu.<ref name="Ibe">IBE, Oliver. <i>Markov Processes for Stochastic Modeling. Saint Louis: Elsevier</i>. 2013. ProQuest Ebook Central</ref> Postup obsahuje zkoumání současného stavu a vykonaní akce. K řešení se obvykle používají algoritmy dynamického programování.<ref name="DP">STÁREK, Ivo. <i>Plánování cesty robota pomocí dynamického programování</i>. Brno,2009. Vysoké učení technické v Brně, Fakulta strojního inženýrství. Vedoucí práce: RNDr. Jiří Dvořák, CSc.</ref> Avšak nevýhodou metod dynamického programování je ten fakt, že prohledávají celý prostor stavů. Takový přistup může být velice náročným vzhledem k času a zdrojům. Dalším problémem je “Short-term vs. long-term problem” – to, co je vhodné z krátkodobého hlediska, může být nevhodné z dlouhodobého hlediska.<ref name="4IT495"/> Jedna z prvních publikací je “A Markovian Decision Process” z roku 1957, autorem je Richard Bellman. V současnosti MDP našlo uplatnění v různých disciplínách – robotika, automatické řízení, ekonomika, výroba atd.
+
Markovův rozhodovací proces (v angličtině Markov decision process nebo MDP) je matematický model pro rozhodování za nejistoty. Model se používá v situacích, kdy jsou výsledky částečně náhodné a zároveň částečně záleží na rozhodnutích <ref name="4IT495">ŠALAMON, Tomáš. <i>Podklady k předmětu 4IT495 - Simulace systémů; VŠE - fakulta informatiky a statistiky. 10-Multiagent_systems_I_.pdf</i></ref>. MDP je obecnějším modelem (rozšířením) [https://cs.wikipedia.org/wiki/Markov%C5%AFv_%C5%99et%C4%9Bzec Markovských řetězců].<ref name="BP1">TŮMOVÁ, Jana. <i>Paralelní ověřování kvalitativních vlastností pravděpodobnostních modelů</i>. Brno,2006. Masarykova Univerzita, Fakulta informatiky. Vedoucí práce: Mgr. Jiří Barnat, Ph.D.</ref> Hlavní rozdíl je v přidání do modelu užitků a akcí. V MDP agent provádí posloupnost akcí, které transformují stav systému do jednoho z několika možných následných stavů. Každý možný následný stav má určitou míru pravděpodobnosti přechodu.<ref name="Ibe">IBE, Oliver. <i>Markov Processes for Stochastic Modeling. Saint Louis: Elsevier</i>. 2013. ProQuest Ebook Central</ref> Postup obsahuje zkoumání současného stavu a vykonaní akce. K řešení se obvykle používají algoritmy [https://cs.wikipedia.org/wiki/Dynamick%C3%A9_programov%C3%A1n%C3%AD dynamického programování].<ref name="DP">STÁREK, Ivo. <i>Plánování cesty robota pomocí dynamického programování</i>. Brno,2009. Vysoké učení technické v Brně, Fakulta strojního inženýrství. Vedoucí práce: RNDr. Jiří Dvořák, CSc.</ref> Avšak nevýhodou metod dynamického programování je ten fakt, že prohledávají celý prostor stavů. Takový přistup může být velice náročným vzhledem k času a zdrojům. Dalším problémem je “Short-term vs. long-term problem” – to, co je vhodné z krátkodobého hlediska, může být nevhodné z dlouhodobého hlediska.<ref name="4IT495"/> Jedna z prvních publikací je “A Markovian Decision Process” z roku 1957, autorem je Richard Bellman. V současnosti MDP našlo uplatnění v různých disciplínách – robotika, automatické řízení, ekonomika, výroba atd.
 
=Definice=
 
=Definice=
V této časti se soustředíme na konkrétnější definici a matematický vzore. Nutné zmínit, že existují různé formulace pro MDP, avšak klíčové aspekty jsou stejné. V MDP existuje “tvůrce rozhodnutí“, který se nazývá agent. Agent interaguje s prostředím, ve kterém je umístěn. K těmto interakcím dochází postupně. V každém kroku agent získává určitou reprezentaci stavu prostředí. Vzhledem k této reprezentaci agent vybere akci, kterou má provést. Prostředí je poté převedeno do nového stavu a agent dostává odměnu v důsledku předchozí akce.
+
V této časti se soustředíme na konkrétnější definici a matematický vzore. Nutné zmínit, že existují různé formulace pro MDP, avšak klíčové aspekty jsou stejné. V MDP existuje “tvůrce rozhodnutí“, který se nazývá [[Agents/cs|agent]]. Agent interaguje s [[Agent environments/cs|prostředím]], ve kterém je umístěn. K těmto interakcím dochází postupně. V každém kroku agent získává určitou reprezentaci stavu prostředí. Vzhledem k této reprezentaci agent vybere akci, kterou má provést. Prostředí je poté převedeno do nového stavu a agent dostává odměnu v důsledku předchozí akce.
  
 
Komponenty MDP:
 
Komponenty MDP:
Line 16: Line 16:
 
Proces výběru akce z daného stavu, přechodu do nového stavu a získání odměny se děje postupně znovu a znovu. Výsledkem je trajektorie/mapa, která ukazuje posloupnost stavů, akcí a odměn. V průběhu tohoto procesu je cílem agenta maximalizovat celkové množství odměn, které získává za provádění akcí. To znamená, že agent chce maximalizovat nejen okamžitou odměnu, ale kumulativní odměny, které dostává v průběhu času. Posledním nezbytným bodem je tranzitní (přechodová) funkce, která označuje pravděpodobnost přechodu z jednoho stavu do jiného při volbě určité akce.
 
Proces výběru akce z daného stavu, přechodu do nového stavu a získání odměny se děje postupně znovu a znovu. Výsledkem je trajektorie/mapa, která ukazuje posloupnost stavů, akcí a odměn. V průběhu tohoto procesu je cílem agenta maximalizovat celkové množství odměn, které získává za provádění akcí. To znamená, že agent chce maximalizovat nejen okamžitou odměnu, ale kumulativní odměny, které dostává v průběhu času. Posledním nezbytným bodem je tranzitní (přechodová) funkce, která označuje pravděpodobnost přechodu z jednoho stavu do jiného při volbě určité akce.
  
Markovův rozhodovací proces pak může být definován jako uspořádaná čtveřice prvků {S, A, T, R}, kde
+
Markovův rozhodovací proces pak může být definován jako [https://cs.wikipedia.org/wiki/Uspo%C5%99%C3%A1dan%C3%A1_n-tice uspořádaná čtveřice] prvků {S, A, T, R}, kde
 
* S – značí konečnou množinu stavů.
 
* S – značí konečnou množinu stavů.
 
* A – značí konečnou množinu akcí, pro každý stav je možno určit určitou množinu akcí.
 
* A – značí konečnou množinu akcí, pro každý stav je možno určit určitou množinu akcí.

Revision as of 12:47, 12 June 2020

Úvod

Andrej Markov – ruský matematik, zabýval se číselnou teorií, spojitými zlomky, řadami a zejména teorií pravděpodobnosti. Po Markovovi jsou nazvány Markovovy řetězce, Markovovy nerovnosti, Markovův rozhodovací proces, Markovův algoritmus, Gaussův-Markovův teorém a další

Nejistota je velice častým rysem obrovského množství modelů v různých oborech, od počítačové vědy, inženýrství a operačního výzkumu až po ekonomie. Často je nutné řešit problémy nebo přijímat rozhodnutí bez komplexních znalosti všech relevantních faktorů a bez znalosti jejich možného budoucího chování. Ve spoustě situacích výsledek částečně závisí na náhodnosti a částečně na rozhodování agenta. Proto je velice užitečné vytvořit rámec pro modelování toho, jak rozhodovat ve stochastickém prostředí. Příkladem takových modelů jsou Markovské procesy. Tyto procesy mají důležitou charakteristiku, která se spočívá v tom, že způsob, jakým se budou v budoucnu vyvíjet, závisí pouze na jejich současném stavu. To znamená, že každý proces je nezávislý na událostech z minulosti. Pomocí Markovských procesů lze modelovat celou řadu důležitých náhodných systémů, včetně biologických systémů a epidemiologie, finančních a fyzických systémů.[1]

Markovův rozhodovací proces (v angličtině Markov decision process nebo MDP) je matematický model pro rozhodování za nejistoty. Model se používá v situacích, kdy jsou výsledky částečně náhodné a zároveň částečně záleží na rozhodnutích [2]. MDP je obecnějším modelem (rozšířením) Markovských řetězců.[3] Hlavní rozdíl je v přidání do modelu užitků a akcí. V MDP agent provádí posloupnost akcí, které transformují stav systému do jednoho z několika možných následných stavů. Každý možný následný stav má určitou míru pravděpodobnosti přechodu.[4] Postup obsahuje zkoumání současného stavu a vykonaní akce. K řešení se obvykle používají algoritmy dynamického programování.[5] Avšak nevýhodou metod dynamického programování je ten fakt, že prohledávají celý prostor stavů. Takový přistup může být velice náročným vzhledem k času a zdrojům. Dalším problémem je “Short-term vs. long-term problem” – to, co je vhodné z krátkodobého hlediska, může být nevhodné z dlouhodobého hlediska.[2] Jedna z prvních publikací je “A Markovian Decision Process” z roku 1957, autorem je Richard Bellman. V současnosti MDP našlo uplatnění v různých disciplínách – robotika, automatické řízení, ekonomika, výroba atd.

Definice

V této časti se soustředíme na konkrétnější definici a matematický vzore. Nutné zmínit, že existují různé formulace pro MDP, avšak klíčové aspekty jsou stejné. V MDP existuje “tvůrce rozhodnutí“, který se nazývá agent. Agent interaguje s prostředím, ve kterém je umístěn. K těmto interakcím dochází postupně. V každém kroku agent získává určitou reprezentaci stavu prostředí. Vzhledem k této reprezentaci agent vybere akci, kterou má provést. Prostředí je poté převedeno do nového stavu a agent dostává odměnu v důsledku předchozí akce.

Komponenty MDP:

  • Agent
  • Prostředí
  • Stav
  • Akce
  • Odměna

Proces výběru akce z daného stavu, přechodu do nového stavu a získání odměny se děje postupně znovu a znovu. Výsledkem je trajektorie/mapa, která ukazuje posloupnost stavů, akcí a odměn. V průběhu tohoto procesu je cílem agenta maximalizovat celkové množství odměn, které získává za provádění akcí. To znamená, že agent chce maximalizovat nejen okamžitou odměnu, ale kumulativní odměny, které dostává v průběhu času. Posledním nezbytným bodem je tranzitní (přechodová) funkce, která označuje pravděpodobnost přechodu z jednoho stavu do jiného při volbě určité akce.

Markovův rozhodovací proces pak může být definován jako uspořádaná čtveřice prvků {S, A, T, R}, kde

  • S – značí konečnou množinu stavů.
  • A – značí konečnou množinu akcí, pro každý stav je možno určit určitou množinu akcí.
  • T – značí tranzitní (přechodovou) funkci nebo model, ve kterém T (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 S_t, a, S_{t+1}} ) je pravděpodobnost přechodu do stavu 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 S_{t+1}} při aplikaci akce na stav 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 S_t} .
  • R – značí okamžitý užitek dosažený po přechodu ze stavu 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 S_t} na stav 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 S_{t+1}} s pravděpodobností přechodu T (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 S_t , S_{t+1}} )

Agenti jen zřídka učiní jenom jedno rozhodnutí. Každé rozhodnutí má obvykle nějaké důsledky, vedoucí k dalším rozhodnutím, která vedou k dalším rozhodnutím atd. Cílem je vybrat strategii, která bude maximalizovat kumulativní funkci náhodných užitků. Metoda identifikující optimální strategii závisí na formě účelové funkce, tj. na optimalizačním kritériu. Volba vhodného kritéria závisí na povaze prostředí (např. jsou rozdílné při nekonečném nebo konečném horizontu)[5]

Algoritmy

Jelikož cílem MDP je poskytnout tvůrci rozhodnutí optimální politiku, která bude maximalizovat určitou kumulativní funkci odměn, v průběhu let vznikla řada metod. Avšak nejběžnějšími metodami, jak řešit Markovské rozhodovací procesy, jsou metody lineárního a dynamického programování. Právě metodám dynamického programování bude věnován následující text.

Přesné metody: Dynamické programování

Nejprve je třeba zavést několik předpokladů. Nechť je známa funkce přechodu a funkce odměny, takže cílem je získat politiku, která maximalizuje očekávanou diskontovanou odměnu. Algoritmus má jen dva druhy kroků, které jsou opakovány v určitém pořadí pro všechny stavy:

Dynamicke1.PNG

Dynamicke2.PNG

Iterace hodnot

Tento přistup navrhl Bellman v roce 1957 [4], přístup iterace hodnot, nazývaný také zpětná indukce. Algoritmus vypočítává očekávanou hodnotu každého stavu pomocí hodnoty sousedních stavů až do konvergence.

Algoritmus převzat z článku[1]

Iterace strategie

V této metodě se pracuje se vzorcem daném iterací hodnoty, pak se umožní strategii aktualizovat tak, že v akce provedená v každém stavu poskytuje minimální hodnotu pro nově vypočítané hodnoty sousedů tohoto stavu. Tento proces pokračuje, dokud existuje rozdíl mezi novou strategií a předcházející.[5]

Algoritmus převzat z článku[1]

Zpracování nejistoty: POMDP a přibližné metody

Hlavním předpokladem předchozích metod bylo to, že stavy jsou známé, stejně jako funkce distribuce akce. V reálném životě tomu tak často není. Zvláštní třída MDP – částečně pozorovatelný Markovův rozhodovací proces (POMDP) se zabývá případy, kdy aktuální stav není vždy znám.

Jiný druh nejistoty vzniká, když pravděpodobnosti nebo odměny nejsou známé. Populární oblastí, která se zabývá takovýmto problémem (zejména v oblasti umělé inteligence) je oblast zpětnovazebního učení. Síla zpětnovazebního učení leží v jeho schopnosti řešit Markovský rozhodovací proces bez výpočtu pravděpodobností přechodu.


Citace

  1. 1.0 1.1 1.2 ZANINI, Elena. Markov Decision Processes. [online] [cit. 2020-06-01] Dostupné z: https://www.lancaster.ac.uk/postgrad/zaninie/MDP.pdf/
  2. 2.0 2.1 ŠALAMON, Tomáš. Podklady k předmětu 4IT495 - Simulace systémů; VŠE - fakulta informatiky a statistiky. 10-Multiagent_systems_I_.pdf
  3. TŮMOVÁ, Jana. Paralelní ověřování kvalitativních vlastností pravděpodobnostních modelů. Brno,2006. Masarykova Univerzita, Fakulta informatiky. Vedoucí práce: Mgr. Jiří Barnat, Ph.D.
  4. 4.0 4.1 IBE, Oliver. Markov Processes for Stochastic Modeling. Saint Louis: Elsevier. 2013. ProQuest Ebook Central
  5. 5.0 5.1 5.2 STÁREK, Ivo. Plánování cesty robota pomocí dynamického programování. Brno,2009. Vysoké učení technické v Brně, Fakulta strojního inženýrství. Vedoucí práce: RNDr. Jiří Dvořák, CSc.