Markovovy rozhodovací procesy

Reinforcement Learning with Gymnasium in Python

Fouad Trad

Machine Learning Engineer

MDP

  • Matematicky modeluje prostředí RL

Obrázek komplexního prostředí (chytré město) a komponent MDP: stavy, akce, odměny a pravděpodobnosti přechodů.

Reinforcement Learning with Gymnasium in Python

MDP

  • Matematicky modeluje prostředí RL

Diagram ukazující, jak z komplexního prostředí extrahujeme komponenty MDP (stavy, akce, odměny a pravděpodobnosti přechodů) k řešení pomocí technik RL s modelem.

Reinforcement Learning with Gymnasium in Python

Markovova vlastnost

  • Budoucí stav závisí pouze na aktuálním stavu a akci

Obrázek šachovnice s šipkami znázorňujícími možné tahy.

Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP

  • Agent musí dosáhnout cíle bez pádu do děr

Obrázek prostředí Frozen Lake.

Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP – stavy

  • Pozice, které může agent obsadit

Obrázek tří různých pozic agenta v prostředí Frozen Lake.

Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP – terminální stavy

  • Vedou k ukončení epizody

Obrázek zobrazující terminální stavy v prostředí Frozen Lake.

Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP – akce

  • Nahoru, dolů, doleva, doprava

Obrázek zobrazující akce ve Frozen Lake s popisky: 0–vlevo, 1–dolů, 2–vpravo, 3–nahoru.

Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP – přechody

  • Akce nevedou nutně k očekávaným výsledkům

Obrázek agenta v levém horním rohu mřížky Frozen Lake, který se snaží přesunout doprava.

Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP – přechody

  • Akce nevedou nutně k očekávaným výsledkům

Obrázek ukazující, že agent se může přesunout doprava.

Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP – přechody

  • Akce nevedou nutně k očekávaným výsledkům

Obrázek ukazující, že agent se může také přesunout dolů.

Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP – přechody

  • Akce nevedou nutně k očekávaným výsledkům

Obrázek ukazující, že agent může také zůstat na stejném místě.

Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP – přechody

  • Akce nevedou nutně k očekávaným výsledkům

Obrázek ukazující, že při pohybu doprava existují pravděpodobnosti přesunu vpravo, dolů nebo setrvání na místě.

  • Pravděpodobnosti přechodů: pravděpodobnost dosažení stavu při daném stavu a akci
Reinforcement Learning with Gymnasium in Python

Frozen Lake jako MDP – odměny

  • Odměna udělena pouze v cílovém stavu

Obrázek agenta v cílovém stavu.

Reinforcement Learning with Gymnasium in Python

Stavy a akce v Gymnasium

import gymnasium as gym


env = gym.make('FrozenLake', is_slippery=True)
print(env.action_space)
print(env.observation_space)
print("Number of actions: ", env.action_space.n)
print("Number of states: ", env.observation_space.n)
Discrete(4)

Discrete(16)
Number of actions: 4
Number of states: 16
Reinforcement Learning with Gymnasium in Python

Odměny a přechody v Gymnasium

env.unwrapped.P: slovník, jehož klíče jsou dvojice stav–akce

print(env.unwrapped.P[state][action])
[
  (probability_1, next_state_1, reward_1, is_terminal_1), 
  (probability_2, next_state_2, reward_2, is_terminal_2), 
  etc.
]
Reinforcement Learning with Gymnasium in Python

Odměny a přechody v Gymnasium – příklad

state = 6
action = 0

print(env.unwrapped.P[state][action])
[(0.3333333333333333, 2, 0.0, False), 
(0.3333333333333333, 5, 0.0, True), 
(0.3333333333333333, 10, 0.0, False)]

Obrázek s čísly akcí: 0–vlevo, 1–dolů, 2–vpravo, 3–nahoru.

Obrázek agenta ve stavu č. 6, přičemž stavy jsou číslovány zleva nahoře doprava dolů, řádek po řádku.

Reinforcement Learning with Gymnasium in Python

Lass uns üben!

Reinforcement Learning with Gymnasium in Python

Preparing Video For Download...