APPZYFY
Módulo 1beginner
🧬

Visualizador de Algoritmo Genético

45 min
1

Entender optimización inspirada en evolución

2

Aprender selección, cruce y mutación

3

Ver cómo la naturaleza inspira la IA

4

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

Generación
0
Tamaño de Población
0

Guía de Aprendizaje

Principiante⏱️ 45 min

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?

  1. 1Inicializar población de N soluciones aleatorias (cromosomas)
  2. 2Evaluar fitness f(x) para cada individuo x
  3. 3Selección: elegir padres probabilísticamente proporcional a fitness (ruleta/torneo)
  4. 4Cruce: combinar genes de padres (punto único, uniforme, aritmético)
  5. 5Mutación: voltear bits/perturbar valores aleatoriamente con probabilidad p_m
  6. 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.