LoslegenKostenlos loslegen

Expected-SARSA-Aktualisierungsregel

In dieser Übung implementierst du die Expected-SARSA-Aktualisierungsregel, einen modellfreien Temporal-Difference-Algorithmus im RL. Expected SARSA schätzt den erwarteten Wert der aktuellen Policy, indem es über alle möglichen Aktionen mittelt, und liefert damit ein stabileres Update-Ziel als SARSA. Die in Expected SARSA verwendeten Formeln findest du unten.

Image showing the mathematical formula of the expected SARSA update rule.

Die Bibliothek numpy wurde als np importiert.

Diese Übung ist Teil des Kurses

Reinforcement Learning mit Gymnasium in Python

Kurs anzeigen

Anleitung zur Übung

  • Berechne den erwarteten Q-Wert für den next_state.
  • Aktualisiere den Q-Wert für den aktuellen state und die action mit der Expected-SARSA-Formel.
  • Aktualisiere die Q-Tabelle Q, wobei ein Agent in Zustand 2 die Aktion 1 wählt, zu Zustand 3 wechselt und eine Belohnung von 5 erhält.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

def update_q_table(state, action, next_state, reward):
  	# Calculate the expected Q-value for the next state
    expected_q = ____
    # Update the Q-value for the current state and action
    Q[state, action] = ____
    
Q = np.random.rand(5, 2)
print("Old Q:\n", Q)
alpha = 0.1
gamma = 0.99

# Update the Q-table
update_q_table(____, ____, ____, ____)
print("Updated Q:\n", Q)
Code bearbeiten und ausführen