Implémenter la règle de mise à jour de Q-learning
Q-learning est un algorithme off-policy en reinforcement learning (RL) qui cherche la meilleure action à effectuer pour un état donné. Contrairement à SARSA, qui tient compte de la véritable action suivante effectuée, Q-learning met à jour ses valeurs Q en utilisant la récompense future maximale, quelle que soit l’action réellement choisie. Cette différence permet à Q-learning d’apprendre la politique optimale tout en suivant une politique exploratoire, voire aléatoire. Votre tâche consiste à implémenter une fonction qui met à jour une Q-table selon la règle de Q-learning. La règle de mise à jour de Q-learning est présentée ci-dessous, et votre objectif est d’implémenter une fonction qui met à jour une Q-table en s’y conformant.
La bibliothèque NumPy a été importée sous le nom np.

Cet exercice fait partie du cours
Reinforcement Learning avec Gymnasium en Python
Instructions
- Récupérez la valeur Q actuelle pour le couple état–action donné.
- Déterminez la valeur Q maximale pour l’état suivant parmi toutes les actions possibles dans
actions. - Mettez à jour la valeur Q pour le couple état–action courant à l’aide de la formule de Q-learning.
- Mettez à jour la Q-table
Q, sachant qu’un agent effectue l’action0dans l’état0, reçoit une récompense de5et passe à l’état1.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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)