Implementación de la tabla Q en Python
Un ejemplo sencillo de aprendizaje Q
Implementación de la tabla Q en Python es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 3 de 5. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 5 lecciones en total.
Implementación de Q-Learning en Python
Implementación de Q-Learning en Python
En esta lección, implementaremos un algoritmo sencillo de Q-Learning en Python. El agente aprenderá a desplazarse por un mundo cuadriculado para maximizar sus recompensas.

Definición del entorno
Definición del entorno
Definimos un mundo cuadriculado sencillo de 4×4 en el que el agente comienza en la esquina superior izquierda y debe llegar a la esquina inferior derecha para recibir una recompensa.
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] = 10Inicialización de la tabla Q
Inicialización de la tabla Q
La tabla Q se inicializa con ceros para todos los pares estado-acción.
# Initialize the Q-Table
q_table = np.zeros((num_states, num_actions))
print("Initial Q-Table:")
print(q_table)Implementación del algoritmo de Q-Learning
Implementación del algoritmo de Q-Learning
Utilizamos los siguientes parámetros:
- α (tasa de aprendizaje): Controla cuánto reemplaza la información nueva a la antigua.
- γ (factor de descuento): Pondera las recompensas futuras en relación con las recompensas inmediatas.
- ε (tasa de exploración): Equilibra la exploración y la explotación.
# 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 - 1Evaluación de la política aprendida
Evaluación de la política aprendida
Después del entrenamiento, evaluamos la política siguiendo las acciones óptimas almacenadas en la tabla Q:
# 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)Visualización de la tabla Q
Visualización de la tabla Q
Podemos visualizar la tabla Q para comprender los valores aprendidos para cada par estado-acción:
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()Ventajas de Q-Learning
Ventajas de Q-Learning
Q-Learning ofrece varias ventajas:
- Es sencillo y fácil de implementar.
- Puede gestionar entornos estocásticos.
- Converge a la política óptima con suficiente exploración.
Limitaciones de Q-Learning
Limitaciones de Q-Learning
Q-Learning tiene algunas limitaciones:
- No escala bien a entornos con grandes espacios de estados y acciones.
- El aprendizaje puede ser lento en entornos complejos.
- Requiere una representación bien definida de estados y acciones.
Resumen y próximos pasos
Resumen y próximos pasos
En esta lección:
- Implementamos un algoritmo sencillo de Q-Learning en Python.
- Entrenamos un agente para desplazarse por un mundo cuadriculado mediante una tabla Q.
- Evaluamos la política aprendida y visualizamos la tabla Q.
A continuación, exploraremos Deep Q-Learning, que utiliza redes neuronales para gestionar entornos con grandes espacios de estados y acciones.

Preguntas frecuentes
¿La lección «Implementación de la tabla Q en Python» es gratis?
Sí — el texto completo de «Implementación de la tabla Q en Python» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 5 lecciones en total.
¿Qué aprenderé en «Implementación de la tabla Q en Python»?
Un ejemplo sencillo de aprendizaje Q Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 5.
¿Cuánto tiempo toma la lección «Implementación de la tabla Q en Python»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Conceptos básicos del aprendizaje por refuerzo
- Concepto de tabla Q
- Implementación de la tabla Q en Python
- Aprendizaje Q profundo
- Exploración de OpenAI Gym