Kom igångKom igång gratis

Tillämpa Expected SARSA

Nu ska du tillämpa algoritmen Expected SARSA i en anpassad miljö enligt bilden nedan. Målet är att låta en agent navigera genom ett rutnät och nå sitt mål så snabbt som möjligt. Samma regler som tidigare gäller: agenten får +10 i belöning när den når diamanten, -2 när den passerar ett berg och -1 för alla andra tillstånd.

new_cust_env.png

Miljön har importerats som env.

Den här övningen är en del av kursen

Reinforcement Learning med Gymnasium i Python

Visa kurs

Övningsinstruktioner

  • Initialisera Q-tabellen Q med nollor för varje tillstånd-åtgärds-par.
  • Uppdatera Q-tabellen med hjälp av funktionen update_q_table().
  • Extrahera policyn som ett lexikon från den inlärda Q-tabellen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod