ComenzarEmpieza gratis

Resolver Frozen Lake 8x8 con Q-learning

En este ejercicio, aplicarás el algoritmo de Q-learning para aprender una política óptima que navegue por el entorno Frozen Lake de 8x8, esta vez con la condición de "slippery" activada. Este reto introduce transiciones estocásticas, lo que hace que el movimiento del agente sea impredecible y se acerque más a escenarios del mundo real.

Se ha inicializado y precargado para ti una Q-table Q, junto con la función update_q_table() del ejercicio anterior y una lista vacía rewards_per_episode que contendrá la recompensa total acumulada en cada episodio.

Este ejercicio forma parte del curso

Reinforcement Learning con Gymnasium en Python

Ver curso

Instrucciones del ejercicio

  • En cada episodio, ejecuta la acción seleccionada y observa la recompensa y el siguiente estado.
  • Actualiza la Q-table.
  • Agrega total_reward a la lista rewards_per_episode.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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