Implementar la regla de actualización SARSA
SARSA es un algoritmo on-policy en RL que actualiza la función valor-acción en función de la acción realizada y de la acción elegida en el siguiente estado. Este método ayuda a aprender el valor no solo del par estado-acción actual, sino también del siguiente, lo que permite aprender políticas que tienen en cuenta acciones futuras. Abajo tienes la regla de actualización de SARSA; tu tarea es implementar una función que actualice una Q-table siguiendo dicha regla.
La biblioteca NumPy ya se ha importado como np.

Este ejercicio forma parte del curso
Reinforcement Learning con Gymnasium en Python
Instrucciones del ejercicio
- Recupera el valor Q actual para el par estado-acción indicado.
- Busca el valor Q para el siguiente par estado-acción.
- Actualiza el valor Q del par estado-acción actual usando la fórmula de SARSA.
- Actualiza la Q-table
Q, dado que un agente realiza la acción0en el estado0, recibe una recompensa de5, pasa al estado1y ejecuta la acción1.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)