LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Finde für jeden Zustand die beste Aktion basierend auf den Q-Werten.
  • Wähle die richtige action basierend auf der improved_policy.
  • Führe die ausgewählte action aus, 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()
Code bearbeiten und ausführen