Een beleid verbeteren
In de vorige oefening heb je de Q-waarden berekend voor elk toestand-actie-paar in de MyGridWorld-omgeving. Nu ga je deze Q-waarden gebruiken om het bestaande beleid te verbeteren. Beleidsverbetering is een cruciale stap in reinforcement learning, waarbij je het beleid verbetert door acties te kiezen die in elke toestand de verwachte opbrengst (Q-waarde) maximaliseren. Na het verbeteren van het beleid render je de nieuwe bewegingen volgens dit verbeterde beleid.
De omgeving is geïmporteerd als env, samen met de Q-waarden als Q, en de functie render().
Deze oefening maakt deel uit van de cursus
Reinforcement Learning met Gymnasium in Python
Oefeninstructies
- Zoek de beste actie voor elke toestand op basis van Q-waarden.
- Selecteer de juiste
actionop basis van deimproved_policy. - Voer de geselecteerde
actionuit om het resultaat te bekijken.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
improved_policy = {}
for state in range(num_states-1):
# Find the best action for each state based on Q-values
max_action = ____
improved_policy[state] = max_action
terminated = False
while not terminated:
# Select action based on policy
action = ____
# Execute the action
state, reward, terminated, truncated, info = ____
render()