LoslegenKostenlos loslegen

Expected SARSA anwenden

Jetzt wendest du den Expected-SARSA-Algorithmus in einer benutzerdefinierten Umgebung an, wie unten gezeigt. Ziel ist es, einen Agenten durch ein Raster zu navigieren, damit er das Ziel so schnell wie möglich erreicht. Es gelten die gleichen Regeln wie zuvor: Der Agent erhält eine Belohnung von +10 beim Erreichen des Diamanten, -2 beim Durchqueren eines Bergfeldes und -1 für jeden anderen Zustand.

new_cust_env.png

Die Umgebung wurde als env importiert.

Diese Übung ist Teil des Kurses

Reinforcement Learning mit Gymnasium in Python

Kurs anzeigen

Anleitung zur Übung

  • Initialisiere die Q-Tabelle Q mit Nullen für jedes Zustands-Aktions-Paar.
  • Aktualisiere die Q-Tabelle mit der Funktion update_q_table().
  • Leite die Policy als Dictionary aus der gelernten Q-Tabelle ab.

Interaktive Übung

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

# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
    state, info = env.reset()    
    done = False    
    while not done: 
        action = env.action_space.sample()               
        next_state, reward, done, truncated, info = env.step(action)
        # Update the Q-table
        ____
        state = next_state
# Derive policy from Q-table        
policy = {state: ____ for state in range(____)}
render_policy(policy)
Code bearbeiten und ausführen