Zacznij terazZacznij za darmo

Implementacja Monte Carlo pierwszej wizyty

Celem algorytmów Monte Carlo jest estymacja tablicy Q w celu wyznaczenia optymalnej polityki. W tym ćwiczeniu zaimplementujesz metodę Monte Carlo pierwszej wizyty, aby oszacować funkcję wartości akcji Q, a następnie wyznaczyć optymalną politykę rozwiązującą środowisko niestandardowe z poprzedniego ćwiczenia. Przy obliczaniu zwrotu przyjmij współczynnik dyskontowania równy 1.

Tablice numpy: Q, returns_sum i returns_count, przechowujące odpowiednio wartości Q, skumulowaną sumę nagród oraz liczbę wizyt dla każdej pary stan-akcja, zostały już zainicjalizowane i wczytane.

To ćwiczenie jest częścią kursu

Uczenie przez wzmacnianie z Gymnasium w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj warunek if, który powinien być sprawdzany w algorytmie Monte Carlo pierwszej wizyty.
  • Zaktualizuj zwroty (returns_sum), ich liczniki (returns_count) oraz visited_states.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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())
Edytuj i uruchom kod