Implementando a regra de atualização do SARSA
SARSA é um algoritmo on-policy em RL que atualiza a função valor-ação com base na ação executada e na ação selecionada no próximo estado. Esse método ajuda a aprender o valor não só do par estado-ação atual, mas também do seguinte, possibilitando aprender políticas que consideram ações futuras. A regra de atualização do SARSA está abaixo, e sua tarefa é implementar uma função que atualize uma Q-table com base nessa regra.
A biblioteca NumPy já foi importada como np.

Este exercício faz parte do curso
Reinforcement Learning com Gymnasium em Python
Instruções do exercício
- Recupere o valor-Q atual para o par estado-ação dado.
- Encontre o valor-Q para o próximo par estado-ação.
- Atualize o valor-Q do par estado-ação atual usando a fórmula do SARSA.
- Atualize a Q-table
Q, dado que um agente executa a ação0no estado0, recebe uma recompensa de5, vai para o estado1e realiza a ação1.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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)