Uppdateringsregeln för Expected SARSA
I den här övningen implementerar du uppdateringsregeln för Expected SARSA – en modelfri RL-algoritm baserad på temporal differens. Expected SARSA beräknar det förväntade värdet av den aktuella policyn genom att medelvärdesbilda över alla möjliga handlingar, vilket ger ett stabilare uppdateringsmål jämfört med SARSA. Formlerna som används i Expected SARSA visas nedan.

Biblioteket numpy har importerats som np.
Den här övningen är en del av kursen
Reinforcement Learning med Gymnasium i Python
Övningsinstruktioner
- Beräkna det förväntade Q-värdet för
next_state. - Uppdatera Q-värdet för det aktuella
stateochactionmed hjälp av Expected SARSA-formeln. - Uppdatera Q-tabellen
Qunder antagandet att en agent tar handling1i tillstånd2och övergår till tillstånd3, med en belöning på5.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)