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.

De omgeving is geïmporteerd als env.
Deze oefening maakt deel uit van de cursus
Reinforcement Learning met Gymnasium in Python
Oefeninstructies
- Initialiseer de Q-tabel
Qmet 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)