Ocena polityki na śliskim Zamarzniętym Jeziorze
W środowisku śliskiego Zamarzniętego Jeziora samo odczytanie polityki z wyuczonej tablicy Q nie wystarczy, by ocenić jej skuteczność. Aby rzetelnie sprawdzić jakość wyuczonej polityki, trzeba rozegrać wiele epizodów i obserwować średnią uzyskaną nagrodę. To ćwiczenie porównuje efektywność wyuczonej polityki z poziomem bazowym wyznaczonym przez losową politykę stosowaną podczas treningu. Twoim zadaniem jest wykonanie wyuczonej polityki przez kilka epizodów, analiza jej wyników na podstawie zebranych średnich nagród oraz porównanie ich ze średnimi nagrodami uzyskanymi w fazie losowej polityki.
Tablica Q Q, num_states, num_actions oraz avg_reward_per_random_episode zostały wstępnie załadowane.
Biblioteka NumPy została zaimportowana jako np.
To ćwiczenie jest częścią kursu
Uczenie przez wzmacnianie z Gymnasium w Pythonie
Instrukcje do ćwiczenia
- W każdej iteracji wybierz najlepszą akcję na podstawie wyuczonej tablicy Q
Q. - Oblicz średnią nagrodę na wyuczony epizod
avg_reward_per_learned_episode.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
for episode in range(10000):
state, info = env.reset()
terminated = False
episode_reward = 0
while not terminated:
# Select the best action based on learned Q-table
action = ____
new_state, reward, terminated, truncated, info = env.step(action)
state = new_state
episode_reward += reward
reward_per_learned_episode.append(episode_reward)
# Compute and print the average reward per learned episode
avg_reward_per_learned_episode = ____
print("Average reward per learned episode: ", avg_reward_per_learned_episode)
print("Average reward per random episode: ", ____)