Definiowanie funkcji epsilon-zachłannej
W uczeniu przez wzmacnianie strategia epsilon-zachłanna (epsilon-greedy) równoważy eksplorację i eksploatację. Polega na wyborze losowej akcji z prawdopodobieństwem epsilon oraz najlepszej znanej akcji z prawdopodobieństwem 1-epsilon. Implementacja funkcji epsilon_greedy() jest kluczowa dla algorytmów takich jak Q-learning czy SARSA – umożliwia agentowi uczenie się zarówno przez odkrywanie środowiska, jak i wykorzystywanie znanych nagród. To właśnie będzie celem tego ćwiczenia.
Biblioteka numpy została zaimportowana jako np.
To ćwiczenie jest częścią kursu
Uczenie przez wzmacnianie z Gymnasium w Pythonie
Instrukcje do ćwiczenia
- Wewnątrz funkcji zapisz odpowiedni warunek, który pozwoli agentowi eksplorować środowisko.
- Podczas eksploracji wybierz losową
action. - Podczas eksploatacji wybierz najlepszą
actionzgodnie z wartościami wq_table.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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