ComenzarEmpieza gratis

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.

Image showing the mathematical formula of the SARSA update rule.

Este ejercicio forma parte del curso

Reinforcement Learning con Gymnasium en Python

Ver curso

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ón 0 en el estado 0, recibe una recompensa de 5, pasa al estado 1 y ejecuta la acción 1.

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)
Editar y ejecutar código