Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Zoek de beste actie voor elke toestand op basis van Q-waarden.
  • Selecteer de juiste action op basis van de improved_policy.
  • Voer de geselecteerde action uit 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()
Code bewerken en uitvoeren