Implementace aktualizačního pravidla SARSA
SARSA je on-policy algoritmus v RL, který aktualizuje funkci hodnoty akce na základě provedené akce a akce zvolené v dalším stavu. Tento přístup umožňuje učit se hodnotu nejen aktuální dvojice stav–akce, ale i té následující, a tím nacházet strategie, které zohledňují budoucí akce. Níže je zobrazeno aktualizační pravidlo SARSA – tvým úkolem je implementovat funkci, která podle tohoto pravidla aktualizuje Q-tabulku.
Knihovna NumPy je dostupná jako np.

Toto cvičení je součástí kurzu
Reinforcement Learning with Gymnasium in Python
Pokyny k cvičení
- Načti aktuální Q-hodnotu pro danou dvojici stav–akce.
- Zjisti Q-hodnotu pro následující dvojici stav–akce.
- Aktualizuj Q-hodnotu aktuální dvojice stav–akce pomocí vzorce SARSA.
- Aktualizuj Q-tabulku
Qpro situaci, kdy agent provede akci0ve stavu0, obdrží odměnu5, přejde do stavu1a provede akci1.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
def update_q_table(state, action, reward, next_state, next_action):
# Get the old value of the current state-action pair
old_value = ____
# Get the value of the next state-action pair
next_value = ____
# Compute the new value of the current state-action pair
Q[(state, action)] = ____
alpha = 0.1
gamma = 0.8
Q = np.array([[10,0],[0,20]], dtype='float32')
# Update the Q-table for the ('state1', 'action1') pair
____
print(Q)