LoslegenKostenlos loslegen

8x8 Frozen Lake mit Q-Learning lösen

In dieser Übung wendest du den Q-Learning-Algorithmus an, um eine optimale Policy für die Navigation durch die 8x8-Frozen-Lake-Umgebung zu lernen – dieses Mal mit aktivierter „slippery“-Eigenschaft. Diese Herausforderung führt stochastische Übergänge ein, wodurch die Bewegungen des Agenten unvorhersehbar werden und reale Szenarien besser abgebildet werden.

Eine Q-Tabelle Q wurde bereits initialisiert und für dich geladen, ebenso die Funktion update_q_table() aus der vorherigen Übung und eine leere Liste rewards_per_episode, die die in jeder Episode aufsummierte Gesamtbelohnung enthalten wird.

Diese Übung ist Teil des Kurses

Reinforcement Learning mit Gymnasium in Python

Kurs anzeigen

Anleitung zur Übung

  • Führe in jeder Episode die gewählte Aktion aus und beobachte die Belohnung sowie den nächsten Zustand.
  • Aktualisiere die Q-Tabelle.
  • Hänge total_reward an die Liste rewards_per_episode an.

Interaktive Übung

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

for episode in range(10000):
    state, info = env.reset()
    total_reward = 0
    terminated = False
    while not terminated:
        action = env.action_space.sample()
        # Execute the action
        next_state, reward, terminated, truncated, info = ____
        # Update the Q-table
        ____
        state = next_state
        total_reward += reward
    # Append the total reward to the rewards list    
    rewards_per_episode.____(____)
print("Average reward per random episode: ", np.mean(rewards_per_episode))
Code bearbeiten und ausführen