Kom igångKom igång gratis

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

Visa kurs

Ö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_reward i listan rewards_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))
Redigera och kör kod