Rozwiązywanie zamarzniętego jeziora 8x8 za pomocą SARSA
W tym ćwiczeniu zastosujesz algorytm SARSA wraz z funkcją update_q_table(), którą zaimplementowano wcześniej, aby nauczyć agenta optymalnej strategii działania w środowisku zamarzniętego jeziora 8x8. To środowisko jest identyczne z klasyczną wersją 4x4 – różni się jedynie rozmiarem. Za pomocą algorytmu SARSA będziesz iteracyjnie ulepszać strategię agenta na podstawie nagród otrzymywanych ze środowiska.
Tablica Q Q została już zainicjalizowana i wczytana, podobnie jak funkcja update_q_table() z poprzedniego ćwiczenia.
To ćwiczenie jest częścią kursu
Uczenie przez wzmacnianie z Gymnasium w Pythonie
Instrukcje do ćwiczenia
- Dla każdego epizodu w procesie trenowania wykonaj wybraną akcję
action. - Wybierz
next_actionlosowo. - Zaktualizuj tablicę Q dla danego stanu
statei akcjiaction.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
for episode in range(num_episodes):
state, info = env.reset()
action = env.action_space.sample()
terminated = False
while not terminated:
# Execute the action
next_state, reward, terminated, truncated, info = ____
# Choose the next action randomly
next_action = ____
# Update the Q-table
____
state, action = next_state, next_action
render_policy(get_policy())