Aan de slagGa gratis aan de slag

Q-waarden berekenen

Je doel is om de actie-waarden, ook wel Q-waarden genoemd, te berekenen voor elk toestands-actiepaar in de aangepaste MyGridWorld-omgeving volgens het onderstaande beleid. In RL zijn Q-waarden essentieel, omdat ze de verwachte opbrengst weergeven van het uitvoeren van een specifieke actie in een gegeven toestand, gevolgd door het blijven volgen van het beleid.

exercise_policy.png

De omgeving is geïmporteerd als env, samen met de functie compute_state_value() en de benodigde variabelen (terminal_state, num_states, num_actions, policy, gamma).

Deze oefening maakt deel uit van de cursus

Reinforcement Learning met Gymnasium in Python

Cursus bekijken

Oefeninstructies

  • Maak de functie compute_q_value() af om de actie-waarde te berekenen voor een gegeven state en action.
  • Maak een dictionary Q waarin elke sleutel een toestands-actiepaar voorstelt en de bijbehorende waarde de Q-waarde voor dat paar is.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Complete the function to compute the action-value for a state-action pair
def compute_q_value(state, action):
    if state == terminal_state:
        return None   
    probability, next_state, reward, done = ____
    return ____

# Compute Q-values for each state-action pair
Q = {(____, ____): _____ for ____ in range(____) for ____ in range(____)}

print(Q)
Code bewerken en uitvoeren