LoslegenKostenlos loslegen

Episodenerzeugung für Monte-Carlo-Methoden

Monte-Carlo-Methoden benötigen erzeugte Episoden, um die Wertfunktion abzuleiten. Deshalb implementierst du jetzt eine Funktion, die Episoden generiert, indem sie zufällig Aktionen auswählt, bis eine Episode endet. In späteren Aufgaben wirst du diese Funktion aufrufen, um Monte-Carlo-Methoden auf die für dich vorab geladene benutzerdefinierte Umgebung env anzuwenden.

Die Funktion render() ist für dich vorab geladen.

Diese Übung ist Teil des Kurses

Reinforcement Learning mit Gymnasium in Python

Kurs anzeigen

Anleitung zur Übung

  • Setze die Umgebung mit einem seed von 42 zurück.
  • Wähle in der Episoden-Schleife in jeder Iteration eine zufällige action.
  • Sobald eine Iteration endet, aktualisiere die Episoden-Daten, indem du das Tupel (state, action, reward) hinzufügst.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

def generate_episode():
    episode = []
    # Reset the environment
    state, info = ____
    terminated = False
    while not terminated:
      # Select a random action
      action = ____
      next_state, reward, terminated, truncated, info = env.step(action)
      render()
      # Update episode data
      episode.____(____)
      state = next_state
    return episode
print(generate_episode())
Code bearbeiten und ausführen