CliffWalking oplossen met de epsilon-greedystrategie
De CliffWalking-omgeving is een standaard testomgeving voor RL-algoritmen. Het is een grid-wereld waarin een agent een pad van een startstate naar een doelstate moet vinden en onderweg kliffen moet vermijden. Met de epsilon-greedystrategie kan de agent de omgeving effectief verkennen terwijl hij leert kliffen te mijden, zodat de cumulatieve beloning maximaal wordt. Jouw taak is om deze omgeving op te lossen met de epsilon-greedystrategie, de beloningen per trainingsepisode te berekenen en deze op te slaan in de lijst rewards_eps_greedy.
Deze oefening maakt deel uit van de cursus
Reinforcement Learning met Gymnasium in Python
Oefeninstructies
- Kies binnen een episode een
actionmet de functieepsilon_greedy(). - Tel de ontvangen
rewardop bij deepisode_reward. - Voeg na elke episode de totale
episode_rewardtoe aan de lijstrewards_eps_greedyvoor latere analyse.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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))