CliffWalking mit epsilon-gieriger Strategie lösen
Die CliffWalking-Umgebung ist ein Standard-Testfeld für RL-Algorithmen. Es handelt sich um eine Gitterwelt, in der ein Agent einen Weg vom Startzustand zum Zielzustand finden muss und dabei Klippen meidet. Mit der epsilon-gierigen Strategie kann der Agent die Umgebung effektiv erkunden und zugleich lernen, Klippen zu vermeiden, um die kumulative Belohnung zu maximieren. Deine Aufgabe ist es, diese Umgebung mit der epsilon-gierigen Strategie zu lösen, die in jeder Trainingsepisode erzielten Belohnungen zu berechnen und sie in der Liste rewards_eps_greedy zu speichern.
Diese Übung ist Teil des Kurses
Reinforcement Learning mit Gymnasium in Python
Anleitung zur Übung
- Wähle innerhalb einer Episode eine
actionmit der Funktionepsilon_greedy()aus. - Addiere die erhaltene
rewardzurepisode_reward. - Hänge nach jeder Episode die gesamte
episode_rewardzur späteren Analyse an die Listerewards_eps_greedyan.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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))