Visualizador de Algoritmo Genético
Entender optimización inspirada en evolución
Aprender selección, cruce y mutación
Ver cómo la naturaleza inspira la IA
Aplicar algoritmos genéticos a problemas de optimización
Visualizador de Algoritmo Genético
Observa la evolución en acción
Función de Aptitud
Parameters
Visualización de Población
Estadísticas
Guía de Aprendizaje
Elige tu estilo de aprendizaje
¿Qué Hace?
Algoritmos Genéticos (GAs) son metaheurísticas de optimización inspiradas en selección natural. Codifican soluciones como cromosomas, evolucionan via operadores selección/cruce/mutación para maximizar función fitness. Efectivos para optimización combinatorial NP-hard (TSP, scheduling) y búsqueda de arquitectura neural (NAS) cuando gradient descent es intratable.
¿Cómo Funciona?
- 1Inicializar población de N soluciones aleatorias (cromosomas)
- 2Evaluar fitness f(x) para cada individuo x
- 3Selección: elegir padres probabilísticamente proporcional a fitness (ruleta/torneo)
- 4Cruce: combinar genes de padres (punto único, uniforme, aritmético)
- 5Mutación: voltear bits/perturbar valores aleatoriamente con probabilidad p_m
- 6Reemplazo: formar nueva generación, repetir por T generaciones
Analogía Simple
Como ajuste de hiperparámetros con optimización Bayesiana, pero inspirado biológicamente. Cada generación es un batch de experimentos; cruce/mutación son estrategias de exploración; fitness es pérdida de validación. GA explora espacio de soluciones sin gradientes - útil cuando superficie de pérdida es no diferenciable o multimodal.
Concepto Clave
GAs sacrifican velocidad de convergencia por robustez: sin trampas de mínimos locales, maneja espacios discretos/combinatoriales, paralelizable en población. NASA usó GAs para diseño de antenas (misión ST5) - 10x mejor que ingenieros humanos pero tomó 1000x más que métodos de gradiente.
Conceptos Fundamentales
Función Fitness
Puntaje que califica qué tan buena es una solución (como una nota). Más alto = mejor. GA intenta maximizar esto. Ejemplos: precisión para modelo ML, velocidad para ruta, ganancia para horario.
Cruce
Mezclar dos soluciones padre para crear descendencia (como tener hijos que heredan rasgos de ambos padres). Punto único: dividir en posición k, intercambiar colas. Uniforme: elegir aleatoriamente cada gen de cualquier padre.
Mutación
Cambios aleatorios para prevenir atascarse. Voltear 0→1 o 1→0 en strings binarios, agregar ruido Gaussiano a números. Tasa baja (1-5%) - muy alta = búsqueda aleatoria, muy baja = convergencia prematura.
Presión de Selección
Qué tan fuertemente favorecemos mejores soluciones para reproducción. Torneo (elegir mejor de K aleatorios) tiene más presión que ruleta (probabilidad ∝ fitness). Alta presión = convergencia rápida pero riesgo de óptimo local.
Aplicaciones del Mundo Real
Diseño de Antena NASA
Misión de nave ST5 usó GA para evolucionar forma de antena. Resultó en diseño extraño 10x mejor que ingenieros humanos - pero tomó 3 meses de cómputo. Ahora estándar para misiones espaciales.
Programación de Fábrica
Programar 1000 trabajos en 50 máquinas para minimizar tiempo muerto. Problema NP-hard con 10^300 posibilidades. GA encuentra solución 95% óptima en minutos vs fuerza bruta tomando billones de años.
IA de Videojuegos
Evolucionar comportamiento enemigo en tiempo real. Jugadores califican dificultad, GA adapta tácticas enemigas para coincidir nivel habilidad. Usado en juegos carreras (Forza) y estrategia (mods StarCraft).
Descubrimiento de Medicamentos
Explorar espacio molecular (10^60 moléculas posibles) para encontrar medicamentos con propiedades deseadas. GA navega espacio químico, optimizando afinidad de enlace + seguridad + costo manufactura simultáneamente.
Pruébalo Tú Mismo
Carrera de Evolución de Strings
Escribe frase objetivo "HELLO WORLD". Mira GA evolucionar de galimatías aleatorio "XKFPQ QWZRT" a tu frase. Empieza con población 20 - toma 100 generaciones. ¡Prueba población 100 - converge en 30 generaciones! Más diversidad = evolución más rápida.
Experimento Tasa de Mutación
Establece tasa mutación en 50% - mira población nunca convergir (muy caótico). Establece en 0% - se atasca rápido (sin exploración). Punto dulce: 1-5% - mejora constante. ¡Esto muestra que mutación es clave para evitar óptimos locales!
Errores Comunes a Evitar
❌ Convergencia prematura
¿Por Qué? Población pierde diversidad muy rápido, se atasca en óptimo local. Fix: aumentar tasa mutación, usar selección torneo con k=2-3, o inyectar individuos aleatorios cada N generaciones.
❌ Diseño pobre de función fitness
¿Por Qué? Si fitness no recompensa apropiadamente buenas soluciones, GA optimiza lo incorrecto. Debe balancear múltiples objetivos (velocidad + calidad + costo) con suma ponderada o dominancia de Pareto.