⚾ Programación Genética en la planificación de temporadas de béisbol

👋 ¡Bienvenido a la aplicación!

Este sistema interactivo busca resolver de manera óptima la organización y logística de un calendario para una temporada completa de béisbol. Para lograrlo, implementamos una técnica de inteligencia artificial avanzada inspirada directamente en la evolución natural de las especies. 🌿

La programación genética consiste en crear, evaluar y modificar soluciones de forma automática a partir de una población inicial de programas. Esto se logra ejecutando operaciones bioinspiradas como la selección natural, el cruzamiento y la mutación. En este entorno, cada programa generado se estructura internamente como un árbol de expresión que representa una solución potencial para nuestro calendario.

El algoritmo evalúa continuamente cada árbol mediante un criterio estricto de calidad (función de aptitud o fitness) con la meta de heredar características clave y generar nuevos árboles cada vez más prometedores. 📈 ¡Este proceso se repite en un bucle evolutivo hasta hallar la solución óptima y más eficiente!

🛠️ Panel de control: configuración activa (ID: 4)

⚙️ Configuración del algoritmo

100
20
0.8
0.2

📅 Calendario activo: 4T2S6G (ID: 4)

Fecha Local Visitante
11/05/2026 PIT ARI
11/05/2026 CHA WAS
12/05/2026 PIT ARI
12/05/2026 CHA WAS
13/05/2026 PIT ARI
13/05/2026 CHA WAS
14/05/2026 CHA WAS
14/05/2026 PIT ARI
16/05/2026 CHA WAS
16/05/2026 PIT ARI
18/05/2026 ARI CHA
18/05/2026 PIT WAS

🏆 Resultados de optimización

0 obtener_calendario 1 crear_juego 0--1 34 [] 0--34 2 2026-05-11 1--2 3 CHA 1--3 4 ARI 1--4 5 obtener_calendario 1--5 6 crear_juego 5--6 33 [] 5--33 7 2026-05-11 6--7 8 PIT 6--8 9 WAS 6--9 10 obtener_calendario 6--10 11 crear_juego 10--11 32 [] 10--32 12 2026-05-12 11--12 13 CHA 11--13 14 ARI 11--14 15 obtener_calendario 11--15 16 crear_juego 15--16 31 [] 15--31 17 2026-05-12 16--17 18 PIT 16--18 19 WAS 16--19 20 crear_juego 16--20 21 2026-05-18 20--21 22 PIT 20--22 23 WAS 20--23 24 obtener_calendario 20--24 25 crear_juego 24--25 30 [] 24--30 26 2026-05-18 25--26 27 CHA 25--27 28 ARI 25--28 29 [] 25--29

🔍 Haz clic en el árbol para expandir

Costo de viaje total: 7934.38 km
Violaciones de reglas: 0
🚀 Ejecutar optimización

📖 Guía operativa del sistema

🔹 Instrucciones de inicio rápido

Para comenzar a interactuar de forma correcta con la demo, sigue estos pasos secuenciales:

  1. Crea un equipo, una liga y un torneo respectivo en tus paneles administrativos. Nota importante: el número total de equipos participantes debe ser par. 👥
  2. Una vez que tengas definidos los participantes, dirígete al panel de arriba, selecciona tu torneo activo y haz clic en el botón verde "Ejecutar optimización" para estructurar el calendario automatizado.

⚙️ Lógica interna y flujo algorítmico de la IA

¿Qué sucede internamente cuando el software se pone en marcha? Aquí te mostramos paso a paso el ciclo de vida evasivo basado en programación genética:

1. Configuración e hiperparámetros base

Se cargan las variables del panel que definirán las generaciones, el tamaño inicial de la población, así como las tasas de probabilidad asociadas al cruce y la mutación genómica.

2. Definición de operadores y bloques estructurales (gramática)

3. Inicialización, ciclo evolutivo y convergencia

📍 Fase de ejecución en vivo: El sistema genera una población inicial aleatoria y convierte cada propuesta en una estructura jerárquica de árbol (syntax tree). ¡Aquí es donde ocurre la magia computacional! ✨
  1. Visualización y muestreo: Se procesa la población inicial y se genera el renderizado de los árboles mediante el generador de sintaxis.
  2. Evaluación de aptitud: Se calcula el valor de fitness de cada individuo en base a la distancia acumulada en kilómetros y el cumplimiento normativo.
  3. Selección natural: Se escogen los mejores individuos de la ronda anterior para actuar como padres biológicos de la nueva generación.
  4. Cruzamiento, mutación y herencia: Se crean nuevos individuos mezclando ramas de árboles destacados y aplicando mutaciones en nodos aleatorios.
  5. Bucle iterativo: Se repiten secuencialmente los pasos de evaluación, selección y reproducción hasta completar el total de generaciones configuradas en la interfaz.
  6. Resultados oficiales: El mejor individuo obtenido en la última iteración se valida y su estructura interna se almacena como el calendario definitivo del torneo de béisbol. 🏆🎉