Začněte nyníZačněte zdarma

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.

Image showing the mathematical formula of the expected SARSA update rule.

Knihovna numpy je již naimportována jako np.

Toto cvičení je součástí kurzu

Reinforcement Learning with Gymnasium in Python

Zobrazit kurz

Pokyny k cvičení

  • Vypočítej očekávanou Q-hodnotu pro next_state.
  • Aktualizuj Q-hodnotu pro aktuální state a action pomocí vzorce Expected SARSA.
  • Aktualizuj Q-tabulku Q za předpokladu, že agent provede akci 1 ve stavu 2 a přejde do stavu 3, přičemž obdrží odměnu 5.

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)
Upravit a spustit kód