ComenzarEmpieza gratis

Aplicar Expected SARSA

Ahora vas a aplicar el algoritmo Expected SARSA en un entorno personalizado como el de abajo, donde el objetivo es que un agente recorra una cuadrícula y llegue a la meta lo antes posible. Se mantienen las mismas reglas de antes: el agente recibe una recompensa de +10 al llegar al diamante, -2 al pasar por una montaña y -1 en cualquier otro estado.

new_cust_env.png

El entorno se ha importado como env.

Este ejercicio forma parte del curso

Reinforcement Learning con Gymnasium en Python

Ver curso

Instrucciones del ejercicio

  • Inicializa la tabla Q Q con ceros para cada par estado-acción.
  • Actualiza la tabla Q usando la función update_q_table().
  • Extrae la policy como un diccionario a partir de la Q-table aprendida.

Ejercicio interactivo práctico

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

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