ComenzarEmpieza gratis

Regla de actualización de Expected SARSA

En este ejercicio, vas a implementar la regla de actualización de Expected SARSA, un algoritmo de diferencia temporal de RL sin modelo. Expected SARSA estima el valor esperado de la política actual promediando sobre todas las acciones posibles, lo que proporciona un objetivo de actualización más estable que SARSA. Las fórmulas usadas en Expected SARSA están a continuación.

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

La biblioteca numpy se ha importado como np.

Este ejercicio forma parte del curso

Reinforcement Learning con Gymnasium en Python

Ver curso

Instrucciones del ejercicio

  • Calcula el valor Q esperado para next_state.
  • Actualiza el valor Q para el state y action actuales usando la fórmula de Expected SARSA.
  • Actualiza la tabla Q Q suponiendo que un agente toma la acción 1 en el estado 2 y pasa al estado 3, recibiendo una recompensa de 5.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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