Implementera SARSA-uppdateringsregeln
SARSA är en on-policy-algoritm inom RL som uppdaterar aktionsvärdesfunktionen baserat på den åtgärd som vidtas och den åtgärd som väljs i nästa tillstånd. Metoden gör det möjligt att lära sig värdet av inte bara det aktuella tillstånd-åtgärdsparet, utan även det efterföljande – vilket ger ett sätt att lära sig policyer som tar hänsyn till framtida åtgärder. SARSA-uppdateringsregeln visas nedan, och din uppgift är att implementera en funktion som uppdaterar en Q-tabell enligt denna regel.
NumPy-biblioteket har importerats åt dig som np.

Den här övningen är en del av kursen
Reinforcement Learning med Gymnasium i Python
Övningsinstruktioner
- Hämta det aktuella Q-värdet för det givna tillstånd-åtgärdsparet.
- Hitta Q-värdet för nästa tillstånd-åtgärdspar.
- Uppdatera Q-värdet för det aktuella tillstånd-åtgärdsparet med hjälp av SARSA-formeln.
- Uppdatera Q-tabellen
Q, givet att en agent utför åtgärd0i tillstånd0, får en belöning på5, förflyttas till tillstånd1och utför åtgärd1.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)