Résoudre CliffWalking avec une stratégie epsilon-greedy
L’environnement CliffWalking est un banc d’essai standard pour les algorithmes de RL. Il s’agit d’un monde en grille où un agent doit trouver un chemin depuis un état de départ jusqu’à un état objectif, en évitant les falaises sur le parcours. L’utilisation de la stratégie epsilon-greedy permet à l’agent d’explorer efficacement l’environnement tout en apprenant à éviter les falaises, afin de maximiser la récompense cumulée. Votre objectif est de résoudre cet environnement avec la stratégie epsilon-greedy, de calculer les récompenses obtenues à chaque épisode d’entraînement et de les enregistrer dans la liste rewards_eps_greedy.
Cet exercice fait partie du cours
Reinforcement Learning avec Gymnasium en Python
Instructions
- Au sein d’un épisode, sélectionnez une
actionà l’aide de la fonctionepsilon_greedy(). - Additionnez la
rewardreçue àepisode_reward. - Après chaque épisode, ajoutez la valeur totale de
episode_rewardà la listerewards_eps_greedypour une analyse ultérieure.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
rewards_eps_greedy = []
for episode in range(total_episodes):
state, info = env.reset()
episode_reward = 0
for i in range(max_steps):
# Select action with epsilon-greedy strategy
action = ____
next_state, reward, terminated, truncated, info = env.step(action)
# Accumulate reward
____
update_q_table(state, action, reward, next_state)
state = next_state
# Append the toal reward to the rewards list
____
print("Average reward per episode: ", np.mean(rewards_eps_greedy))