CommencerCommencer gratuitement

Implémenter la value iteration

La value iteration est une méthode clé en RL pour trouver la politique optimale. Elle améliore itérativement la fonction de valeur pour chaque état jusqu’à convergence, ce qui permet de découvrir la politique optimale. Vous commencez avec une fonction de valeur V et une policy initialisées et déjà chargées pour vous. Ensuite, vous les mettrez à jour dans une boucle jusqu’à ce que la fonction de valeur converge, puis vous verrez la politique en action.

La fonction get_max_action_and_value(state, V) a été préchargée pour vous.

Cet exercice fait partie du cours

Reinforcement Learning avec Gymnasium en Python

Afficher le cours

Instructions

  • Pour chaque état, trouvez l’action avec la valeur de Q maximale (max_action) et sa valeur correspondante (max_q_value).
  • Mettez à jour le dictionnaire new_V et la policy en fonction de max_action et max_q_value.
  • Vérifiez la convergence en contrôlant que la différence entre new_v et V pour chaque état est inférieure à threshold.

Exercice interactif pratique

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

threshold = 0.001
while True:
  new_V = {}
  for state in range(num_states-1):
    # Get action with maximum Q-value and its value 
    max_action, max_q_value = ____
    # Update the value function and policy
    new_V[state] = ____
    policy[state] = ____
  # Test if change in state values is negligeable
  if all(abs(____ - ____) < ____ for state in ____):
    break
  V = new_V
render_policy(policy)
Modifier et exécuter le code