ComeçarComece de graça

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.

new_cust_env.png

O ambiente foi importado como env.

Este exercício faz parte do curso

Reinforcement Learning com Gymnasium em Python

Ver curso

Instruções do exercício

  • Inicialize a Q-table Q com 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)
Editar e executar o código