Implementare la regola di aggiornamento SARSA
SARSA è un algoritmo on-policy nell'RL che aggiorna la funzione valore-azione in base all'azione effettuata e all'azione selezionata nello stato successivo. Questo metodo aiuta a imparare il valore non solo della coppia stato-azione corrente ma anche di quella successiva, permettendo di apprendere politiche che considerano le azioni future. Di seguito trovi la regola di aggiornamento di SARSA: il tuo compito è implementare una funzione che aggiorni una Q-table seguendo questa regola.
La libreria NumPy è stata importata come np.

Questo esercizio fa parte del corso
Reinforcement Learning con Gymnasium in Python
Istruzioni dell'esercizio
- Recupera il valore Q corrente per la coppia stato-azione indicata.
- Trova il valore Q per la coppia stato-azione successiva.
- Aggiorna il valore Q della coppia stato-azione corrente usando la formula SARSA.
- Aggiorna la Q-table
Q, sapendo che un agente esegue l'azione0nello stato0, riceve una ricompensa di5, passa allo stato1ed esegue l'azione1.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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)