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
Instruções do exercício
- Implemente todo o loop de treinamento escolhendo uma
action, executando-a, acumulando arewardrecebida emepisode_rewarde atualizando a Q-table. - Reduza
epsilonusando a taxaepsilon_decay, garantindo que ele não fique abaixo demin_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))