Aan de slagGa gratis aan de slag

Expected SARSA-update-regel

In deze oefening implementeer je de Expected SARSA-update-regel, een temporal-difference model-free RL-algoritme. Expected SARSA schat de verwachte waarde van het huidige beleid door te middelen over alle mogelijke acties. Dat levert een stabieler update-doel op dan SARSA. De formules die in Expected SARSA worden gebruikt, vind je hieronder.

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

De bibliotheek numpy is geïmporteerd als np.

Deze oefening maakt deel uit van de cursus

Reinforcement Learning met Gymnasium in Python

Cursus bekijken

Oefeninstructies

  • Bereken de verwachte Q-waarde voor de next_state.
  • Werk de Q-waarde bij voor de huidige state en action met de Expected SARSA-formule.
  • Werk de Q-tabel Q bij uitgaande van een agent die actie 1 neemt in staat 2 en naar staat 3 gaat, en daarbij een beloning van 5 ontvangt.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
Code bewerken en uitvoeren