Evaluar la política en un Frozen Lake resbaladizo
En un entorno Frozen Lake resbaladizo, deducir la política a partir de una Q-table aprendida no basta para medir su eficacia. Para evaluar con precisión si una política aprendida es adecuada, debes jugar múltiples episodios y observar la recompensa media obtenida. En este ejercicio se compara la eficacia de la política aprendida frente a una línea base establecida siguiendo una política aleatoria durante el entrenamiento. Tu tarea es ejecutar la política aprendida a lo largo de varios episodios y analizar su rendimiento en función de las recompensas medias obtenidas, contrastándolo con las recompensas medias recogidas durante la fase con política aleatoria.
La Q-table Q, num_states, num_actions y avg_reward_per_random_episode ya están cargadas para ti.
La biblioteca NumPy se ha importado como np.
Este ejercicio forma parte del curso
Reinforcement Learning con Gymnasium en Python
Instrucciones del ejercicio
- En cada iteración, selecciona la mejor acción que tomar basándote en la Q-table aprendida
Q. - Calcula la recompensa media por episodio aprendido
avg_reward_per_learned_episode.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
for episode in range(10000):
state, info = env.reset()
terminated = False
episode_reward = 0
while not terminated:
# Select the best action based on learned Q-table
action = ____
new_state, reward, terminated, truncated, info = env.step(action)
state = new_state
episode_reward += reward
reward_per_learned_episode.append(episode_reward)
# Compute and print the average reward per learned episode
avg_reward_per_learned_episode = ____
print("Average reward per learned episode: ", avg_reward_per_learned_episode)
print("Average reward per random episode: ", ____)