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