LoslegenKostenlos loslegen

Epsilon-greedy-Funktion definieren

Im RL stellt die Epsilon-greedy-Strategie ein Gleichgewicht zwischen Exploration und Exploitation her. Diese Methode wählt mit der Wahrscheinlichkeit epsilon eine zufällige Aktion und mit der Wahrscheinlichkeit 1−epsilon die bestbekannte Aktion. Die Implementierung der Funktion epsilon_greedy() ist für Algorithmen wie Q-learning und SARSA entscheidend. Sie unterstützt den Lernprozess des Agents, indem sie sowohl die Erkundung der Umgebung als auch die Nutzung bekannter Belohnungen sicherstellt – genau das ist das Ziel dieser Übung.

Die NumPy-Bibliothek wurde als np importiert.

Diese Übung ist Teil des Kurses

Reinforcement Learning mit Gymnasium in Python

Kurs anzeigen

Anleitung zur Übung

  • Schreibe innerhalb der Funktion die passende Bedingung, damit der Agent die Umgebung erkundet.
  • Wähle bei Exploration eine zufällige action.
  • Wähle bei Exploitation die beste action gemäß der q_table.

Interaktive Übung

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

epsilon = 0.2
env = gym.make('FrozenLake')
q_table = np.random.rand(env.observation_space.n, env.action_space.n)

def epsilon_greedy(state):
    # Implement the condition to explore
    if ____ < ____:
      	# Choose a random action
        action = ____
    else:
      	# Choose the best action according to q_table
        action = ____
    return action
Code bearbeiten und ausführen