Die SARSA-Aktualisierungsregel implementieren
SARSA ist ein On-Policy-Algorithmus im RL, der die Aktionswertfunktion anhand der gewählten Aktion und der im nächsten Zustand ausgewählten Aktion aktualisiert. Dieses Verfahren hilft, nicht nur den Wert des aktuellen Zustand-Aktions-Paares zu lernen, sondern auch den des folgenden, und ermöglicht so das Erlernen von Policies, die zukünftige Aktionen berücksichtigen. Unten findest du die SARSA-Aktualisierungsregel; deine Aufgabe ist es, eine Funktion zu implementieren, die eine Q-Tabelle basierend auf dieser Regel aktualisiert.
Die NumPy-Bibliothek wurde als np importiert.

Diese Übung ist Teil des Kurses
Reinforcement Learning mit Gymnasium in Python
Anleitung zur Übung
- Hole den aktuellen Q-Wert für das gegebene Zustand-Aktions-Paar.
- Ermittle den Q-Wert für das nächste Zustand-Aktions-Paar.
- Aktualisiere den Q-Wert für das aktuelle Zustand-Aktions-Paar mithilfe der SARSA-Formel.
- Aktualisiere die Q-Tabelle
Q, gegeben, dass ein Agent in Zustand0die Aktion0ausführt, eine Belohnung von5erhält, zu Zustand1wechselt und dort Aktion1ausführt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
def update_q_table(state, action, reward, next_state, next_action):
# Get the old value of the current state-action pair
old_value = ____
# Get the value of the next state-action pair
next_value = ____
# Compute the new value of the current state-action pair
Q[(state, action)] = ____
alpha = 0.1
gamma = 0.8
Q = np.array([[10,0],[0,20]], dtype='float32')
# Update the Q-table for the ('state1', 'action1') pair
____
print(Q)