Algoritmos evolutivos: nueva técnica optimiza su funcionamiento

Fuentes: Code World Models for Parameter Control in Evolutionary Algorithms

El artículo "Code World Models for Parameter Control in Evolutionary Algorithms" introduce una técnica innovadora para optimizar algoritmos evolutivos, un tipo de algoritmo de optimización inspirado en la evolución biológica. Para entender su importancia, primero debemos comprender qué son los algoritmos evolutivos. Estos algoritmos, como el Algoritmo Genético, funcionan creando una población inicial de soluciones candidatas a un problema. Luego, aplican operadores como selección, cruce (crossover) y mutación para generar nuevas generaciones de soluciones, buscando iterativamente la mejor opción. Un desafío clave en estos algoritmos es la correcta configuración de sus parámetros, como la tasa de mutación o el tamaño de la población. Ajustar estos parámetros manualmente es un proceso laborioso y a menudo ineficiente.

La propuesta de Chacón y Rodríguez es utilizar lo que llaman "Modelos de Mundo de Código" (Code World Models - CWM). En esencia, un CWM es un modelo de aprendizaje automático, específicamente una red neuronal, que aprende a predecir el rendimiento de un algoritmo evolutivo en función de sus parámetros. Imagina que tienes una función que te dice, para una tasa de mutación del 0.01 y un tamaño de población de 100, el algoritmo evolutivo encontrará la solución óptima en X generaciones. El CWM aprende a aproximar esa función. La red neuronal se entrena con datos generados por ejecutar el algoritmo evolutivo con diferentes combinaciones de parámetros y observar los resultados (por ejemplo, el valor de la función objetivo). Una vez entrenado, el CWM puede ser usado para guiar el proceso de optimización, sugiriendo valores de parámetros que probablemente conduzcan a un mejor rendimiento, sin necesidad de ejecutar el algoritmo evolutivo completo cada vez.

¿Para qué sirve esto? Los CWMs son útiles en cualquier situación donde se utilicen algoritmos evolutivos, desde el diseño de nuevos materiales hasta la optimización de redes neuronales (meta-optimización) o incluso en el ajuste de parámetros de simulaciones complejas. Ingenieros, científicos de datos e investigadores en optimización serían los principales usuarios.

Sin embargo, existen consideraciones importantes. El entrenamiento de un CWM requiere una cantidad significativa de datos, lo que implica ejecutar el algoritmo evolutivo muchas veces con diferentes parámetros. Además, la precisión del CWM depende de la calidad de los datos de entrenamiento y de la capacidad del modelo de aprendizaje automático para generalizar a nuevas combinaciones de parámetros. Existen alternativas, como la optimización bayesiana, que también buscan optimizar algoritmos, pero los CWMs ofrecen la posibilidad de capturar relaciones más complejas entre los parámetros y el rendimiento del algoritmo evolutivo, especialmente cuando el algoritmo evolutivo es muy complejo y su comportamiento es difícil de modelar directamente.