Poli, Riccardo, et al. Una guía de campo para la programación genética. Lulu com, 2008.; http://cswww.essex.ac.uk/staff/rpoli/gp-field-guide/62ConstrainingStructures.html#x1-467r4:
La evolución gramatical (GE) es simplemente una evolución basada en la gramática donde las restricciones se expresan a través de las gramáticas (O’Neill y Ryan, 2003; Ryan, Collins y O’Neill, 1998). A diferencia de otros enfoques basados en la gramática, GE no utiliza árboles, sino que representa a los individuos como secuencias de longitud variable de enteros que se interpretan en el contexto de una gramática proporcionada por el usuario.
Para cada regla en la gramática, el conjunto de alternativas en el lado derecho está numerado desde 0 hacia arriba. En el ejemplo de gramática en la ecuación (6.3) anterior, la primera regla solo tiene una opción en el lado derecho; por lo tanto, este sería el número 0. La segunda regla tiene dos opciones, que se numerarán del 0 al 1. La tercera regla tiene cuatro opciones que se numerarán del 0 al 3. Finalmente, la cuarta regla tiene tres opciones del numerado 0 al 2. Para crear un programa de un individuo de GE usa los valores en el individuo para “elegir” qué alternativa tomar en las reglas de producción. Por ejemplo, supongamos que un individuo GE está representado por la secuencia
luego comenzamos con 39 y la primera regla de sintaxis, árbol . Sin embargo, el árbol no tiene alternativas, por lo que nos movemos a 7 y descartamos E. Ahora E tiene dos alternativas y se usa 7 (a través del módulo) para elegir entre ellas. Más del proceso de traducción se da en la Figura 6.3.
- ¿Cuáles son los mejores recursos para aprender a visualizar datos?
- ¿Cuáles son algunos de los mejores recursos en línea para escritores?
- Estoy aprendiendo el idioma inglés y soy promedio en ello. ¿Cuáles son las mejores aplicaciones para ayudarme?
- ¿Cuáles son los mejores archivos PDF gratuitos para alguien que quiere aprender lógica, y en qué orden se deben leer?
- ¿Cómo aprender Hadoop desde cero? Soy un MCA más fresco y quiero aprender hadoop. ¿Cuáles son las oportunidades de trabajo para los novatos en Hadoop?
Figura 6.3: Ejemplo de derivación de evolución gramatical utilizando la gramática en la ecuación (6.3) y la secuencia entera en la ecuación (6.4). El no terminal a reescribir está subrayado en cada caso.
En este ejemplo, no necesitamos usar todos los números en la secuencia para generar un programa completo. De hecho, el último entero, 94, no fue usado. En general, el material genético “extra” es simplemente ignorado. Más problemático es cuando una secuencia es “demasiado corta” en el sentido de que se llega al final de la secuencia antes de que se complete el proceso de traducción. Hay una variedad de opciones en este caso, incluyendo falla (asignando a este individuo la mejor condición física posible) y ajuste (continuando el proceso de traducción, volviendo al frente de la secuencia numérica). La evolución gramatical ha sido muy exitosa y es ampliamente utilizada.
Algunos recursos:
- Poli, Riccardo, et al. Una guía de campo para la programación genética . Lulu com, 2008. (http://dces.essex.ac.uk/staff/rp… / HTML: http://cswww.essex.ac.uk/staff/r… / http: //www.gp-field -guide.org.uk/): Capítulo 6 (http://cswww.essex.ac.uk/staff/rpoli/gp-field-guide/62ConstrainingStructures.html).
- Tesis de maestría de Adam Nohejl sobre la evolución gramatical: http://nohejl.name/age/pdf/AGE-D…
- http://en.wikipedia.org/wiki/Gra…
- Algunas diapositivas: http: //www.grammaticalevolution….