Lös CliffWalking med epsilon-girig strategi med avtagande epsilon
En förbättrad variant av den epsilon-giriga strategin introducerar en avtagandefaktor som gradvis minskar utforskningsgraden, epsilon, i takt med att agenten lär sig mer om miljön. Den här metoden uppmuntrar utforskning i de tidiga inlärningsfaserna och utnyttjande av den inlärda kunskapen i takt med att agenten blir mer bekant med miljön. Nu ska du tillämpa den här strategin för att lösa CliffWalking-miljön.
Miljön har initierats och kan nås via variabeln env. Variablerna epsilon, min_epsilon och epsilon_decay har fördefinieras åt dig. Funktionerna epsilon_greedy() och update_q_table() har importerats.
Den här övningen är en del av kursen
Reinforcement Learning med Gymnasium i Python
Övningsinstruktioner
- Implementera den fullständiga träningsslingan genom att välja en
action, utföra den, summera den mottagnarewardtillepisode_rewardoch uppdatera Q-tabellen. - Minska
epsilonmed hjälp avepsilon_decay-faktorn och se till att det inte sjunker undermin_epsilon.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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))