Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Wewnątrz funkcji zapisz odpowiedni warunek, który pozwoli agentowi eksplorować środowisko.
  • Podczas eksploracji wybierz losową action.
  • Podczas eksploatacji wybierz najlepszą action zgodnie z wartościami w q_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
Edytuj i uruchom kod