Q-Learning-Aktualisierungsregel implementieren
Q-Learning ist ein Off-Policy-Algorithmus im Reinforcement Learning (RL), der die beste Aktion für einen gegebenen aktuellen Zustand sucht. Anders als SARSA, das die tatsächlich als Nächstes ausgeführte Aktion berücksichtigt, aktualisiert Q-Learning seine Q-Werte mit der maximal erwarteten zukünftigen Belohnung – unabhängig von der tatsächlich gewählten Aktion. Dieser Unterschied ermöglicht es Q-Learning, die optimale Policy zu erlernen, selbst wenn die verfolgte Policy explorativ oder sogar zufällig ist. Deine Aufgabe ist es, eine Funktion zu implementieren, die eine Q-Tabelle anhand der Q-Learning-Regel aktualisiert. Die Q-Learning-Aktualisierungsregel ist unten dargestellt; implementiere eine Funktion, die eine Q-Tabelle basierend auf dieser Regel aktualisiert.
Die NumPy-Bibliothek wurde als np importiert.

Diese Übung ist Teil des Kurses
Reinforcement Learning mit Gymnasium in Python
Anleitung zur Übung
- Rufe den aktuellen Q-Wert für das gegebene Zustands-Aktions-Paar ab.
- Bestimme den maximalen Q-Wert für den nächsten Zustand über alle möglichen Aktionen in
actions. - Aktualisiere den Q-Wert für das aktuelle Zustands-Aktions-Paar mithilfe der Q-Learning-Formel.
- Aktualisiere die Q-Tabelle
Q, wobei ein Agent in Zustand0die Aktion0ausführt, eine Belohnung von5erhält und in Zustand1wechselt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)