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.

Biblioteka numpy została zaimportowana jako np.
To ćwiczenie jest częścią kursu
Uczenie przez wzmacnianie z Gymnasium w Pythonie
Instrukcje do ćwiczenia
- Oblicz oczekiwaną wartość Q dla
next_state. - Zaktualizuj wartość Q dla bieżących
stateiaction, korzystając ze wzoru Expected SARSA. - Zaktualizuj tablicę Q (
Q), zakładając, że agent wykonuje akcję1w stanie2i przechodzi do stanu3, 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)