Vyhodnocení politiky na kluzatém Frozen Lake
V prostředí kluzatého Frozen Lake nestačí politiku pouze odvodit z naučené Q-tabulky – to samo o sobě neřekne, jak dobře skutečně funguje. Abychom mohli správně posoudit kvalitu naučené politiky, je potřeba odehrát více epizod a sledovat průměrnou získanou odměnu. Toto cvičení porovnává účinnost naučené politiky se základní linií, která vznikla sledováním náhodné politiky během tréninku. Tvým úkolem je spustit naučenou politiku přes několik epizod, analyzovat její výkon na základě průměrných odměn a porovnat je s průměrnými odměnami dosaženými při náhodné politice.
Q-tabulka Q, num_states, num_actions a avg_reward_per_random_episode jsou předem načteny.
Knihovna NumPy je importována jako np.
Toto cvičení je součástí kurzu
Reinforcement Learning with Gymnasium in Python
Pokyny k cvičení
- V každé iteraci vyber nejlepší akci na základě naučené Q-tabulky
Q. - Vypočítej průměrnou odměnu za naučenou epizodu
avg_reward_per_learned_episode.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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: ", ____)