CommencerCommencer gratuitement

Mettre en œuvre la règle de mise à jour du double Q-learning

Le double Q-learning étend l’algorithme de Q-learning pour réduire la surestimation des valeurs d’action en maintenant et en mettant à jour deux tables Q distinctes. En dissociant la sélection de l’action de son évaluation, le double Q-learning fournit une estimation plus précise des valeurs de Q. Dans cet exercice, vous allez implémenter la règle de mise à jour du double Q-learning. Une liste Q contenant deux tables Q a été générée.

La bibliothèque numpy a été importée sous le nom np, et les valeurs de gamma et alpha ont été préchargées. Les formules de mise à jour sont ci-dessous :

Image showing the update rule of Q1.

Image showing the update rule of Q2.

Cet exercice fait partie du cours

Reinforcement Learning avec Gymnasium en Python

Afficher le cours

Instructions

  • Décidez aléatoirement quelle table Q dans Q sera mise à jour pour l’estimation de la valeur d’action en calculant son indice i.
  • Réalisez les étapes nécessaires pour mettre à jour Q[i].

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

Q = [np.random.rand(8,4), np.random.rand(8,4)] 
def update_q_tables(state, action, reward, next_state):
  	# Get the index of the table to update
    i = ____
    # Update Q[i]
    best_next_action = ____
    Q[i][state, action] = ____
Modifier et exécuter le code