Resolvendo CliffWalking com estratégia epsilon-greedy
O ambiente CliffWalking é um testbed padrão para algoritmos de RL. É um grid world em que um agente deve encontrar um caminho do estado inicial até o estado objetivo, evitando penhascos pelo caminho. Usar a estratégia epsilon-greedy permite que o agente explore o ambiente de forma eficaz enquanto aprende a evitar penhascos, maximizando a recompensa acumulada. Sua tarefa é resolver esse ambiente usando a estratégia epsilon-greedy, calcular as recompensas obtidas em cada episódio de treinamento e salvá-las na lista rewards_eps_greedy.
Este exercício faz parte do curso
Reinforcement Learning com Gymnasium em Python
Instruções do exercício
- Dentro de um episódio, selecione uma
actionusando a funçãoepsilon_greedy(). - Some a
rewardrecebida aoepisode_reward. - Após cada episódio, adicione o
episode_rewardtotal à listarewards_eps_greedypara análise posterior.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
rewards_eps_greedy = []
for episode in range(total_episodes):
state, info = env.reset()
episode_reward = 0
for i in range(max_steps):
# Select action with epsilon-greedy strategy
action = ____
next_state, reward, terminated, truncated, info = env.step(action)
# Accumulate reward
____
update_q_table(state, action, reward, next_state)
state = next_state
# Append the toal reward to the rewards list
____
print("Average reward per episode: ", np.mean(rewards_eps_greedy))