Aplicar Double Q-learning
En este ejercicio vas a aplicar el algoritmo Double Q-learning en el mismo entorno personalizado que resolviste con Expected SARSA para comparar las diferencias. Double Q-learning, al usar dos Q-tables, ayuda a reducir el sesgo de sobreestimación inherente al algoritmo Q-learning tradicional y ofrece más estabilidad en el aprendizaje que otros métodos de diferencia temporal. Usarás este método para navegar por el entorno en rejilla, buscando la mayor recompensa mientras evitas las montañas para alcanzar el objetivo lo antes posible.

Este ejercicio forma parte del curso
Reinforcement Learning con Gymnasium en Python
Instrucciones del ejercicio
- Actualiza las Q-tables usando la función
update_q_tables()que programaste en el ejercicio anterior. - Combina las Q-tables sumándolas.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)