ComenzarEmpieza gratis

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.

new_cust_env.png

Este ejercicio forma parte del curso

Reinforcement Learning con Gymnasium en Python

Ver curso

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)
Editar y ejecutar código