Q-Tabelle in Python implementieren
Ein einfaches Beispiel für Q-Learning
Q-Tabelle in Python implementieren ist eine kostenlose Learn AI with Python-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 Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.
Implementieren von Q-Learning in Python
Implementieren von Q-Learning in Python
In dieser Lektion implementieren wir einen einfachen Q-Learning-Algorithmus in Python. Der Agent lernt, sich durch eine Gitterwelt zu bewegen, um seine Belohnungen zu maximieren.

Definieren der Umgebung
Definieren der Umgebung
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] = 10Initialisieren der Q-Tabelle
Initialisieren der Q-Tabelle
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)Implementieren des Q-Learning-Algorithmus
Implementieren des Q-Learning-Algorithmus
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 - 1Bewerten der erlernten Policy
Bewerten der erlernten Policy
Nach dem Training bewerten wir die Policy, indem wir den optimalen, in der Q-Tabelle gespeicherten 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)Visualisieren der Q-Tabelle
Visualisieren der Q-Tabelle
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 auf Umgebungen mit großen Zustands-Aktions-Räumen.
- Das Lernen kann in komplexen Umgebungen langsam sein.
- Erfordert eine klar definierte Darstellung von Zuständen und Aktionen.
Zusammenfassung und nächste Schritte
Zusammenfassung und nächste Schritte
In dieser Lektion haben wir:
- 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 sehen wir uns Deep Q-Learning an, 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 Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.
Was lerne ich in „Q-Tabelle in Python implementieren“?
Ein einfaches Beispiel für Q-Learning Du übst Learn AI with Python 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 Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python 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 Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-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 Q-Table-Konzept
- Q-Tabelle in Python implementieren
- Deep Q-Learning
- OpenAI Gym erkunden