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
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
actiongemäß derq_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