Zacznij terazZacznij za darmo

Reguła aktualizacji Expected SARSA

W tym ćwiczeniu zaimplementujesz regułę aktualizacji Expected SARSA – opartego na różnicach czasowych algorytmu uczenia ze wzmocnieniem bez modelu środowiska. Expected SARSA szacuje oczekiwaną wartość bieżącej polityki, uśredniając ją po wszystkich możliwych akcjach. Dzięki temu cel aktualizacji jest bardziej stabilny niż w standardowym SARSA. Wzory stosowane w Expected SARSA znajdziesz poniżej.

Image showing the mathematical formula of the expected SARSA update rule.

Biblioteka numpy została zaimportowana jako np.

To ćwiczenie jest częścią kursu

Uczenie przez wzmacnianie z Gymnasium w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz oczekiwaną wartość Q dla next_state.
  • Zaktualizuj wartość Q dla bieżących state i action, korzystając ze wzoru Expected SARSA.
  • Zaktualizuj tablicę Q (Q), zakładając, że agent wykonuje akcję 1 w stanie 2 i przechodzi do stanu 3, otrzymując nagrodę 5.

Interaktywne ćwiczenie praktyczne

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

def update_q_table(state, action, next_state, reward):
  	# Calculate the expected Q-value for the next state
    expected_q = ____
    # Update the Q-value for the current state and action
    Q[state, action] = ____
    
Q = np.random.rand(5, 2)
print("Old Q:\n", Q)
alpha = 0.1
gamma = 0.99

# Update the Q-table
update_q_table(____, ____, ____, ____)
print("Updated Q:\n", Q)
Edytuj i uruchom kod