Expected SARSA anwenden
Jetzt wendest du den Expected-SARSA-Algorithmus in einer benutzerdefinierten Umgebung an, wie unten gezeigt. Ziel ist es, einen Agenten durch ein Raster zu navigieren, damit er das Ziel so schnell wie möglich erreicht. Es gelten die gleichen Regeln wie zuvor: Der Agent erhält eine Belohnung von +10 beim Erreichen des Diamanten, -2 beim Durchqueren eines Bergfeldes und -1 für jeden anderen Zustand.

Die Umgebung wurde als env importiert.
Diese Übung ist Teil des Kurses
Reinforcement Learning mit Gymnasium in Python
Anleitung zur Übung
- Initialisiere die Q-Tabelle
Qmit Nullen für jedes Zustands-Aktions-Paar. - Aktualisiere die Q-Tabelle mit der Funktion
update_q_table(). - Leite die Policy als Dictionary aus der gelernten Q-Tabelle ab.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
state, info = env.reset()
done = False
while not done:
action = env.action_space.sample()
next_state, reward, done, truncated, info = env.step(action)
# Update the Q-table
____
state = next_state
# Derive policy from Q-table
policy = {state: ____ for state in range(____)}
render_policy(policy)