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
<Kurs>Reinforcement Learning mit Gymnasium in Python</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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)