CommencerCommencer 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 de Machine Learning par renforcement sans modèle basé sur la différence temporelle. Expected SARSA estime la valeur attendue de la politique courante 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 montrant la formule mathématique de la règle de mise à jour Expected SARSA.

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

Cet exercice fait partie du cours

Reinforcement Learning avec Gymnasium en Python

Afficher le cours

Instructions

  • 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 cet exemple de code.

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