Saltar al contenido
Nóesis
Todas las familias
F10Inspiración naturaldesde 1966

Computación evolutiva

Algoritmos genéticos, neuroevolución, CMA-ES

Sin gradientes y sin entender el problema: variar, seleccionar, repetir. La evolución es un algoritmo de búsqueda que produjo ojos, alas y cerebros.

1966
año fundacional
3
laboratorios
3
ecuaciones
8
hitos citados
Ir al laboratorio en vivo
Lámina F10semitono de dos tintas · en vivo
§1

Intuición

Evolución, colonias y neuronas que disparan.

Un algoritmo genético mantiene una población de soluciones candidatas codificadas como «genomas». Las mejores (según una función de aptitud) se reproducen con cruce —mezclando genomas— y mutación —cambios aleatorios—. Generación tras generación, la población trepa el paisaje de aptitud.

La neuroevolución evoluciona redes neuronales: sus pesos o incluso su estructura. NEAT (Stanley y Miikkulainen, 2002) empieza con redes mínimas y añade neuronas y conexiones, protegiendo las innovaciones con especiación.

Las estrategias evolutivas tratan el problema como optimización continua. CMA-ES (Hansen y Ostermeier, 2001) muestrea de una gaussiana y adapta su media y su matriz de covarianza hacia las direcciones exitosas: la elipse aprende la forma del valle.

§2

Mecanismo

Ciclo: evaluar aptitud → seleccionar (torneo, ruleta, elitismo) → cruzar → mutar. El teorema de los esquemas de Holland (1975) sugiere que los bloques cortos y con buena aptitud se propagan exponencialmente.

CMA-ES: en cada generación muestrea λ\lambda puntos xk∼m+σ N(0,C)x_k \sim m + \sigma\,\mathcal N(0, C), ordena por aptitud, mueve la media hacia el promedio ponderado de los μ\mu mejores y actualiza CC con la información de rango 1 (camino evolutivo) y rango μ\mu. Es invariante a transformaciones lineales del espacio: el problema mal condicionado se vuelve fácil.

Ventajas: no requiere derivadas, tolera ruido y funciones discontinuas, se paraleliza de forma trivial. Salimans et al. (2017) mostraron que las estrategias evolutivas compiten con RL en control continuo usando miles de CPU.

Ec. 10.1Muestreo y recombinación en CMA-ES
xk∼m+σ N(0,C),m←∑i=1μwi xi:λx_k \sim m + \sigma\,\mathcal{N}(0, C), \qquad m \leftarrow \sum_{i=1}^{\mu} w_i\, x_{i:\lambda}
Ec. 10.2Adaptación de la covarianza
C←(1−c1−cμ)C+c1pcpc⊤+cμ∑i=1μwi yi:λyi:λ⊤C \leftarrow (1 - c_1 - c_\mu)C + c_1 p_c p_c^\top + c_\mu \sum_{i=1}^{\mu} w_i\, y_{i:\lambda}y_{i:\lambda}^\top
Ec. 10.3Selección por ruleta
P(seleccionar i)=fi∑jfjP(\text{seleccionar } i) = \frac{f_i}{\sum_j f_j}
§3

Laboratorio

Lab 10.1 calculado en tu navegadorDetectando…

Algoritmo genético: cohetes que aprenden a llegar

Cada cohete tiene un genoma de impulsos. Mueve la meta y los obstáculos; la población evoluciona con selección, cruce y mutación.

Lab 10.2 calculado en tu navegadorDetectando…

CMA-ES sobre un paisaje de aptitud

La elipse de la distribución se estira hacia el valle. Compara Rosenbrock, Rastrigin y un paisaje multimodal; haz clic para reiniciar desde otro punto.

Lab 10.3 calculado en tu navegadorDetectando…

NEAT: topología que evoluciona

Una población de redes crece neuronas y conexiones mientras resuelve un XOR visual. Especiación protege las innovaciones; el genoma se dibuja en vivo.

§4

Historia

  1. 1966

    L. J. Fogel, Owens y Walsh proponen la programación evolutiva.

    Fogel, Owens & Walsh (1966), Artificial Intelligence through Simulated Evolution

  2. 1973

    Rechenberg publica las estrategias evolutivas (Berlín).

    Rechenberg (1973), Evolutionsstrategie

  3. 1975

    Holland publica Adaptation in Natural and Artificial Systems.

    Holland (1975), University of Michigan Press

  4. 1992

    Koza sistematiza la programación genética: evolucionar programas.

    Koza (1992), Genetic Programming, MIT Press

  5. 1994

    Karl Sims evoluciona criaturas virtuales con cuerpo y cerebro.

    Sims (1994), SIGGRAPH

  6. 2001

    Hansen y Ostermeier publican la forma completa de CMA-ES.

    Hansen & Ostermeier (2001), Evolutionary Computation 9(2)

  7. 2002

    NEAT evoluciona topologías de redes neuronales.

    Stanley & Miikkulainen (2002), Evolutionary Computation 10(2)

  8. 2019

    La evolución regularizada encuentra arquitecturas de visión competitivas (AmoebaNet).

    Real et al. (2019), AAAI

§5

Límites

1

Costosa en evaluaciones: cada individuo requiere medir su aptitud.

2

En espacios de muy alta dimensión, el gradiente suele ganar por mucho.

3

Sensible a la codificación del genoma y al diseño de la aptitud.

§6 · Pregunta filosófica

¿Puede haber diseño sin diseñador?

Darwin disolvió el argumento del diseño de Paley: la selección acumulativa produce la apariencia de propósito. Dennett llamó a la evolución «un algoritmo»: un proceso mecánico, sin mente, que sin embargo encuentra soluciones ingeniosas.

Si la inteligencia humana surgió de un proceso ciego, ¿es la evolución artificial el camino más honesto hacia la IA, o solo el más lento?

Familias conectadas