Kom igångKom igång gratis

Definiera epsilon-greedy-funktionen

Inom RL är epsilon-greedy-strategin en balans mellan utforskning och utnyttjande. Metoden väljer en slumpmässig åtgärd med sannolikheten epsilon och den bäst kända åtgärden med sannolikheten 1-epsilon. Att implementera funktionen epsilon_greedy() är centralt för algoritmer som Q-learning och SARSA – den styr agentens inlärning genom att säkerställa både utforskning av miljön och utnyttjande av kända belöningar. Det är målet med den här övningen.

Numpy-biblioteket har importerats som np.

Den här övningen är en del av kursen

Reinforcement Learning med Gymnasium i Python

Visa kurs

Övningsinstruktioner

  • Skriv ett lämpligt villkor inuti funktionen för att agenten ska utforska miljön.
  • Välj en slumpmässig action vid utforskning.
  • Välj den bästa action enligt q_table vid utnyttjande.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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
Redigera och kör kod