CommencerCommencer gratuitement

Résoudre Frozen Lake 8x8 avec Q-learning

Dans cet exercice, vous allez appliquer l’algorithme de Q-learning pour apprendre une politique optimale afin de naviguer dans l’environnement Frozen Lake 8x8, cette fois avec la condition « slippery » activée. Le défi introduit des transitions stochastiques, rendant les déplacements de l’agent imprévisibles et simulant ainsi de façon plus réaliste des situations du monde réel.

Une Q-table Q a été initialisée et préchargée pour vous, ainsi que la fonction update_q_table() de l’exercice précédent et une liste vide rewards_per_episode qui contiendra la récompense totale accumulée à chaque épisode.

Cet exercice fait partie du cours

Reinforcement Learning avec Gymnasium en Python

Afficher le cours

Instructions

  • Pour chaque épisode, exécutez l’action sélectionnée et observez la récompense et l’état suivant.
  • Mettez à jour la Q-table.
  • Ajoutez total_reward à la liste rewards_per_episode.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

for episode in range(10000):
    state, info = env.reset()
    total_reward = 0
    terminated = False
    while not terminated:
        action = env.action_space.sample()
        # Execute the action
        next_state, reward, terminated, truncated, info = ____
        # Update the Q-table
        ____
        state = next_state
        total_reward += reward
    # Append the total reward to the rewards list    
    rewards_per_episode.____(____)
print("Average reward per random episode: ", np.mean(rewards_per_episode))
Modifier et exécuter le code