Aan de slagGa gratis aan de slag

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

Cursus bekijken

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 de state is 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)
Code bewerken en uitvoeren