CommencezCommencez gratuitement

Règle de mise à jour Expected SARSA

Dans cet exercice, vous allez implémenter la règle de mise à jour Expected SARSA, un algorithme d'apprentissage par différences temporelles de type model-free en Reinforcement Learning. Expected SARSA estime la valeur attendue de la stratégie actuelle en moyennant sur toutes les actions possibles, ce qui fournit une cible de mise à jour plus stable que SARSA. Les formules utilisées dans Expected SARSA sont présentées ci-dessous.

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

La bibliothèque numpy a été importée sous le nom np.

Cette activité fait partie du cours

Reinforcement Learning avec Gymnasium en Python

Voir le cours

Instructions de l’exercice

  • Calculez la valeur Q attendue pour next_state.
  • Mettez à jour la valeur Q pour l'state et l'action courants en utilisant la formule Expected SARSA.
  • Mettez à jour la table Q Q en supposant qu'un agent effectue l'action 1 dans l'état 2, passe à l'état 3 et reçoit une récompense de 5.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code