Évaluer une politique sur un Frozen Lake glissant
Dans un environnement Frozen Lake glissant, se contenter de déduire la politique à partir d’une Q-table apprise ne suffit pas pour évaluer son efficacité. Pour juger avec précision la pertinence d’une politique apprise, vous devez jouer plusieurs épisodes et observer la récompense moyenne obtenue. Cet exercice compare l’efficacité de la politique apprise à une référence obtenue en suivant une politique aléatoire pendant l’entraînement. Votre tâche consiste à exécuter la politique apprise sur plusieurs épisodes et à analyser ses performances à partir des récompenses moyennes collectées, puis à les comparer aux récompenses moyennes collectées durant la phase avec politique aléatoire.
La Q-table Q, num_states, num_actions et avg_reward_per_random_episode ont été préchargées pour vous.
La bibliothèque NumPy a été importée sous le nom np.
Cet exercice fait partie du cours
Reinforcement Learning avec Gymnasium en Python
Instructions
- À chaque itération, sélectionnez la meilleure action à entreprendre en vous basant sur la Q-table apprise
Q. - Calculez la récompense moyenne par épisode appris
avg_reward_per_learned_episode.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
for episode in range(10000):
state, info = env.reset()
terminated = False
episode_reward = 0
while not terminated:
# Select the best action based on learned Q-table
action = ____
new_state, reward, terminated, truncated, info = env.step(action)
state = new_state
episode_reward += reward
reward_per_learned_episode.append(episode_reward)
# Compute and print the average reward per learned episode
avg_reward_per_learned_episode = ____
print("Average reward per learned episode: ", avg_reward_per_learned_episode)
print("Average reward per random episode: ", ____)