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
Övningsinstruktioner
- Skriv ett lämpligt villkor inuti funktionen för att agenten ska utforska miljön.
- Välj en slumpmässig
actionvid utforskning. - Välj den bästa
actionenligtq_tablevid 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