Aktualizační pravidlo Expected SARSA
V tomto cvičení implementuješ aktualizační pravidlo Expected SARSA – temporálně-diferenční bezmodelový RL algoritmus. Expected SARSA odhaduje očekávanou hodnotu aktuální politiky průměrováním přes všechny možné akce, což zajišťuje stabilnější cílovou hodnotu aktualizace ve srovnání se SARSA. Vzorce používané v Expected SARSA najdeš níže.

Knihovna numpy je již naimportována jako np.
Toto cvičení je součástí kurzu
Reinforcement Learning with Gymnasium in Python
Pokyny k cvičení
- Vypočítej očekávanou Q-hodnotu pro
next_state. - Aktualizuj Q-hodnotu pro aktuální
stateaactionpomocí vzorce Expected SARSA. - Aktualizuj Q-tabulku
Qza předpokladu, že agent provede akci1ve stavu2a přejde do stavu3, přičemž obdrží odměnu5.
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, next_state, reward):
# Calculate the expected Q-value for the next state
expected_q = ____
# Update the Q-value for the current state and action
Q[state, action] = ____
Q = np.random.rand(5, 2)
print("Old Q:\n", Q)
alpha = 0.1
gamma = 0.99
# Update the Q-table
update_q_table(____, ____, ____, ____)
print("Updated Q:\n", Q)