Q-learning-bijwerkregel implementeren
Q-learning is een off-policy algoritme in reinforcement learning (RL) dat zoekt naar de beste actie gegeven de huidige toestand. In tegenstelling tot SARSA, dat de daadwerkelijk genomen volgende actie meeneemt, werkt Q-learning zijn Q-waarden bij met de maximale toekomstige beloning, ongeacht welke actie is genomen. Dankzij dit verschil kan Q-learning het optimale beleid leren terwijl het een explorerend of zelfs willekeurig beleid volgt. Je taak is om een functie te implementeren die een Q-tabel bijwerkt op basis van de Q-learning-regel. De Q-learning-bijwerkregel staat hieronder; jouw taak is om een functie te schrijven die een Q-tabel volgens deze regel bijwerkt.
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-actiepaar.
- Bepaal de maximale Q-waarde voor de volgende toestand over alle mogelijke acties in
actions. - Werk de Q-waarde voor het huidige toestand-actiepaar bij met de Q-learning-formule.
- Werk de Q-tabel
Qbij, gegeven dat een agent actie0neemt in toestand0, een beloning van5ontvangt en naar toestand1gaat.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
actions = ['action1', 'action2']
def update_q_table(state, action, reward, next_state):
# Get the old value of the current state-action pair
old_value = ____
# Determine the maximum Q-value for the next state
next_max = ____
# Compute the new value of the current state-action pair
Q[state, action] = ____
alpha = 0.1
gamma = 0.95
Q = np.array([[10, 8], [20, 15]], dtype='float32')
# Update the Q-table
____
print(Q)