Kom igångKom igång gratis

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.

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

Biblioteket numpy har importerats som np.

Den här övningen är en del av kursen

Reinforcement Learning med Gymnasium i Python

Visa kurs

Övningsinstruktioner

  • Beräkna det förväntade Q-värdet för next_state.
  • Uppdatera Q-värdet för det aktuella state och action med hjälp av Expected SARSA-formeln.
  • Uppdatera Q-tabellen Q under antagandet att en agent tar handling 1 i tillstånd 2 och övergår till tillstånd 3, 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)
Redigera och kör kod