7

Implementación de la evolución de métodos típicos: arquitectura MetaDE

AI999第5课:方法演化:从优化解到优化算法本身
00:00

La evolución diferencial (DE) tradicional deja que el investigador predefina la estrategia de mutación y los parámetros de control clave, y los mantiene invariables durante todo el proceso de búsqueda. El cambio central de MetaDE es:tratar la propia configuración del algoritmo como objeto de evolución—la evolución externa busca en el espacio de algoritmos y la evaluación interna mide el desempeño en el espacio de soluciones, convirtiendo así el «cómo evolucionar» de una preconfiguración manual en una búsqueda adaptativa.

Estructura de evolución de dos niveles de MetaDEMejorar algoritmos evolutivos con algoritmos evolutivosNivel de evolución externa · espacio de algoritmosObjeto de optimización: configuración del algoritmo1Estrategia de mutación: rand/1cruce binomialF=0.5CR=0.92Estrategia de mutación: best/1cruce exponencialF=0.8CR=0.43Estrategia de mutación: current-to-best/1cruce binomialF=0.3CR=0.7Operaciones de evolución externa: selección · cruce · mutación · eliminación → generar la configuración de la siguiente generaciónLas diferencias entre individuos corresponden a las tendencias de comportamiento de una misma familia de algoritmos ante distintas características del problemaEnvío de la configuración candidata→ tarea originalRetorno del desempeño real→ aptitud externaBucle cerrado de verificaciónGeneración de configuración → verificación en la tarea → aceptación según la retroalimentaciónLa aptitud solo puede provenir de resultados de ejecución realesNivel de tareas interna · espacio de solucionesObjeto de optimización: solución del problemaTarea de optimización originalInstancia del problema dadaLa misma configuración se ejecuta de forma independiente varias vecesRepetir 10 vecesEstadísticas de aptitud realSe toma la media como aptitud del individuo externoCanal de verificación: cada configuración candidata debe ejecutarse realmente una vez en la tarea originalEl nivel externo optimiza la configuración del algoritmo y el interno la solución del problema; ambos niveles se conectan mediante el canal de verificación de «ejecutar de verdad una vez»

Estructura de dos niveles: el nivel externo busca algoritmos, el interno resuelve el problema

  • Nivel interno: el proceso habitual de resolución de la evolución diferencial sobre la tarea de optimización original, encargado de proporcionar el desempeño real en la tarea.
  • Nivel externo: toma una configuración del algoritmo DE como un individuo y aplica selección, cruce, mutación y eliminación sobre el espacio de configuraciones.

Las responsabilidades de ambos niveles no deben confundirse: el objeto de optimización del nivel externo esla configuración del algoritmo, y el objeto de optimización del nivel interno esla solución del problema. El primero determina «cómo buscar» y el segundo, «qué tan bueno es lo encontrado».

Qué evoluciona el nivel externo

Un individuo externo no codifica unos cuantos números, sino todo un conjunto de comportamientos del algoritmo: la estrategia de mutación (rand/1, best/1, current-to-best/1, etc.), el tipo de cruce (binomial, exponencial) y parámetros de control como el factor de escala F, la probabilidad de cruce CR y el tamaño de la población. Las diferencias entre individuos corresponden precisamente a las distintas tendencias de comportamiento de una misma familia de algoritmos ante diferentes características del problema.

Bucle cerrado de verificación: las configuraciones candidatas deben ejecutarse de verdad una vez

Ninguna configuración candidata puede aceptarse o descartarse solo con base en metaindicadores o juicios a priori: debe enviarse a la tarea original para ejecutarse realmente y someterse a la verificación del desempeño real. Después, el nivel externo realiza la selección, la eliminación y la conservación según la aptitud retroalimentada por el nivel interno, decidiendo qué configuraciones se heredan y se propagan. Así se forma un bucle iterativo cerrado de «generación de configuración → verificación en la tarea → aceptación según la retroalimentación», en el que la aptitud externa solo puede provenir de los resultados de ejecución reales del nivel interno.

Diferencias con la DE de parámetros fijos

En la DE tradicional, el investigador predefine la estrategia y los parámetros y estos permanecen fijos durante todo el proceso; MetaDE traslada esa decisión a la evolución externa, dotando al algoritmo de capacidad de adaptación a las características del problema; por ejemplo, en las primeras fases de la búsqueda prefiere rand/1, con mayor capacidad exploratoria, y valores de F más altos, mientras que en fases posteriores pasa a best/1, de convergencia más rápida, y valores de F más pequeños.

Costo y requisitos previos

Cada configuración candidata debe ejecutar por completo una vez la tarea del nivel interno (normalmente también varias ejecuciones independientes para promediar y así atenuar la aleatoriedad), y el costo de evaluación se multiplica según el tamaño de la población externa y el número de generaciones. Por ello, MetaDE depende en gran medida de bases de ingeniería como la paralelización, la tensorización y la planificación en tiempo de ejecución; esta es precisamente la razón de ingeniería por la que debe construirse sobre un Runtime tensorizado.

Ejemplo mínimo ejecutable
Tomemos como ejemplo un conjunto de tareas de optimización continua: cierto individuo de la población externa está codificado como «rand/1 + cruce binomial + F=0.5, CR=0.9»; esa configuración se envía a la tarea del nivel interno y se ejecuta varias veces de forma independiente, tomando la aptitud media como aptitud del individuo externo; a partir de ella, el nivel externo selecciona, muta y conserva las mejores configuraciones, formando un bucle iterativo cerrado de «generación de configuración—verificación en la tarea—aceptación según la retroalimentación». Este paso es la forma mínima ejecutable de «mejorar algoritmos evolutivos con algoritmos evolutivos».

Posicionamiento: MetaDE es la concreción del «mecanismo de evolución y adaptación de dos niveles, interno y externo» como una arquitectura implementable, y ofrece un paradigma metodológico para la evolución posterior de estructuras de algoritmos (AutoPSO, EvoGO).