CommencerCommencer gratuitement

É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

Afficher le cours

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: ", ____)
Modifier et exécuter le code