Difference between revisions of "Markov decision process/cs"
Line 50: | Line 50: | ||
− | = | + | =Zdroje= |
+ | ==Reference== | ||
<references/> | <references/> | ||
+ | ==Doplňující literatura== | ||
+ | Piunovskiy, Alexey B. 2012. Examples In Markov Decision Processes. Singapore: World Scientific Publishing Company. ProQuest Ebook Central. | ||
+ | |||
+ | Feinberg E., Shwartz A. 2012. Handbook of Markov decision processes: methods and applications. Springer-Verlag New York Inc. | ||
+ | ==Videa== | ||
+ | [https://www.coursera.org/lecture/fundamentals-of-reinforcement-learning/markov-decision-processes-8T0GQ Coursera - Markov Decision Processes] | ||
+ | |||
+ | [https://www.coursera.org/lecture/fundamentals-of-reinforcement-learning/examples-of-mdps-ACRYv Coursera - Examples of MDPs] | ||
+ | |||
+ | [https://www.youtube.com/watch?v=my207WNoeyA Markov Decision Processes (MDPs) - Structuring a Reinforcement Learning Problem] |
Revision as of 13:06, 12 June 2020
Contents
Úvod
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:
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.
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]
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.
Zdroje
Reference
- ↑ 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.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
- ↑ 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.0 4.1 IBE, Oliver. Markov Processes for Stochastic Modeling. Saint Louis: Elsevier. 2013. ProQuest Ebook Central
- ↑ 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.
Doplňující literatura
Piunovskiy, Alexey B. 2012. Examples In Markov Decision Processes. Singapore: World Scientific Publishing Company. ProQuest Ebook Central.
Feinberg E., Shwartz A. 2012. Handbook of Markov decision processes: methods and applications. Springer-Verlag New York Inc.
Videa
Coursera - Markov Decision Processes
Markov Decision Processes (MDPs) - Structuring a Reinforcement Learning Problem