Évaluer une politique sur un lac glacé glissant
Dans un environnement Frozen Lake glissant, déduire simplement la politique à partir d'une table Q apprise ne suffit pas pour en évaluer l'efficacité. Pour juger correctement 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 établie en suivant une politique aléatoire durant l'entraînement. Votre tâche consiste à exécuter la politique apprise sur plusieurs épisodes et à analyser sa performance à partir des récompenses moyennes récoltées, en la comparant aux récompenses moyennes obtenues durant la phase avec politique aléatoire.
La table Q 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.
Cette activité fait partie du cours
Reinforcement Learning avec Gymnasium en Python
Instructions de l’exercice
- À chaque itération, sélectionnez la meilleure action à entreprendre selon la table Q apprise
Q. - Calculez la récompense moyenne par épisode appris
avg_reward_per_learned_episode.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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: ", ____)