Kom igångKom igång gratis

Implementera first-visit Monte Carlo

Målet med Monte Carlo-algoritmer är att uppskatta Q-tabellen för att härleda en optimal policy. I den här övningen implementerar du metoden First-Visit Monte Carlo för att uppskatta aktionsvärdefunktionen Q och beräknar sedan den optimala policyn för att lösa den anpassade miljö du såg i föregående övning. Anta en diskonteringsfaktor på 1 när du beräknar avkastningen.

numpy-arrayerna Q, returns_sum och returns_count, som lagrar Q-värdena, den kumulativa belöningssumman respektive antalet besök för varje tillstånds-åtgärdspar, har initierats och förinsatts åt dig.

Den här övningen är en del av kursen

Reinforcement Learning med Gymnasium i Python

Visa kurs

Övningsinstruktioner

  • Definiera det if-villkor som ska testas i first-visit Monte Carlo-algoritmen.
  • Uppdatera avkastningarna (returns_sum), deras antal (returns_count) och visited_states.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

for i in range(100):
  episode = generate_episode()
  visited_states = set()
  for j, (state, action, reward) in enumerate(episode):
    # Define the first-visit condition
    if ____ not in ____:
      # Update the returns, their counts and the visited states
      returns_sum[state, action] += ____([____ for ____ in ____])
      returns_count[state, action] += ____
      visited_states.____(____)

nonzero_counts = returns_count != 0

Q[nonzero_counts] = returns_sum[nonzero_counts] / returns_count[nonzero_counts]
render_policy(get_policy())
Redigera och kör kod