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