ComenzarEmpieza gratis

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

Ver curso

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: ", ____)
Editar y ejecutar código