LoslegenKostenlos starten

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

<Kurs>Reinforcement Learning mit Gymnasium in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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