CommencezCommencez gratuitement

Implémenter le Monte Carlo « first-visit »

L'objectif des algorithmes de Monte Carlo est d'estimer la table Q pour en déduire une stratégie optimale. Dans cet exercice, vous allez implémenter la méthode Monte Carlo « first-visit » pour estimer la fonction valeur d'action Q, puis calculer la stratégie optimale afin de résoudre l'environnement personnalisé que vous avez vu à l'exercice précédent. Lorsque vous calculez le retour, supposez un facteur d'actualisation égal à 1.

Les tableaux numpy Q, returns_sum et returns_count, qui stockent respectivement les valeurs Q, 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.

Cette activité fait partie du cours

Reinforcement Learning avec Gymnasium en Python

Voir le cours

Instructions de l’exercice

  • Définissez la condition if à vérifier dans l'algorithme Monte Carlo « first-visit ».
  • Mettez à jour les retours (returns_sum), leur nombre (returns_count) et les visited_states.

Exercice interactif pratique

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

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