Zacznij terazZacznij za darmo

Implementacja iteracji wartości

Iteracja wartości to kluczowa metoda w uczeniu ze wzmocnieniem, służąca do wyznaczania optymalnej polityki. Polega na iteracyjnym ulepszaniu funkcji wartości dla każdego stanu aż do jej zbieżności, co prowadzi do odkrycia optymalnej polityki. Zaczniesz od zainicjalizowanej funkcji wartości V oraz policy – obie są już wczytane. Następnie będziesz je aktualizować w pętli, dopóki funkcja wartości nie osiągnie zbieżności, i zobaczysz politykę w działaniu.

Funkcja get_max_action_and_value(state, V) jest już wczytana.

To ćwiczenie jest częścią kursu

Uczenie przez wzmacnianie z Gymnasium w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dla każdego stanu znajdź akcję z maksymalną wartością Q (max_action) oraz odpowiadającą jej wartość (max_q_value).
  • Zaktualizuj słownik new_V oraz policy na podstawie max_action i max_q_value.
  • Sprawdź zbieżność, weryfikując, czy różnica między new_v a V dla każdego stanu jest mniejsza niż threshold.

Interaktywne ćwiczenie praktyczne

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

threshold = 0.001
while True:
  new_V = {}
  for state in range(num_states-1):
    # Get action with maximum Q-value and its value 
    max_action, max_q_value = ____
    # Update the value function and policy
    new_V[state] = ____
    policy[state] = ____
  # Test if change in state values is negligeable
  if all(abs(____ - ____) < ____ for state in ____):
    break
  V = new_V
render_policy(policy)
Edytuj i uruchom kod