Eine Policy verbessern
In der vorherigen Übung hast du die Q-Werte für jedes Zustands-Aktions-Paar in der Umgebung MyGridWorld berechnet. Jetzt verwendest du diese Q-Werte, um die bestehende Policy zu verbessern. Policy-Verbesserung ist ein zentraler Schritt im Reinforcement Learning: Du verbesserst die Policy, indem du in jedem Zustand die Aktionen wählst, die den erwarteten Nutzen (Q-Wert) maximieren. Nachdem du die Policy verbessert hast, wirst du die neuen Bewegungen gemäß dieser verbesserten Policy rendern.
Die Umgebung wurde als env importiert, zusammen mit den Q-Werten als Q sowie der Funktion render().
Diese Übung ist Teil des Kurses
Reinforcement Learning mit Gymnasium in Python
Anleitung zur Übung
- Finde für jeden Zustand die beste Aktion basierend auf den Q-Werten.
- Wähle die richtige
actionbasierend auf derimproved_policy. - Führe die ausgewählte
actionaus, um das Ergebnis zu beobachten.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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()