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
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: ", ____)