Zacznij terazZacznij za darmo

Stosowanie algorytmu Expected SARSA

Teraz zastosujesz algorytm Expected SARSA w niestandardowym środowisku przedstawionym poniżej. Celem agenta jest poruszanie się po siatce i dotarcie do celu jak najszybciej. Obowiązują te same zasady co wcześniej: agent otrzymuje nagrodę +10 za dotarcie do diamentu, -2 za przejście przez górę i -1 za każdy inny stan.

new_cust_env.png

Środowisko zostało zaimportowane jako env.

To ćwiczenie jest częścią kursu

Uczenie przez wzmacnianie z Gymnasium w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjalizuj tablicę Q (Q) zerami dla każdej pary stan–akcja.
  • Zaktualizuj tablicę Q, korzystając z funkcji update_q_table().
  • Wyodrębnij politykę jako słownik na podstawie wyuczonej tablicy Q.

Interaktywne ćwiczenie praktyczne

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

# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
    state, info = env.reset()    
    done = False    
    while not done: 
        action = env.action_space.sample()               
        next_state, reward, done, truncated, info = env.step(action)
        # Update the Q-table
        ____
        state = next_state
# Derive policy from Q-table        
policy = {state: ____ for state in range(____)}
render_policy(policy)
Edytuj i uruchom kod