De SARSA-update regel implementeren
SARSA is een on-policy algoritme in RL dat de actie-waardefunctie bijwerkt op basis van de uitgevoerde actie en de in de volgende toestand gekozen actie. Deze methode helpt niet alleen de waarde van het huidige toestand-actie-paar te leren, maar ook van het daaropvolgende paar, zodat je beleid kunt leren dat rekening houdt met toekomstige acties. Hieronder staat de SARSA-update regel, en jouw taak is een functie te implementeren die een Q-tabel bijwerkt op basis van deze regel.
De NumPy-bibliotheek is voor je geïmporteerd als np.

Deze oefening maakt deel uit van de cursus
Reinforcement Learning met Gymnasium in Python
Oefeninstructies
- Haal de huidige Q-waarde op voor het gegeven toestand-actie-paar.
- Zoek de Q-waarde voor het volgende toestand-actie-paar.
- Werk de Q-waarde voor het huidige toestand-actie-paar bij met de SARSA-formule.
- Werk de Q-tabel
Qbij, gegeven dat een agent actie0uitvoert in toestand0, een beloning van5ontvangt, naar toestand1gaat en actie1uitvoert.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
def update_q_table(state, action, reward, next_state, next_action):
# Get the old value of the current state-action pair
old_value = ____
# Get the value of the next state-action pair
next_value = ____
# Compute the new value of the current state-action pair
Q[(state, action)] = ____
alpha = 0.1
gamma = 0.8
Q = np.array([[10,0],[0,20]], dtype='float32')
# Update the Q-table for the ('state1', 'action1') pair
____
print(Q)