ComeçarComece de graça

Avaliando a política em um Frozen Lake escorregadio

Em um ambiente Frozen Lake escorregadio, apenas deduzir a política a partir de uma Q-table aprendida não é suficiente para avaliar sua efetividade. Para avaliar com precisão a adequação de uma política aprendida, você precisa jogar vários episódios, observando a recompensa média obtida. Este exercício compara a efetividade da política aprendida com uma linha de base estabelecida ao seguir uma política aleatória durante o treinamento. Sua tarefa é executar a política aprendida em vários episódios e analisar seu desempenho com base nas recompensas médias coletadas, contrastando com as recompensas médias coletadas durante a fase com política aleatória.

A Q-table Q, num_states, num_actions e avg_reward_per_random_episode já foram carregadas para você. A biblioteca NumPy foi importada como np.

Este exercício faz parte do curso

Reinforcement Learning com Gymnasium em Python

Ver curso

Instruções do exercício

  • Em cada iteração, selecione a melhor ação a ser tomada com base na Q-table aprendida Q.
  • Calcule a recompensa média por episódio aprendido avg_reward_per_learned_episode.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 e executar o código