LoslegenKostenlos loslegen

CliffWalking mit abgeklungener Epsilon-greedy-Strategie lösen

Zur Verbesserung der Epsilon-greedy-Strategie wird ein Abklingfaktor eingeführt, der die Explorationsrate epsilon schrittweise verringert, während der Agent mehr über die Umgebung lernt. Dieser Ansatz fördert in den frühen Lernphasen die Exploration und später, wenn der Agent die Umgebung besser kennt, die Ausnutzung des gelernten Wissens. Jetzt wendest du diese Strategie an, um die CliffWalking-Umgebung zu lösen.

Die Umgebung wurde initialisiert und ist über die Variable env erreichbar. Die Variablen epsilon, min_epsilon und epsilon_decay sind für dich vordefiniert. Die Funktionen epsilon_greedy() und update_q_table() wurden importiert.

Diese Übung ist Teil des Kurses

Reinforcement Learning mit Gymnasium in Python

Kurs anzeigen

Anleitung zur Übung

  • Implementiere die vollständige Trainingsschleife, indem du eine action wählst, sie ausführst, die erhaltene reward zu episode_reward aufsummierst und die Q-Tabelle aktualisierst.
  • Verringere epsilon mit der Rate epsilon_decay, und stelle sicher, dass es nicht unter min_epsilon fällt.

Interaktive Übung

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

rewards_decay_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Implement the training loop
        action = ____
        new_state, reward, terminated, truncated, info = ____
        episode_reward += ____       
        ____      
        state = new_state
    rewards_decay_eps_greedy.append(episode_reward)
    # Update epsilon
    epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))
Code bearbeiten und ausführen