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
Observa la evolución en acción
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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!
❌ 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.