Aan de slagGa gratis aan de slag

Expected SARSA toepassen

Nu ga je het Expected SARSA-algoritme toepassen in een aangepaste omgeving zoals hieronder, waar het doel is om een agent door een raster te laten navigeren en zo snel mogelijk het doel te bereiken. Dezelfde regels als eerder gelden: de agent krijgt een beloning van +10 bij het bereiken van de diamant, -2 bij het passeren van een berg, en -1 voor elke andere state.

new_cust_env.png

De omgeving is geïmporteerd als env.

Deze oefening maakt deel uit van de cursus

Reinforcement Learning met Gymnasium in Python

Cursus bekijken

Oefeninstructies

  • Initialiseer de Q-tabel Q met nullen voor elk state-actionpaar.
  • Werk de Q-tabel bij met de functie update_q_table().
  • Haal de policy als een dictionary uit de geleerde Q-tabel.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren