IniziaInizia gratis

Applicare Expected SARSA

Ora applicherai l'algoritmo Expected SARSA in un ambiente personalizzato come mostrato qui sotto, in cui l'obiettivo è far navigare un agente in una griglia per raggiungere il traguardo il più rapidamente possibile. Valgono le stesse regole di prima: l'agente riceve una ricompensa di +10 quando raggiunge il diamante, -2 quando attraversa una montagna e -1 per ogni altro stato.

new_cust_env.png

L'ambiente è stato importato come env.

Questo esercizio fa parte del corso

Reinforcement Learning con Gymnasium in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Inizializza la Q-table Q con zeri per ogni coppia stato-azione.
  • Aggiorna la Q-table usando la funzione update_q_table().
  • Estrai la policy come dizionario dalla Q-table appresa.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice