stringtranslate.com

Programación multiexpresiva

La Programación de Expresión Múltiple (MEP) es un algoritmo evolutivo para generar funciones matemáticas que describen un conjunto dado de datos. MEP es una variante de la Programación Genética que codifica múltiples soluciones en el mismo cromosoma. La representación de MEP no es específica (se han probado múltiples representaciones). En la variante más simple, los cromosomas MEP son cadenas lineales de instrucciones. Esta representación se inspiró en el Código de tres direcciones . La fortaleza de MEP consiste en la capacidad de codificar múltiples soluciones de un problema en el mismo cromosoma. De esta manera, se pueden explorar zonas más grandes del espacio de búsqueda. Para la mayoría de los problemas, esta ventaja no conlleva ninguna penalización en el tiempo de ejecución en comparación con las variantes de programación genética que codifican una única solución en un cromosoma. [1] [2] [3]

Representación

Los cromosomas MEP son conjuntos de instrucciones representadas en formato de código de tres direcciones .

Cada instrucción contiene una variable, una constante o una función. Si la instrucción es una función, entonces también están presentes los argumentos (dados como direcciones de la instrucción).

Ejemplo de programa MEP

Aquí hay un cromosoma MEP simple (las etiquetas en el lado izquierdo no son parte del cromosoma):

1: un2:b3: + 1, 24:c5:d6: + 4, 57: * 3, 5

Cálculo de aptitud física

Cuando se evalúa el cromosoma, no queda claro qué instrucción proporcionará el resultado del programa. En muchos casos, se obtiene un conjunto de programas, algunos de los cuales no tienen ninguna relación (no tienen instrucciones comunes).

Para el cromosoma anterior, aquí está la lista de posibles programas obtenidos durante la decodificación:

E1 = a,E2 = b,E4 = c,E5 = d,E3 = a + b.E6 = c + d.E7 = (a + b) * d.

Cada instrucción se evalúa como una posible salida del programa.

La aptitud (o el error) se calcula de manera estándar. Por ejemplo, en el caso de la regresión simbólica , la aptitud es la suma de las diferencias (en valor absoluto) entre el resultado esperado (denominado objetivo) y el resultado real.

Proceso de asignación de aptitud física

¿Qué expresión representará el cromosoma? ¿Cuál dará la aptitud del cromosoma?

En la programación genética lineal, el mejor de ellos (el que tiene el menor error) representará el cromosoma. Esto es diferente de otras técnicas de programación genética lineal: en la programación genética lineal, la última instrucción dará el resultado. En la programación genética cartesiana, el gen que proporciona el resultado evoluciona como todos los demás genes.

Cabe señalar que, para muchos problemas, esta evaluación tiene la misma complejidad que en el caso de codificar una única solución en cada cromosoma, por lo que no hay ninguna penalización en el tiempo de ejecución en comparación con otras técnicas.

Software

MEPX

MEPX es un software libre multiplataforma (Windows, macOS y Linux Ubuntu) para la generación automática de programas informáticos. Puede utilizarse para el análisis de datos, en particular para resolver problemas de regresión simbólica , clasificación estadística y series temporales .

libmep

Libmep es una biblioteca gratuita y de código abierto que implementa la técnica de programación multiexpresiva. Está escrita en C++.

hmep

hmep es una nueva biblioteca de código abierto que implementa la técnica de programación de múltiples expresiones en el lenguaje de programación Haskell.

Véase también

Notas

  1. ^ Oltean M.; Dumitrescu D.: "Programación de expresiones múltiples", Informe técnico, Univ. Babes-Bolyai, Cluj-Napoca, 2002
  2. ^ Oltean M.; Grosan C.: "Evolución de algoritmos evolutivos mediante programación de múltiples expresiones", 7.ª Conferencia europea sobre vida artificial, 14-17 de septiembre de 2003, Dortmund, editado por W. Banzhaf (et al), LNAI 2801, págs. 651-658, Springer-Verlag, Berlín, 2003
  3. ^ Oltean M.; Grosan C.: "Evolución de circuitos digitales mediante programación de múltiples expresiones", Conferencia NASA/DoD sobre hardware evolutivo, 24-26 de junio, Seattle, editado por R. Zebulum (et al.), páginas 87-90, IEEE Press, NJ, 2004

Enlaces externos