Toestandwaardes voor een policy berekenen
Gebruik dezelfde deterministische omgeving MyGridWorld. Je gaat nu de effectiviteit beoordelen van de policy die je in de vorige oefening hebt gedefinieerd. Dat doe je door voor elke toestand onder deze policy de state-valuefunctie te berekenen.
De omgeving is geïmporteerd als env, samen met de benodigde variabelen (terminal_state, num_states, policy, gamma).
Deze oefening maakt deel uit van de cursus
Reinforcement Learning met Gymnasium in Python
Oefeninstructies
- Maak de functie
compute_state_value()af om voor elke toestand de waarde te berekenen onder de gegeven policy. - Maak een
state_values-dictionary waarin elke sleutel destateis en elke waarde de toestandwaarde.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Complete the function
def compute_state_value(state):
if state == terminal_state:
return ____
action = ____
_, next_state, reward, _ = env.unwrapped.P[state][action][0]
return ____
# Compute all state values
state_values = {____: ____ for ____ in range(____)}
print(state_values)