Lös 8x8 Frozen Lake med Q-inlärning
I den här övningen tillämpar du Q-inlärningsalgoritmen för att hitta en optimal strategi för att navigera i 8x8-versionen av Frozen Lake – den här gången med villkoret "slippery" aktiverat. Det innebär stokastiska övergångar, vilket gör agentens rörelser oförutsägbara och därmed mer lika verkliga scenarier.
En Q-tabell Q har initierats och laddats in åt dig, tillsammans med funktionen update_q_table() från föregående övning och en tom lista rewards_per_episode som kommer att innehålla den totala belöningen som ackumuleras under varje episod.
Den här övningen är en del av kursen
Reinforcement Learning med Gymnasium i Python
Övningsinstruktioner
- Utför den valda handlingen för varje episod och observera belöningen och nästa tillstånd.
- Uppdatera Q-tabellen.
- Lägg till
total_rewardi listanrewards_per_episode.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
for episode in range(10000):
state, info = env.reset()
total_reward = 0
terminated = False
while not terminated:
action = env.action_space.sample()
# Execute the action
next_state, reward, terminated, truncated, info = ____
# Update the Q-table
____
state = next_state
total_reward += reward
# Append the total reward to the rewards list
rewards_per_episode.____(____)
print("Average reward per random episode: ", np.mean(rewards_per_episode))