ComeçarComece de graça

Resolvendo CliffWalking com estratégia epsilon-greedy com decaimento

Aprimorando a estratégia epsilon-greedy, introduzimos um fator de decaimento para reduzir gradualmente a taxa de exploração, epsilon, à medida que o agente aprende mais sobre o ambiente. Essa abordagem estimula a exploração nas etapas iniciais e a exploração do conhecimento adquirido conforme o agente se familiariza com o ambiente. Agora, você vai aplicar essa estratégia para resolver o ambiente CliffWalking.

O ambiente foi inicializado e pode ser acessado pela variável env. As variáveis epsilon, min_epsilon e epsilon_decay já foram definidas para você. As funções epsilon_greedy() e update_q_table() foram importadas.

Este exercício faz parte do curso

Reinforcement Learning com Gymnasium em Python

Ver curso

Instruções do exercício

  • Implemente todo o loop de treinamento escolhendo uma action, executando-a, acumulando a reward recebida em episode_reward e atualizando a Q-table.
  • Reduza epsilon usando a taxa epsilon_decay, garantindo que ele não fique abaixo de min_epsilon.

Exercício interativo prático

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

rewards_decay_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Implement the training loop
        action = ____
        new_state, reward, terminated, truncated, info = ____
        episode_reward += ____       
        ____      
        state = new_state
    rewards_decay_eps_greedy.append(episode_reward)
    # Update epsilon
    epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))
Editar e executar o código