Zacznij terazZacznij za darmo

Ulepszanie polityki

W poprzednim ćwiczeniu wyznaczyłeś wartości Q dla każdej pary stan–akcja w środowisku MyGridWorld. Teraz użyjesz tych wartości, aby ulepszyć istniejącą politykę. Ulepszanie polityki to kluczowy krok w uczeniu ze wzmocnieniem – polega na wyborze akcji maksymalizujących oczekiwaną użyteczność (wartość Q) w każdym stanie. Po ulepszeniu polityki zobaczysz nowe ruchy agenta zgodne z tą polityką.

Środowisko zostało zaimportowane jako env, wartości Q jako Q, a do dyspozycji masz też funkcję render().

To ćwiczenie jest częścią kursu

Uczenie przez wzmacnianie z Gymnasium w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Znajdź najlepszą akcję dla każdego stanu na podstawie wartości Q.
  • Wybierz odpowiednią action na podstawie improved_policy.
  • Wykonaj wybraną action, aby zaobserwować jej wynik.

Interaktywne ćwiczenie praktyczne

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

improved_policy = {}

for state in range(num_states-1):
    # Find the best action for each state based on Q-values
    max_action = ____
    improved_policy[state] = max_action

terminated = False
while not terminated:
  # Select action based on policy 
  action = ____
  # Execute the action
  state, reward, terminated, truncated, info = ____
  render()
Edytuj i uruchom kod