Q-Tabelle in Python implementieren
Ein einfaches Beispiel für Q-Learning
Q-Tabelle in Python implementieren ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 5. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 5 Lektionen.
Q-Learning in Python implementieren
Q-Learning in Python implementieren
In dieser Lektion implementieren wir einen einfachen Q-Learning-Algorithmus in Python. Der Agent lernt, sich in einer Gitterwelt zu bewegen und seine Belohnungen zu maximieren.

Die Umgebung definieren
Die Umgebung definieren
Wir definieren eine einfache 4×4-Gitterwelt, in der der Agent in der oberen linken Ecke startet und die untere rechte Ecke erreichen muss, um eine Belohnung zu erhalten.
import numpy as np
# Define the environment
num_states = 16 # 4x4 grid
num_actions = 4 # Up, Down, Left, Right
# Define rewards (-1 for each step, +10 for the goal)
rewards = np.zeros(num_states)
rewards[-1] = 10Die Q-Tabelle initialisieren
Die Q-Tabelle initialisieren
Die Q-Tabelle wird für alle Zustands-Aktions-Paare mit Nullen initialisiert.
# Initialize the Q-Table
q_table = np.zeros((num_states, num_actions))
print("Initial Q-Table:")
print(q_table)Den Q-Learning-Algorithmus implementieren
Den Q-Learning-Algorithmus implementieren
Wir verwenden die folgenden Parameter:
- α (Lernrate): Steuert, wie stark neue Informationen alte überschreiben.
- γ (Diskontfaktor): Gewichtet zukünftige Belohnungen im Verhältnis zu unmittelbaren Belohnungen.
- ε (Explorationsrate): Gleicht Exploration und Exploitation aus.
# Parameters
alpha = 0.1 # Learning rate
gamma = 0.9 # Discount factor
epsilon = 0.1 # Exploration rate
# Q-Learning loop
num_episodes = 1000
for episode in range(num_episodes):
state = 0 # Start at the first state
done = False
while not done:
# Exploration or exploitation
if np.random.rand() < epsilon:
action = np.random.randint(num_actions) # Explore
else:
action = np.argmax(q_table[state]) # Exploit
# Transition to the next state
next_state = (state + action) % num_states # Simplified transition logic
reward = rewards[next_state]
# Update Q-value
q_table[state, action] = q_table[state, action] + alpha * (
reward + gamma * np.max(q_table[next_state]) - q_table[state, action]
)
# Move to the next state
state = next_state
done = state == num_states - 1Die erlernte Policy bewerten
Die erlernte Policy bewerten
Nach dem Training bewerten wir die Policy, indem wir den in der Q-Tabelle gespeicherten optimalen Aktionen folgen:
# Evaluate the policy
state = 0
optimal_path = [state]
while state != num_states - 1:
action = np.argmax(q_table[state])
state = (state + action) % num_states # Simplified transition logic
optimal_path.append(state)
print("Optimal Path:", optimal_path)Die Q-Tabelle visualisieren
Die Q-Tabelle visualisieren
Wir können die Q-Tabelle visualisieren, um die erlernten Werte für jedes Zustands-Aktions-Paar zu verstehen:
import matplotlib.pyplot as plt
import seaborn as sns
# Visualize Q-Table
plt.figure(figsize=(10, 8))
sns.heatmap(q_table, annot=True, fmt=".2f", cmap="coolwarm")
plt.title("Q-Table Heatmap")
plt.xlabel("Actions")
plt.ylabel("States")
plt.show()Vorteile von Q-Learning
Vorteile von Q-Learning
Q-Learning bietet mehrere Vorteile:
- Einfach und leicht zu implementieren.
- Kann mit stochastischen Umgebungen umgehen.
- Konvergiert bei ausreichender Exploration zur optimalen Policy.
Einschränkungen von Q-Learning
Einschränkungen von Q-Learning
Q-Learning hat einige Einschränkungen:
- Skaliert nicht gut für Umgebungen mit großen Zustands-Aktions-Räumen.
- Das Lernen kann in komplexen Umgebungen langsam sein.
- Erfordert eine klar definierte Zustands-Aktions-Darstellung.
Zusammenfassung und nächste Schritte
Zusammenfassung und nächste Schritte
In dieser Lektion haben Sie:
- einen einfachen Q-Learning-Algorithmus in Python implementiert.
- einen Agenten mithilfe einer Q-Tabelle darauf trainiert, sich in einer Gitterwelt zu bewegen.
- die erlernte Policy bewertet und die Q-Tabelle visualisiert.
Als Nächstes untersuchen wir Deep Q-Learning, das neuronale Netze verwendet, um Umgebungen mit großen Zustands-Aktions-Räumen zu verarbeiten.

Häufig gestellte Fragen
Ist die Lektion „Q-Tabelle in Python implementieren“ kostenlos?
Ja — der vollständige Text von „Q-Tabelle in Python implementieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 5 Lektionen.
Was lerne ich in „Q-Tabelle in Python implementieren“?
Ein einfaches Beispiel für Q-Learning Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Python Academy zu starten?
Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 5.
Wie lange dauert die Lektion „Q-Tabelle in Python implementieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?
Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlegende Konzepte des bestärkenden Lernens
- Das Konzept der Q-Tabelle
- Q-Tabelle in Python implementieren
- Deep Q-Learning
- OpenAI Gym erkunden