CommencerCommencer gratuitement

Implémenter la méthode Monte Carlo en première visite

L’objectif des algorithmes Monte Carlo est d’estimer la Q-table afin d’en déduire une politique optimale. Dans cet exercice, vous allez implémenter la méthode Monte Carlo en première visite pour estimer la fonction de valeur d’action Q, puis calculer la politique optimale pour résoudre l’environnement personnalisé que vous avez vu dans l’exercice précédent. Lors du calcul du retour, supposez un facteur d’actualisation égal à 1.

Les tableaux numpy Q, returns_sum et returns_count, qui stockent respectivement les Q-values, la somme cumulée des récompenses et le nombre de visites pour chaque paire état–action, ont été initialisés et préchargés pour vous.

Cet exercice fait partie du cours

Reinforcement Learning avec Gymnasium en Python

Afficher le cours

Instructions

  • Définissez la condition if à tester dans l’algorithme Monte Carlo en première visite.
  • Mettez à jour les retours (returns_sum), leur nombre (returns_count) et les visited_states.

Exercice interactif pratique

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

for i in range(100):
  episode = generate_episode()
  visited_states = set()
  for j, (state, action, reward) in enumerate(episode):
    # Define the first-visit condition
    if ____ not in ____:
      # Update the returns, their counts and the visited states
      returns_sum[state, action] += ____([____ for ____ in ____])
      returns_count[state, action] += ____
      visited_states.____(____)

nonzero_counts = returns_count != 0

Q[nonzero_counts] = returns_sum[nonzero_counts] / returns_count[nonzero_counts]
render_policy(get_policy())
Modifier et exécuter le code