Appliquer le Double Q-learning
Dans cet exercice, vous allez appliquer l'algorithme de Double Q-learning dans le même environnement personnalisé que vous avez résolu avec Expected SARSA pour comparer les deux approches. Le Double Q-learning, grâce à l'utilisation de deux tables Q, réduit le biais de surestimation propre au Q-learning classique et offre une stabilité d'apprentissage supérieure aux autres méthodes à différence temporelle. Vous utiliserez cette méthode pour vous déplacer dans la grille, viser la récompense maximale et éviter les montagnes afin d'atteindre l'objectif le plus rapidement possible.

Cette activité fait partie du cours
Reinforcement Learning avec Gymnasium en Python
Instructions de l’exercice
- Mettez à jour les tables Q à l'aide de la fonction
update_q_tables()que vous avez codée à l'exercice précédent. - Combinez les tables Q en les additionnant.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
Q = [np.zeros((num_states, num_actions))] * 2
for episode in range(num_episodes):
state, info = env.reset()
terminated = False
while not terminated:
action = np.random.choice(num_actions)
next_state, reward, terminated, truncated, info = env.step(action)
# Update the Q-tables
____
state = next_state
# Combine the learned Q-tables
Q = ____
policy = {state: np.argmax(Q[state]) for state in range(num_states)}
render_policy(policy)