Saltar al contenido

Learn2Slither

Una serpiente que aprende a jugar por ensayo y error con Q-learning tabular — una Q-table sobre la visión de los cuatro vecinos de la cabeza, entrenada a lo largo de miles de sesiones de juego contra sí misma.

En resumen
  • 5,000 sesiones de entrenamiento
  • 294 estados aprendidos

Mi contribuciónConstruí el agente de Q-learning tabular: una Q-table basada en diccionario, la actualización por diferencia temporal y la elección de acción epsilon-greedy con un epsilon decreciente.

ROL
Solo
CONTEXTO
École 42 · Proyectos de IA
ESTADO
Terminado
RESULTADO
Entrenada por juego contra sí misma en un tablero 10×10, la Q-table creció hasta 294 estados aprendidos tras 5,000 sesiones; el pico reportado es una serpiente de 71 casillas en torno a la sesión 4,500 — leído del contador en vivo, no de un benchmark reservado.
ACTUALIZADO
26 sept 2026
stepTD updatestate4 tiles around headQ-tableε-greedyaction4 movesreward+10 / -10 / -1 / -100new stateboard · numpy
Fig. — cómo funciona
1

Lo que construí

Solo

  1. Construí el agente de Q-learning tabular: una Q-table basada en diccionario, la actualización por diferencia temporal y la elección de acción epsilon-greedy con un epsilon decreciente.
  2. Diseñé la codificación del estado basada en la visión — una cadena de cuatro caracteres con las casillas alrededor de la cabeza — y el motor de juego y de tablero en NumPy.
  3. Definí el esquema de recompensas (+10 manzana verde, -10 roja, -1 por movimiento, -100 al morir) y el bucle de entrenamiento por sesión con guardado y carga del modelo.
  4. Escribí la herramienta de línea de comandos con argparse y la interfaz gráfica en pygame (modo paso a paso, control de velocidad, estadísticas en vivo y un gráfico de la curva de aprendizaje).
2

Decisiones clave

Q-learning tabular, no RL profundo
El estado es una cadena de cuatro símbolos, así que solo llegan a aparecer unos pocos cientos de estados (294 tras 5,000 sesiones) y basta con una Q-table simple — sin red neuronal.
La visión local a la cabeza como estado
El agente solo ve las cuatro casillas junto a la cabeza, lo que mantiene el espacio de estados diminuto y aprendible; la línea de visión completa se calcula pero se reserva para la visualización.
Recompensas moldeadas con una fuerte penalización por muerte
-100 por colisión frente a -1 por paso empuja la política primero hacia la supervivencia y luego hacia las manzanas verdes.
3

Resultados

Entrenada por juego contra sí misma en un tablero 10×10, la Q-table creció hasta 294 estados aprendidos tras 5,000 sesiones; el pico reportado es una serpiente de 71 casillas en torno a la sesión 4,500 — leído del contador en vivo, no de un benchmark reservado.

4

Límites

  • El estado es solo la casilla adyacente en cada dirección, así que el agente no puede ver manzanas ni paredes más allá de una casilla — aprende a evitar colisiones más que a buscar el objetivo.
  • El rendimiento tiene mucha varianza: la longitud máxima reportada sube hasta los 60 y 70 y luego vuelve a caer, y la recompensa por sesión se mantiene negativa en todo momento.
  • Hiperparámetros fijos, un único tablero 10×10 y máximos de una sola ejecución en lugar de una media sobre muchas partidas.
  • La longitud máxima se lee del contador en vivo, no se almacena en los modelos guardados, así que es reportada más que reproducible a posteriori.

¿Preguntas sobre este proyecto? → Escríbeme