8x8 Frozen Lake mit Q-Learning lösen
In dieser Übung wendest du den Q-Learning-Algorithmus an, um eine optimale Policy für die Navigation durch die 8x8-Frozen-Lake-Umgebung zu lernen – dieses Mal mit aktivierter „slippery“-Eigenschaft. Diese Herausforderung führt stochastische Übergänge ein, wodurch die Bewegungen des Agenten unvorhersehbar werden und reale Szenarien besser abgebildet werden.
Eine Q-Tabelle Q wurde bereits initialisiert und für dich geladen, ebenso die Funktion update_q_table() aus der vorherigen Übung und eine leere Liste rewards_per_episode, die die in jeder Episode aufsummierte Gesamtbelohnung enthalten wird.
Diese Übung ist Teil des Kurses
Reinforcement Learning mit Gymnasium in Python
Anleitung zur Übung
- Führe in jeder Episode die gewählte Aktion aus und beobachte die Belohnung sowie den nächsten Zustand.
- Aktualisiere die Q-Tabelle.
- Hänge
total_rewardan die Listerewards_per_episodean.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
for episode in range(10000):
state, info = env.reset()
total_reward = 0
terminated = False
while not terminated:
action = env.action_space.sample()
# Execute the action
next_state, reward, terminated, truncated, info = ____
# Update the Q-table
____
state = next_state
total_reward += reward
# Append the total reward to the rewards list
rewards_per_episode.____(____)
print("Average reward per random episode: ", np.mean(rewards_per_episode))