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
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_rewarda la listarewards_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))