Aplicando Expected SARSA
Agora você vai aplicar o algoritmo Expected SARSA em um ambiente personalizado, como mostrado abaixo, em que o objetivo é fazer um agente navegar por uma grade para alcançar o objetivo o mais rápido possível. As mesmas regras de antes se aplicam: o agente recebe uma recompensa de +10 ao alcançar o diamante, -2 ao passar por uma montanha e -1 para qualquer outro estado.

O ambiente foi importado como env.
Este exercício faz parte do curso
Reinforcement Learning com Gymnasium em Python
Instruções do exercício
- Inicialize a Q-table
Qcom zeros para cada par estado-ação. - Atualize a Q-table usando a função
update_q_table(). - Extraia a policy como um dicionário a partir da Q-table aprendida.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
state, info = env.reset()
done = False
while not done:
action = env.action_space.sample()
next_state, reward, done, truncated, info = env.step(action)
# Update the Q-table
____
state = next_state
# Derive policy from Q-table
policy = {state: ____ for state in range(____)}
render_policy(policy)