ÎncepețiÎncepe gratuit

Regula de actualizare Expected SARSA

În acest exercițiu, vei implementa regula de actualizare Expected SARSA – un algoritm de RL model-free bazat pe diferențe temporale. Expected SARSA estimează valoarea așteptată a politicii curente prin calcularea mediei peste toate acțiunile posibile, oferind o țintă de actualizare mai stabilă față de SARSA. Formulele utilizate în Expected SARSA sunt prezentate mai jos.

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

Biblioteca numpy a fost importată ca np.

Acest exercițiu face parte din cursul

Reinforcement Learning cu Gymnasium în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează valoarea Q așteptată pentru next_state.
  • Actualizează valoarea Q pentru state-ul și action-ul curent folosind formula Expected SARSA.
  • Actualizează tabelul Q Q presupunând că agentul execută acțiunea 1 în starea 2 și trece în starea 3, primind o recompensă de 5.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul