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
1
Lo que construí
Solo
- 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.
- 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.
- 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.
- 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