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
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 lesvisited_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())