Implementarea regulii de actualizare SARSA
SARSA este un algoritm on-policy în RL care actualizează funcția de valoare a acțiunii pe baza acțiunii efectuate și a acțiunii selectate în starea următoare. Această metodă permite învățarea valorii nu doar a perechii stare-acțiune curente, ci și a celei ulterioare, oferind o modalitate de a învăța politici care iau în considerare acțiunile viitoare. Regula de actualizare SARSA este prezentată mai jos, iar sarcina ta este să implementezi o funcție care actualizează un tabel Q pe baza acestei reguli.
Biblioteca NumPy a fost importată ca np.

Acest exercițiu face parte din cursul
Reinforcement Learning cu Gymnasium în Python
Instrucțiuni pentru exercițiu
- Extrage valoarea Q curentă pentru perechea stare-acțiune dată.
- Găsește valoarea Q pentru perechea stare-acțiune următoare.
- Actualizează valoarea Q pentru perechea stare-acțiune curentă folosind formula SARSA.
- Actualizează tabelul Q
Q, știind că agentul efectuează acțiunea0în starea0, primește o recompensă de5, trece în starea1și execută acțiunea1.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)