Proyecto final de master. Parte 1

Page 1

Técnicas de Computación Evolutiva en ciencia aeroespacial. Trabajo de investigación tutelado

Programa de Máster Universitario en Ingeniería del Software e Inteligencia Artificial.

Periodo 2009 – 2010 (ver notas a pie de documento).

Alumno : José Alberto García Gutiérrez Tutores: Dr. Carlos Cotta Porras Dr. Antonio J. Fernández Leiva

Autorizo a la defensa del presente proyecto,

Universidad de Málaga, Febrero de 2011.


Índice Capítulo 1. Introducción. 1.1 MOTIVACIÓN Y PLANTEAMIENTO. ...................................................................................................... 5 Algoritmos de inspiración evolutiva e ingeniería. ............................................................................................................. 6

1.2 ESTRUCTURA DEL TRABAJO.................................................................................................................. 6

Capítulo 2. Conceptos Previos. 2.1 COMPUTACIÓN EVOLUTIVA: LÍNEAS DE INVESTIGACIÓN DE APLICACIÓN EN CIENCIA AEROESPACIAL ................................................................................................................................................ 8 2.1.1. Parametrización de modelos matemáticos, ajuste mínimo de funciones no lineales.................................................... 8 ARTÍCULOS REPRESENTATIVOS DEL ÁREA DE APLICACIÓN ................................................................................................... 9 Stellar structure modeling using a parallel genetic algorithm for objetive global optimization. Metcalfe, Charbonneau (2002) ....................................................................................................................................................................... 9 OTROS ARTÍCULOS DE INTERÉS ......................................................................................................................................... 14 A multi-objetive approach to the design of low thrust space trajectories using optimal control. Dellnitz, OberBlöbaum, et Al. (2010)............................................................................................................................................. 14 Niching genetic algorithm-based characterization of geocentric orbits in the 3D elliptic restricted three-body problem. Gurfil, kasdin (2002) ................................................................................................................................. 14 Interplanetary mission design with aero-assisted manoeuvres multiobjetive evolutive optimization. Lavagna, Povoleri, Finzi (2004) .............................................................................................................................................. 14 2.1.2 Aplicaciones en estudio de materiales y aerodinámica ............................................................................................... 15 ARTÍCULOS REPRESENTATIVOS DEL ÁREA DE APLICACIÓN ................................................................................................. 16 Aeronautical Applications of Evolutionary Design. Kroo et Al. (2004)....................................................................... 16 OTROS ARTÍCULOS DE INTERÉS ......................................................................................................................................... 18 Multiobjetive optimization of rocket engine pumps using evolution algorithm. Oyama et Al. (2009) ....................... 18 2.1.3 Aplicaciones en la búsqueda y modelado de sistemas estelares.................................................................................. 18 ARTÍCULOS REPRESENTATIVOS DEL ÁREA DE APLICACIÓN ................................................................................................. 19


Determining orbital elements of extrasolar planets by evolution strategies. Andreas M. Chwatal (2008).................. 19 OTROS ARTÍCULOS DE INTERÉS ......................................................................................................................................... 21 Genetic algorithms in astrophysics. P.Charbonneau (1996) ...................................................................................... 21 Search for black hole binaries using a genetic algorithm. Petiteau, Shang et Al. (2009) ............................................ 21 A search for supermassive black holes with a hybrid evolutionary algorithm Porter et Al. (2010) ............................. 22 2.1.4 Aplicaciones en robótica y despliegue de agentes autónomos .................................................................................... 22 ARTÍCULOS REPRESENTATIVOS DEL ÁREA DE APLICACIÓN ................................................................................................. 22 Autonomous robot exploration of unknown terrain : A preliminary model of mars rover robot. Peniak, Cangelosi. (2009) ..................................................................................................................................................................... 22 Adaptative agent navigation. Shin-Jin Kang · YongO Kim (2010) ............................................................................... 26 OTROS ARTÍCULOS DE INTERÉS ......................................................................................................................................... 29 Hybrid intelligent path planning for articulated rovers in rough terrain. Tarokh (2008)............................................. 29 A machine-learning approach to multi-robot coordination. Wang, de Silva (2008) .................................................. 29

Capítulo 3. Descripción de problema y Enfoque de resolución. 3.1 ORBITAS DE TRASFERENCIA TIERRA-LUNA Y ESTRATEGIAS EVOLUTIVAS ......................... 31 3.1.1 Orbitas de transferencia y el problema de tres cuerpos ......................................................................................... 31

3.2 PLANTEAMIENTO DEL PROBLEMA................................................................................................... 34 3.2.1 El problema de tres cuerpos circular planar restringido (PCR3BP) .......................................................................... 35

3.3 MÉTODOS ALGORÍTMICOS .................................................................................................................. 40 3.3.1. MÉTODO SIMPLEX MODIFICADO .......................................................................................................................... 40 3.3.2. EVOLUCIÓN DIFERENCIAL (ED) .............................................................................................................................. 42 3.3.3 COVARIANCE MATRIX ADAPTATION EVOLUTIONARY STRATEGY (CMA-ES) ......................................................... 44 3.3.4 PROPUESTA DE HIBRIDACIÓN ................................................................................................................................ 46

Capítulo 4. Conclusiones y trabajo futuro. 4.1 RESULTADOS OBTENIDOS Y COMPARATIVA ................................................................................. 48

Página 3 de 57


4.2 CONCLUSIONES Y CONSIDERACIONES FINALES ............................................................................ 52 REFERENCIAS BIBLIOGRAFICAS............................................................................................................... 53


Capítulo 1. Introducción

1.1 Motivación y planteamiento. El principal aval de las técnicas de inspiración evolutiva es su propio éxito. Por separado o conjuntamente a otras técnicas, los algoritmos evolutivos aparecen ligados a disciplinas tan dispares como Biología, Genética, Robótica, Física, Ingeniería del Software, y Diseño de Sistemas. Sin embargo el auge de este tipo de técnicas no se produce de forma aislada sino que es necesario entenderlo dentro de los avances producidos en el campo de la Inteligencia Artificial. Hoy día la Inteligencia Artificial es usada en investigación directa o indirectamente en prácticamente la totalidad de las áreas de la ciencia. La Inteligencia Artificial ofrece soluciones realistas y computacionalmente tratables en áreas como: a.

Aprendizaje automático, clustering y reconocimiento de patrones, tratamiento de datos de alta dimensionalidad.

b.

Sistemas adaptativos, o capaces de reaccionar ante situaciones anómalas o inesperadas.

c.

Sistemas robustos, o capaces de lidiar con problemas computacionalmente difíciles y obtener soluciones válidas. Página 5 de 57

d.

Optimización y desarrollo de sistemas más eficientes y capaces de dar respuesta en tiempos acotados.

e.

Compresión de bloques de información y procesamiento de grandes volúmenes de datos, extracción de conocimiento e información de valor, almacenamiento de patrones, predicción de secuencias.

Estas ventajas han propiciado que su adopción sea muy rápida en la industria aeroespacial y que dentro del ámbito civil o militar, las principales agencias espaciales dediquen importantes inversiones dentro de sus presupuestos de investigación a la aplicación de técnicas de inteligencia artificial en general y de computación evolutiva en particular. En la agencia espacial americana, dentro del JPL ( Jet Propulsion Laboratory ), uno de los centros de investigación más importantes de la agencia, existe desde hace varios años un grupo de trabajo dedicado en exclusiva a la IA y dentro de este, uno dedicado a la aplicabilidad de las técnicas evolutivas, el Evolvable Computation Group [1]. Este grupo, ha desarrollado durante estos años decenas de aplicaciones satisfactorias y demostrado la utilidad de estas técnicas, rediseñando sistemas críticos, encontrando buenas soluciones a complejos sistemas de optimización multiparamétrica y en general, desarrollando sistemas innovadores que han


ahorrado costes, esfuerzos y vidas humanas al programa espacial. Algoritmos de inspiración evolutiva e ingeniería. Existen varias aproximaciones a la idea de algoritmos evolutivos pero a pesar del amplio abanico de algoritmos disponibles, todos ellos son similares en su planteamiento básico y en el uso que dan a las ideas evolutivas, y difieren principalmente en la forma de representación de la información. Los algoritmos de optimización evolutiva (EAs) representan los parámetros a optimizar dentro de una estructura parecida a los genes naturales y consecuentemente se utilizan mecanismos derivados de las ideas darwinianas de selección natural y deriva poblacional. Los Algoritmos Genéticos (GAs) como caso particular, son un tipo de algoritmo evolutivo que ha demostrado ser muy efectivo en la optimización de procesos no lineales [28,29], con saturación de ruido, y en general poco conocidos. Además los AGs son algoritmos que pueden abarcar y aplicarse con éxito a un amplio espectro de problemas y para su diseño es suficiente con tener un conocimiento mínimo a priori acerca del sistema. Esto convierte a los algoritmos genéticos en un paradigma de aplicación deseable en un gran número de escenarios donde la complejidad del problema hace desaconsejable otro tipo de metodologías. Una aproximación evolutiva distinta es la programación genética (GP). Este paradigma permite abordar problemas de optimización no lineal basada en un lenguaje simbólico. El paradigma usado en programación genética también utiliza principios de selección darwiniana como la selección basada en fitness, pero los operadores genéticos ahora actúan sobre árboles simbólicos [30]. Por ejemplo, cada uno de estos árboles podría estar formado por sentencias de un lenguaje de programación determinado. Sale de lo convencional y se diferencia de los GA

principalmente en lo que respecta a su sistema de representación. Las estructuras sometidas a adaptación son comúnmente programas completos que son ejecutables o conjuntos jerárquicos de reglas evaluables de forma dinámica y con tamaños y formas distintos. Frecuentemente este tipo de sistemas son sistemas híbridos, como en el caso de la GPFuzzy [31], que comprende una población de reglas difusas / bases (estructuras simbólicas) que son los candidatos a ser soluciones al problema, y evolucionan en respuesta a una presión selectiva inducida por su relativo éxito en la implementación de la conducta deseada. En muchos casos las técnicas evolutivas son usadas dentro de soluciones híbridas. Los métodos de aplicaciones híbridas han demostrado ser eficaces en el diseño de sistemas inteligentes de control [32]. Como se demostró en los últimos años, la lógica borrosa, las redes neuronales y los paradigmas evolutivos pueden ser y son metodologías complementarias en los trabajos de diseño e implementación de sistemas inteligentes. Cada uno de esos enfoques tiene sus ventajas e inconvenientes. Para aprovechar las ventajas y eliminar sus desventajas, en aplicaciones operativas reales muchos trabajos proponen la integración de varias de estas metodologías. Estas técnicas incluyen la integración de redes neuronales y técnicas de lógica difusa, así como la combinación de estas dos tecnologías con técnicas de computación evolutiva.

1.2 Estructura del trabajo En los últimos diez años, han surgido numerosas propuestas que aplican con mayor o menor éxito metodologías de computación evolutiva a problemas de aparición común en ingeniería. Algunos de estos problemas, como el desarrollo de técnicas de aprendizaje automático, la estimación de parámetros no lineales, el desarrollo de sistemas de control, y la resolución de problemas de optimización multi-objetivo, han tenido y tienen especial repercusión en el campo de la ciencia aeroespacial ya que permiten, o facilitan en un


mayor grado, la adaptación/optimización automática de sistemas sin intervención humana. En el Capítulo 2 del trabajo se dará una visión general del estado del arte de la aplicación de técnicas de computación evolutiva en este campo y sus posibilidades futuras, para después en el Capítulo 3 realizar un estudio comparativo de alguna de ellas en el marco de un problema real de enorme transcendencia en el desarrollo de misiones espaciales tripuladas o no tripuladas a la luna o a otros cuerpos del sistema solar, el PCR3BP (Planar Circular Restricted Three Body Problem). Durante el capítulo se realiza una comparativa del desempeño de diferentes algoritmos de optimización multiobjetivo en dominios reales en la resolución de un problema de optimización de órbitas para el caso de las órbitas de transferencia entre la Tierra y la Luna enunciado según las restricciones impuestas por Koon, Marsden y Ross en [41][42] y resuelto siguiendo las simplificaciones elaboradas por Ashley Moore en [43] y Belbruno y Miller en [44] que permiten abordar la dinámica del problema de

Página 7 de 57

cuatro cuerpos a través de dos sistemas PCR3BP solapados (planar circular restricted 3-body problem) unidos mediante un área de intersección de sus contornos de energía (sección de Pointcaré). Además en el Capítulo 3 se propone una estrategia evolutiva híbrida combinando un algoritmo CMA-ES (Covariance Matrix Adaptation Evolutionary Strategy) y un algoritmo de evolución diferencial. La exposición de los resultados obtenidos así como una comparativa del desempeño de las diferentes técnicas expuestas se desarrolla en detalle en el Capítulo 4, demostrando, tras las pruebas realizadas, la validez de este tipo de técnicas y encontrando que el algoritmo híbrido fue capaz de encontrar soluciones alrededor de un 15% mejores que las encontradas mediante técnicas convencionales y mostrar un mejor comportamiento al converger más rápido de lo que lo hicieron la estrategia evolutiva o las técnicas de cálculo numérico por sí solas. En este capítulo se incluyen también las reflexiones finales y consideraciones sobre futuros trabajos y ampliaciones.


Capítulo 2. Conceptos Previos

2.1 Computación Evolutiva: Líneas de investigación de aplicación en ciencia aeroespacial 2.1.1. Parametrización de modelos matemáticos, ajuste mínimo de funciones no lineales. Los modelos que son analíticamente tratables, son también normalmente demasiado generales para proveer la precisión que requiere un sistema físico. Un ejemplo cotidiano de esto lo encontramos en nuestra estrella. El Sol está a apenas 8 minutos luz de distancia de la Tierra, desde los inicios de la astronomía el estudio del Sol ha tenido un papel destacado debido a la gran influencia que ejerce sobre el planeta (el Sol es el principal motor del ciclo climático, la fuente de energía que mantiene la fotosíntesis y por tanto la base de la cadena trófica, y el origen de los ciclos estacionales). Por todo ello muchos eminentes científicos han dedicado su vida profesional al estudio del sol, sin embargo, y a pesar de esto, no existe un modelo matemático completo que describa y permita realizar predicciones fiables sobre el comportamiento del sol a corto o medio plazo (aunque sí, modelos parciales como el de Christensen-Dalsgaard [24] de 1982).

Figura 1. Complejos patrones en la corteza solar producidos por la superposición de intensos campos magnéticos. Por ejemplo, según Cayrel [24], el Litio es 200 veces más escaso en el sol de lo que predicen los modelos físicos, y parece ser que esta deficiencia también se encuentra en las estrellas de nuestro entorno de tipo solar, pero se desconoce el motivo de esta carencia. En el Sol, como en cualquier estrella, no rige un único proceso sino una combinación de procesos, algunos de ellos de gran complejidad, donde intervienen unidas leyes químicas, gravitatorias, nucleares, de dinámica de fluidos, electromagnéticas, termodinámicas, etc.., generando costosos modelos numéricos que se nutren de cientos de variables volviéndose por todo esto inabarcables


computacionalmente. La figura 1 da una muestra de los complejos patrones que las sondas de reconocimiento solar han podido observar en la superficie del sol. Para poder aproximar estos problemas, en investigación se utilizan modelos de simulación que permiten validar el trabajo desarrollado dentro de unos márgenes de aceptación realistas. Los algoritmos evolutivos en este ámbito aparecen como una nueva e innovadora manera de encontrar buenos ajustes y parámetros de calibración a modelos matemáticos de gran complejidad analítica aportando además la ventaja de ser enormemente tolerantes a la necesitad de reparametrizar el sistema o realizar ajuste fino cuando aparece un nuevo conjunto de condiciones en el entorno.

ARTÍCULOS REPRESENTATIVOS DEL ÁREA DE APLICACIÓN Stellar structure modeling using a parallel genetic algorithm for objetive global optimization. Metcalfe, Charbonneau (2002)

En este artículo se describe una posible implementación para un algoritmo genético distribuido para la determinación de parámetros globalmente óptimos para un modelo matemático usado para obtener información física y estructural acerca de estrellas a través de la observación de sus frecuencias de oscilación. El modelo matemático se ajusta sobre un conjunto de datos que son obtenidos del muestreo del comportamiento de una estrella (del tipo) enana blanca obteniendo resultados físicos interesantes que permiten conocer mejor la historia de las reacciones nucleares que tuvieron lugar en la estrella, el porcentaje de carbono que se ha formado en su núcleo, o si se han formado elementos más pesados como el oxigeno. Estos parámetros permiten caracterizar la estrella y conocer el momento de su ciclo vital.

Página 9 de 57

Contexto Físico Las estrellas de tipo solar acaban su vida cuando el hidrogeno que mantiene su reacción nuclear empieza a agotarse. En este momento el helio que se ha producido durante la vida de la estrella empieza a contraerse por la acción de la gravedad incrementando la tasa de hidrogeno que se quema en las capas que rodean al núcleo, convirtiendo a la estrella en una gigante roja varias veces mayor que la estrella original. Conforme el núcleo de helio continúa comprimiéndose aún más bajo la influencia gravitatoria de su propia masa, alcanza temperaturas y densidades que consiguen iniciar la fusión del helio en elementos más pesados como el carbono. Este carbono a su vez puede fusionar con dos átomos de helio y formar oxígeno, y en estrellas de mayor tamaño elementos aún más pesados. Al final de la vida de la gigante roja estos elementos se dispersan para formar una nebulosa planetaria y en el centro del sistema se forma una enana blanca caliente. En este tipo de estrellas ya no ocurren reacciones nucleares por lo que su brillo se debe a su elevada temperatura y decae conforme la estrella va perdiendo calor al espacio. La forma en que se produce este proceso de enfriamiento hace vibrar a la estrella de forma periódica de una determinada manera. Estas variaciones envían ondas a las profundidades de la estrella en forma de ondas sísmicas y a su vez estos seísmos producen determinadas variaciones en el brillo apreciable. Usando detectores fotométricos de alta velocidad, los investigadores pueden estudiar de carca estas variaciones y construir modelos informáticos que revelen la estructura interna de la enana blanca y su historia nuclear. Para conocer más acerca de los procesos físicos que tienen lugar en la formación de nebulosas planetarias se puede consultar [23]. También constituyen una valiosa fuente de información sobre el tema los trabajos de S. Turck-Chièze, w. Däppen y equipos sobre física de partículas y el modelo solar estándar [27].


En la figura 2 pueden observarse los diferentes caminos de evolución de las estrellas según su masa tomando como referencia la masa solar. En la parte superior aparecen las estrellas más masivas, como muestra la figura estas estrellas acaban

colapsando su núcleo y produciendo una explosión de tipo supernova. En la parte inferior en cambio aparecen las estrellas menos masivas que son aquellas que terminarán su vida como estrellas enanas blancas.

Figura 2. Diferentes caminos de evolución estelar según su masa en relación con la masa solar (M ). Codificación de las Soluciones Para resolver el problema se usó PIKAIA [26] una librería de optimización mediante algoritmos genéticos pensada para trabajar sobre problemas del ámbito de la física. Actualmente se conocen 26 tipos de estrellas enanas blancas variables. Estas estrellas son llamadas en la literatura relacionada estrellas ZZ Ceti, debido a la primera estrella de este tipo que se descubrió en la constelación de Cetus. Por lo general, estas estrellas tienen un núcleo de carbono-oxigeno, debido a las reacciones nucleares explicadas con anterioridad. Su núcleo está rodeado por una envoltura de helio puro y sobre ella se sitúa una capa menor de hidrogeno. Los pulsos emitidos por las estrellas ZZ Ceti son pulsos no

radiales multiperiódicos, con periodos comprendidos entre los 100 segundos y los 30 minutos. Una pulsación es radial cuando la estrella oscila alrededor de un estado de equilibrio cambiando su radio pero manteniendo su forma esférica. La pulsación radial es solo un caso especial de la no radial. La pulsación no radial ocurre cuando partes de la superficie de la estrella se sienten empujados en una dirección mientras otras partes lo hacen en una dirección distinta al mismo tiempo. Como cualquier oscilación esta pulsación puede ser descrita a través de tres parámetros: el orden radial (n), el grado (l) y la elevación (m). El grado (l) es el número de líneas de nodo en la superficie de la estrella (cada una de las líneas de nodo son los lugares donde el movimiento no radial tiene lugar). De esas l líneas de nodo un total de m líneas se


mueven en dirección meridional. Los modos donde m<>0 representan ondas viajando por la estrella. Si m<0 entonces este movimiento se realiza de forma retrograda. Debido a la compleja estructura de frecuencias, las observaciones terrestres deben ser tomadas a la vez desde distintas localizaciones para minimizar los errores y utilizar tres canales simultáneos: uno a la estrella objetivo, uno a una estrella de comparación y uno al cielo de fondo. Este procedimiento permitirá limpiar la señal y eliminar posibles interferencias de la atmósfera o de ruidos externos. Una vez limpia de interferencias el siguiente paso es someter a la curva lumínica a un análisis multifrecuencia. Este análisis deberá determinar el conjunto de señales que son transportadas por la señal sin procesar. Comparando estas señales con las obtenidas del modelo podremos conocer como de buena es una solución candidata. El modelo tomado se basa en el propuesto por [23] en 1995. En este modelo se toma una expresión de la ley de conservación de masas asumiendo esfericidad,

Donde P (la presión ejercida) es una función de la densidad, la temperatura, la composición y la distribución interna de esos materiales en la estrella, es decir, (Ec. 4)

Para algunas partes del interior de la estrella los elementos ligeros como el hidrógeno o el helio están completamente ionizados por lo que la ecuación de los gases perfectos es una buena aproximación. En otras partes de la estrella, y en otros estratos, esta ionización puede ser parcial, lo que deberá ser tenido en cuenta. En las partes centrales, durante la fase nuclear de la estrella las densidades pueden ser lo suficientemente altas como para que los electrones lleguen a degenerar, este comportamiento está descrito en el principio de Pauli [33]. El gradiente de temperatura se determina por el flujo de energía que atraviesa la estrella y por la opacidad de los estratos. En regiones donde esta energía es transportada por fotones o conducción de electrones se tiene que (Ec. 5)

(Ec. 1)

donde M(r) es la masa contenida en un volumen esférico de radio r y p es la densidad. Se considera que el balance entre las fuerzas expansivas generadas por la estrella (presión de radiación) y las contractivas causadas por la gravedad viniendo dado por (Ec. 2)

Siendo p una función de la densidad de los materiales que conforman la estrella y calculándose g (Ec. 3)

Página 11 de 57

Donde L(r) es la cantidad total de energía pasando a través de la esfera de radio r considerada por unidad de tiempo, c es la velocidad de la luz, y a es la constante de radiación. El gradiente de temperatura dado por la ecuación anterior es un buen ajuste cuando suponemos la entropía constante. Cuando la convección es muy eficiente y la densidad muy alta se considera en su lugar el gradiente adiabático, que resulta mucho más apropiado. (Ec. 6)

Siendo (dT/dP)ad la derivada de P con respecto a T tomando constante la entropía.


Tomando ese modelo, la solución estará formada entonces por una matriz de parámetros reales que sirven para parametrizar el modelo y poder predecir las ondas que deberían producirse de forma que se puedan contrastar con las que fueron observadas.

Flag

A B C D E F G H I J K

Freq.

Period

(mHz)

(s)

1.075 1.095 1.113 1.137 1.147 1.157 1.163 1.183 1.222 1.247 1.291

930 913 898 880 872 864 860 845 818 802 775

Amp. (m mag) g95

g97

8.0 7.2 8.9

3.8 5.3 7.6 7.0 4.2 8.5 9.7

7.0

13.3

10.6 4.8 10.7

Tabla 1a.Resultados del análisis multifrecuencia realizado usando técnicas convencionales (análisis Fourier) para la estrella G 255-2.

Flag

L M N O P Q R S T U

Freq.

Period

(mHz)

(s)

1.364 2.468 1.486 1.645 1.747 1.759 2.505 2.625 2.759 3.249

733 681 673 608 572 569 399 381 362 308

Amp. (m mag) g95

24.8 6.9 13.7 17.1

g97

4.4 25.1 7.2 12.5 4.6 6.2 5.3 3.7 2.7 2.1

Tabla 1b.Resultados del análisis multifrecuencia realizado usando técnicas convencionales (análisis Fourier) para la estrella G 255-2.

Algoritmo propuesto El algoritmo propuesto es un algoritmo genético paralelo basado en PIKAIA que opera dentro de una arquitectura cliente servidor. Sería realmente discutible si realmente podría considerarse el algoritmo implementado como un algoritmo genético paralelo pues no se aprovechan las ventajas implícitas al uso del paralelismo en este tipo de algoritmos [34] sino que se utiliza este como recurso computacional ante el elevado coste de la creación y la simulación del comportamiento de los diferentes modelos. La maquina servidora será un cluster Linux donde ejecuta el programa maestro que se encargará de inicializar una aplicación cliente en cada una de las máquinas esclavas. Una vez hecho esto el programa maestro inicializa una serie de vectores de parámetros (inicialmente aleatorios) y genera con ellos una población de soluciones candidatas. Después el servidor envía uno de estos candidatos a cada cliente para que sea evaluado su potencial como solución. El programa cliente toma los datos de masa, temperatura, composición y estructura desde el vector y crea un modelo de simulación que hará avanzar el estado de la estrella hasta la forma deseada. Entonces calculara los periodos de pulsación no radial que deberían producirse en la estrella siguiendo el modelo aceptado en la actualidad descrito por las ecuaciones de Kawalwer en 1986 [35]

La explicación del significado físico de las citadas ecuaciones se escapa del propósito del presente trabajo por lo que nos limitaremos a decir que dichas ecuaciones nos permiten predecir el movimiento que las fluctuaciones producidas por la estrella, para un mayor


detalle el lector puede acudir al libro del mismo autor [36]. Finalmente, cada periodo observado es comparado con el periodo más cercano de los obtenidos mediante cálculo numérico y se calcula la varianza. El fitness para el candidato es calculado como la inversa de la raíz de las medias cuadradas de ese periodo residual.

Si en un tiempo razonable no se ha recibido respuesta de todos los clientes el programa maestro asigna fitness cero a aquellos que no han respondido. Y una vez se han recibido todos los valores de fitness se ejecutan sobre la población los correspondientes operadores genéticos resultando en la nueva generación de modelos a calcular.

Figura 3. Algoritmo genético maestro-esclavo.

El algoritmo genético de Charbonneau, PIKAIA, utiliza selección generacional y proporcional a la aptitud, junto con elitismo, para asegurar que el mejor individuo se copia una vez hacia la siguiente generación sin ninguna modificación. PIKAIA utiliza una probabilidad de cruzamiento de 0,65 y una tasa de mutación variable que se configura a 0,003 inicialmente y luego aumenta gradualmente, mientras la población se aproxima a la convergencia, para mantener la variabilidad en el material genético.

completo constaba de tres ejecuciones, cada una con un total de 650 generaciones y un tamaño poblacional de 128. Al final, el Algoritmo requirió de 2,5 x 10^6 evaluaciones de modelos, lo cual resultó ser 4000 veces más eficiente que una búsqueda exhaustiva. Una vez probada su eficacia sobre conjuntos de datos preparados, los autores del trabajo deciden contrastar sus resultados con los obtenidos para la composición del núcleo de una estrella conocida, la GD358, obteniendo una proporción de oxigeno de 84% con un margen de error del 3%.

Resultados obtenidos En las pruebas realizadas los autores comprobaron que la probabilidad de acierto del método rondaba el 70% para una única ejecución. El procedimiento de optimización

Página 13 de 57

Se pueden consultar los resultados de la comparativa señalada, de especial interés al tratarse de estadísticas tomadas sobre el rendimiento en observaciones reales en [37].


OTROS ARTÍCULOS DE INTERÉS Existen por supuesto muchos otros artículos de aplicación dentro de esta área, entre ellos, nos interesa, por su temática y orientación hacer mención aunque de forma más breve a:

A multi-objetive approach to the design of low thrust space trajectories using optimal control. Dellnitz, Ober-Blöbaum, et Al. (2010)

Este artículo el Dr.Dellnitz y colaboradores proponen el uso de un algoritmo evolutivo para generar secuencias de comandos de control que permitan el tránsito de satélites que se encuentran en órbita geoestacionaria hasta orbitas halo. Como se verá en mayor detalle en las secciones posteriores una órbita halo es una órbita periódica semiestable, cuyo centro está cercano a un punto de Lagrange (que son los puntos donde la fuerzas gravitatorias de dos cuerpos entran en equilibrio). Las órbitas halo son estables debido a una compleja interacción entre las fuerzas gravitatorias de los dos cuerpos planetarios que intervienen y la aceleración centrípeta creada por el vehículo espacial. Este tipo de orbitas son factibles en muchos sistemas como el sistema Tierra-Sol y el sistema Tierra-Luna.

Niching genetic algorithm-based characterization of geocentric orbits in the 3D elliptic restricted three-body problem. Gurfil, kasdin (2002)

El artículo sopesa la aplicación de algoritmos evolutivos a la caracterización de orbitas geocéntricas en el plano de la elíptica TierraSol, con especial énfasis en encontrar soluciones subóptimas. Para ello emplea un problema restringido a tres cuerpos (3R3BP) que es un problema bien conocido que permite reducir la complejidad del problema afectando mínimamente a la calidad de las soluciones. Este tipo de órbitas son muy importantes para el posicionamiento de satélites pues permiten una muy alta tasa de transferencia en

comunicaciones mientras se mantienen dentro de un entorno operacional seguro y fuera de perturbaciones térmicas y de radiaciones e interferencias producidas por el campo magnético de la tierra. Otros factores a tener en cuenta son por ejemplo, el que la órbita permita una alta tasa de comunicaciones, minimice la dependencia de las bases terrestres y permita el lanzamiento de misiones de servicio con bajo coste de trasferencia.

Interplanetary mission design with aero-assisted manoeuvres multiobjetive evolutive optimization. Lavagna, Povoleri, Finzi (2004)

El artículo propone una aproximación al problema del cálculo de asistencias gravitatorias mediante optimización evolutiva. Cuyo objetivo será encontrar la secuencia óptima de asistencias y los parámetros de los sobrevuelos para minimizar el coste y el tiempo de viaje de una misión interplanetaria. Técnicas parecidas se han usado con éxito en misiones al sistema solar exterior desde las históricas Voyager a la reciente sonda CassiniHuygens. El algoritmo propuesto usará aproximaciones cónicas para reducir la complejidad del problema y calcular el coste de las diferentes órbitas y tendrá en cuenta los diferentes tipos de captura que se aplicarán en destino para alcanzar una órbita estable.

Figura 4. Plan de vuelo para una hipotética misión al sistema solar exterior con asistencias en la Tierra, Marte y Júpiter.


2.1.2 Aplicaciones en estudio de materiales y aerodinámica Los Algoritmos Evolutivos son una potente herramienta en optimización de diseños. Debido a su relativa sencillez en comparación con otros métodos algorítmicos, su facilidad de uso, y su capacidad para adaptarse a los problemas de optimización multiobjetivo, Los EAs han sido aplicados a problemas de optimización de diseños en muchas áreas, entre estas aplicaciones se encuentran la resolución de problemas reales de diseño de materiales o todo tipo de conjuntos aerodinámicos, desde conducciones de aire, turbinas o compresores, hasta diseños de motores, diseños mecánicos completos o conjuntos de alerones.

maximizar el empuje total y minimizar el consumo de combustible. Estos dos objetivos están enfrentados: Mejorar unos de ellos inevitablemente empeorará el otro. A diferencia de los problemas de optimización monoobjetivo, un problema de optimización multiobjetivo no tiene una óptima solución que es mejor que todas las demás en términos de todos sus objetivos. En lugar de eso se intenta llegar a soluciones de compromiso, cada una de las cuales es mejor que las demás para un objetivo pero peor en otros. Este tipo de soluciones son conocidas como soluciones no dominantes o puntos pareto-óptimos. Cuando estamos trabajando con problemas de optimización multiobjetivo, los métodos clásicos como los basados en descenso de gradiente normalmente actúan convirtiendo el problema multiobjetivo en varios problemas monoobjetivo introduciendo parámetros. De esta forma cada solución óptima está asociada con un vector de parámetros particular.

Figura 5. Nasa Rotor Transónico 67 Los EAs han sido aplicados con éxito en proyectos de toda envergadura produciendo importantes reducciones de costes y mejoras sustanciales en los resultados conseguidos. Algunos ejemplos se pueden encontrar en los trabajos de Oyama et al. donde se aplicaron algoritmos evolutivos al rediseño del rotor transónico 67 de la NASA [4]. Razonamientos parecidos fueron aplicados por Liou et al. [5] y Lian et al. [6,7] al rediseño de los pistones de varios cohetes de combustible líquido. En este tipo de problemas de ingeniería la flexibilidad de los Algoritmos Evolutivos es crucial. Por ejemplo, en los trabajos de Lian et al. antes mencionados [6,7] los objetivos son

Página 15 de 57

Figura 6. Soluciones no dominantes Para encontrar otra solución de las que se encuentran en el frente de Pareto hay que elegir un nuevo vector, y resolver el problema monoobjetivo resultante. Por otro lado, la población en un EA puede ser construida para enfatizar todas las mejores soluciones y encontrar un conjunto de soluciones potencialmente válidas mediante el uso de un operador genético que preserve la diversidad.


ARTÍCULOS REPRESENTATIVOS DEL ÁREA DE APLICACIÓN Aeronautical Applications of Evolutionary Design. Kroo et Al. (2004)

Este artículo describe el uso de métodos de diseño evolutivo en aplicaciones en aeronáutica a través de ejemplos aplicados al diseño de aviones supersónicos. El proceso de optimización tiene gran importancia en aeronáutica, un pequeño cambio en la geometría del diseño puede producir grandes deferencias en el flujo del aire a altas velocidades y una pequeña variación en el peso estructural de un diseño puede repercutir enormemente en su rendimiento operativo. Las complejas simulaciones necesarias para llevar a cabo las mediciones que permiten validar un nuevo diseño a menudo representan un tiempo de cómputo elevado, requiriendo la solución de ecuaciones diferenciales no lineales representadas con millones de vértices o soluciones estructurales con cientos de miles de grados de libertad. En este escenario, los algoritmos evolutivos son una solución válida que permiten encontrar mucha buenas aproximaciones y hacerlo además de forma paralelizable, rebajando con ello los tiempos de computo. La adaptabilidad y la simplicidad de las técnicas evolutivas permiten su aplicación en estos casos obteniendo en muchos casos soluciones más eficientes que la optimización numérica directa y ahorrando un considerable esfuerzo computacional. Modelado del problema El vuelo supersónico está restringido sobre zonas habitadas en la mayor parte del mundo debido al ruido creado por las ondas de choque al propagarse por el suelo incluso a altitudes superiores a los 15 km. El artículo explora la posibilidad de crear aeronaves supersónicas más pequeñas que permitan llevar a cabo vuelos eficientes, minimizando parámetros como el consumo de combustible, las emisiones producidas o el impacto sonora y

a la vez que se maximizan otros como la carga útil o el rendimiento del aparato. Se trata por tanto de un problema de diseño multiobjetivo. Para poder llevar a cabo el proceso de optimización se crea una descripción paramétrica de una pequeña aeronave supersónica (31 toneladas a 1.5 Mach) que es capaz de generar la geometría completa de la nave a partir de un conjunto de entre 10 y 30 parámetros. A esta geometría se le aplica entonces un algoritmo que crea una discretización generando una estructura de malla sobre la que más tarde se aplican diferentes modelos que permiten obtener los contornos de presión del aire sobre la estructura y a partir de ellos las ondas de propagación acústica y la firma acústica sobre el terreno.

Figura 7. Representación de la presión del aire sobre la estructura de la aeronave propuesta.

En el caso más simple se consideran 11 variables de diseño: X1-X6 : diámetro del fuselaje en cada una de las seis secciones del aparato. X7: posición horizontal de la cola X8: incidencia horizontal de la cola X9: ángulo de ataque de la aeronave X10: distancia de unión de las alas en el punto de ruptura. X11: distancia de unión de las alas en el extremo.


En el modelo extendido aparecen parámetros adicionales como el tipo de motor, o los costes de operación que alimentan nuevos modelos que permiten hacer estimaciones más precisas como las emisiones producidas o el consumo de combustible. Algoritmo propuesto El algoritmo propuesto es un algoritmo PCGA, que es un algoritmo que está estrechamente relacionado con las estrategias de evolución. [57,58]. El algoritmo PCGA utiliza una

población generalmente pequeña, codificación real para las variables y como técnica de recombinación un tipo de cruce multipunto. En PCGA un descendiente se crea como combinación lineal de sus padres, concretamente mediante interpolación entre dos diseños anteriores o extrapolación en una dirección dada a partir de estos. El mejor hijo sustituye al peor padre preservando el mejor diseño en la población y requiriendo solo comparaciones locales que pueden ser fácilmente paralelas.

Figura 8. Diferentes frentes de soluciones en el problema multiobjetivo propuesto.

Resultados obtenidos Los resultados obtenidos permitieron crear nuevos diseños que mejoraban la eficiencia aerodinámica o reducían el peso de la estructura sin tener un impacto importante en el comportamiento del aparato. La figura ilustra los cambios en la proporción combustible-contaminantes. El diseño marcado en el gráfico (Figura 8) como lowest-

Página 17 de 57

NOx produce un 34% menos de emisiones que una aeronave low-NOx convencional a solo un 9% del coste operativo de esta. De forma similar, el marcado como low-fuel candidate, requiere un 27% menos de combustible mientras libera un 32% menos de emisiones que el diseño lowest-fuel. En contraste el diseño marcado como lownoise requiere aproximadamente un 30%


menos de propulsión, lo que repercute en una disminución significativa de la firma de ruido.

OTROS ARTÍCULOS DE INTERÉS Multiobjetive optimization of rocket engine pumps using evolution algorithm. Oyama et Al. (2009)

Se han publicado numerosas propuestas para intentar mejorar el rendimiento de los EA. Una forma de conseguirlo es mediante la hibridación. Una formula de hibridación frecuente es la unión de de un algoritmo evolutivo y un método determinista como el método de descenso del gradiente. Los métodos de descenso de gradiente tienen una tasa de rapidez de convergencia muy elevada y la idea es ceder parte de esta propiedad al EA. La estrategia a seguir es normalmente la de utilizar el EA para descomponer el espacio de soluciones original en varias subregiones para luego dejar al algoritmo determinista la tarea de buscar cerca de esos subintervalos. Esta es la estrategia propuesta por Oyama et Al. que utilizan un método híbrido basado en un EA y un método basado en gradiente, en este caso un resolutor por programación secuencial cuadrática (SQP).

2.1.3 Aplicaciones en la búsqueda y modelado de sistemas estelares. Se puede considerar el momento de la popularización de la radioastronomía a finales de la década de los 40 como un gran punto de inflexión en la comprensión de los sistemas estelares, comparable en magnitud al descubrimiento de la espectroescopía astronómica a principios de siglo, ya que fue esta la que permitió por primera vez explorar el universo sin las limitaciones del espectro visible y abrió las puertas al desarrollo de la radiointerferometría y al descubrimiento o confirmación (en el caso de aquellos predichos por la teoría) de decenas de nuevos objetos estelares que cambiaron la forma de comprender la física, como los pulsares, los cuásares, las estrellas de neutrones, o los

recientemente descubiertos magnetares. Sin embargo es el desarrollo de la era especial y el despliegue de satélites científicos lo que ha permitido incrementar el ritmo de descubrimientos aportando volúmenes de información no conocidos anteriormente en ninguna rama científica.

Figura 9. Recreación artística del Laser Interferometer Space Antenna (LISA) Varios son los campos que se abren ante esta perspectiva para la inteligencia artificial y el número de aplicaciones aumenta a medida que se lanzan nuevos y más sofisticados instrumentos. Tal es el caso del telescopio espacial Kepler lanzado en 2009 y capaz de observar simultáneamente 150.000 estrellas en busca de perturbaciones que delaten la existencia de planetas extrasolares (cuerpos planetarios que orbitan otras estrellas). También es el caso del telescopio espacial Fermi lanzado en Junio de 2008 y que lleva dos años trazando un mapa de fuentes de radiación gamma lo que permitirá estudiar con gran precisión la evolución de las galaxias y la historia de su formación. También es digno de mención el futuro Laser Interferometer Space Antenna (LISA) una misión conjunta de las agencias espaciales americana y europea que permitirá detectar la presencia de ondas gravitacionales y validar así el aspecto más controvertido de la teoría de la relatividad general y en la cual los algoritmos evolutivos están teniendo ya un


importante papel trabajando sobre conjuntos de datos simulados que permitan rentabilizar la misión desde el primer momento y garantizar la obtención de datos que sean satisfactorios.

ARTÍCULOS REPRESENTATIVOS DEL ÁREA DE APLICACIÓN Determining orbital elements of extrasolar planets by evolution strategies. Andreas M. Chwatal (2008)

Después del descubrimiento del primer exoplaneta orbitando la estrella Pegaso-51 en 1995, el ritmo de descubrimientos y de técnicas que permiten la detección indirecta de este tipo de cuerpos ha aumentado de forma exponencial hasta alcanzar los 61 planetas descubiertos en el año 2009 y un total a 2010 de 466 planetas desde que se iniciaran las investigaciones. Con el lanzamiento de la misión europea Carot y del americano Telescopio espacial Kepler, misiones especializadas en la búsqueda de exoplanetas mediante el método del tránsito (la misión Kepler emplea fotómetros capaces de detectar variaciones en el brillo de 150000 estrellas de forma simultánea de hasta 20 partes por millón) se espera además que el número de descubrimientos aumente considerablemente en los próximos 5 años. Uno de los métodos más populares durante estos años para el descubrimiento de planetas extrasolares ha sido el método basado en la velocidad radial (RV) de la estrella central. Este método basa su funcionamiento en la influencia gravitatoria, que aunque pequeña, ejercen los planetas en su estrella. Esta influencia, puede ser medida a través del desplazamiento Doppler al rojo o al azul en el espectro de luz de la estrella que puede ser medido y revelar la presencia de un planeta, dos, o un sistema planetario completo. La complejidad del modelo radica en que lo que podemos detectar son las fluctuaciones que provoca el sistema planetario en conjunto sobre la órbita de la estrella por lo que el modelo debe partir de la suposición de un Página 19 de 57

sistema y encontrar los niveles de concordancia con los datos observados basándose en un número variable de posibles planetas, que además no tienen porque tener configuraciones orbitales parecidas ya que podrían existir sistemas estables conformados por planetas con distintas inclinaciones orbitales, con distinta excentricidad, desde órbitas casi circulares hasta orbitas tan elípticas como las de los cometas, con distintas masas, y densidades, con lunas o sin ellas y que orbitan su estrella a distintas velocidades.

Figura 10. Efecto Doppler debido al movimiento relativo predicho por la relatividad. Esta variedad de situaciones, hace que el análisis tradicional, basado en sucesivas transformadas de Fourier, que intenta escindir la señal original en una serie de señales que en suma expliquen la onda observada (minimizando el ruido residual) no sea acertado debido sobre todo a que en este enfoque las órbitas necesitan ser aproximadas como órbitas circulares lo que causa que se llegue a ajustes idealizados. Por la contra, desde el punto de vista de un algoritmo evolutivo resulta fácil explorar el conjunto de posibles soluciones y proponer soluciones tentativas con relativa rapidez. Es por eso que este tipo de técnicas se aplican cada vez con más asiduidad al análisis de datos observacionales. El algoritmo propuesto es un algoritmo de optimización evolutiva. Este tipo de algoritmos


son considerados por muchos investigadores [2, 3] como más efectivos resolviendo problemas de optimización de parámetros continuos que los algoritmos genéticos, esto es debido principalmente a limitaciones del uso de la codificación binaria en los AGs y a la ausencia de mecanismos de autoadaptación que permitan explorar la estructura del paisaje de búsqueda (fitness landscape). El algoritmo propuesto, basado en el trabajo de [8] es un algoritmo del tipo ExOD-ES (Exoplanet Orbit Determnation by Evolution Strategies). Codificación de las soluciones En el algoritmo propuesto cada candidato a solución representará un sistema planetario completo y vendrá dado por N vectores de forma , donde mi representa la masa mínima del planeta, ai la longitud de semieje mayor, w es el argumento de perigeo y t el tiempo de perihelio. Además, muchos conjuntos de datos contienen errores en las velocidades radiales, debido al movimiento de la estrella a través de la galaxia o simplemente a la calibración de los instrumentos, por lo se introduce un factor adicional para tener en cuenta esta posibilidad. Algoritmo propuesto En los algoritmos de estrategia evolutiva la mutación es considerada el operador principal, mientras que la selección se realiza frecuentemente de forma determinista. En el algoritmo considerado, la mutación es llevada a cabo añadiendo un número aleatorio extraído de una muestra gaussiana construida para cada parámetro cuyas desviaciones típicas se van optimizando también dentro del propio algoritmo. En el proceso de mutación clásico, la mutación puede afectar a varios parámetros de uno o más individuos en una misma generación. En el algoritmo propuesto se decide optar solo por mutar el subconjunto de parámetros correspondientes a un único planeta del sistema cada vez. Este tipo de mutación imita

la evolución de los sistemas planetarios en interacciones reales. Restricciones al espacio de soluciones. En vistas a mejorar las posibilidades de convergencia del algoritmo se limita el espacio de soluciones de forma que no se permiten sistemas inestables. Así mismo se penalizan soluciones que conduzcan a soluciones de este tipo en caso de que estas aparezcan. Mutación Tomando como criterio de estabilidad del sistema el criterio de estabilidad de Hill, que define el radio mínimo que deben guardar las orbitas de dos planetas entre ellas para asegurar que no se desestabilizan el uno al otro y por tanto acaban colisionando:

(Ec. 9)

Donde a es la amplitud del semieje mayor de la órbita del planeta y m su masa. Los autores definen el operador de mutación de forma que actúe sobre un solo planeta a la vez variando gradualmente sus parámetros orbitales de forma que se conserve la distancia dada por rH. Además se define un supuesto especial el que un planeta que se encuentra en el borde de su área de Hill puede saltar a otra orbita diferente creando una especie de efecto túnel que será muy importante a la hora de escapar de los mínimos locales. Por ejemplo supongamos el caso en el que la mayoría de los planetas han sido determinados pero la posición de un último planeta, que es difícil de determinar, es incorrecta todavía en el modelo. En esta circunstancia, este mecanismo puede ser muy importante para permitir al planeta llegar hasta configuraciones distintas que respondan mejor al modelo. Como mecanismo adicional para acelerar la convergencia evitando que el algoritmo se atasque en soluciones que aunque están muy cerca de ser soluciones no tienen valor pues no


representan los datos muestreados se define lo que los autores llaman “camino de evolución”. La idea de este mecanismo es establecer una especie de contador que marca la supervivencia máxima de la especie, entendiendo por especie a un conjunto de soluciones que difieren muy poco. La forma de actuar de este mecanismo es la de propiciar que en un conjunto de soluciones que han agotado su tiempo de supervivencia el planeta de peor ajuste sea eliminado y reemplazado por uno nuevo en una nueva posición aleatoria aumentando la capacidad del algoritmo para explorar nuevas áreas.

55-Cancri (representado en la figura 11), ambos referidos a descubrimientos reales obteniendo las mismas o aún mejores configuraciones planetarias que las publicadas en dichos trabajos.

Recombinación En la recombinación de soluciones se aplican dos procesos diferentes dependiendo de la fase en la que se encuentra la búsqueda. En el primero de ellos, dos soluciones candidatas se unen para dar lugar a una nueva solución que reúne un consenso de los valores de parámetros que tenían sus progenitoras, es decir, los valores resultantes se generan mediante una operación similar a una media ponderada. En el segundo de ellos, más adecuado para fases tempranas de la búsqueda, se realiza una recombinación a nivel de planetas, es decir, que el sistema resultante reúne planetas de sus dos progenitores de forma que el resultado resulte coherente con los criterios antes citados. Resultados obtenidos En las pruebas realizadas, los autores tomaron poblaciones de 50 individuos y hicieron evolucionar el algoritmo durante 5000 generaciones, encontrando que el algoritmo converge en la mayoría de los casos después de algunos cientos de iteraciones. Tomando como datos de entrada mediciones para 150 sistemas de 3 planetas, el algoritmo tardó en torno a dos horas en encontrar soluciones todas ellas de alta calidad. Para poder realizar una comparación real los autores tomaron dos trabajos anteriores [09, 10] referidos a los sistemas v-Andromedae y

Página 21 de 57

Figura 11. Recreación artística de sistema 55Cancri. La franja verde representa la zona de habitabilidad del sistema.

OTROS ARTÍCULOS DE INTERÉS Genetic algorithms in astrophysics. P.Charbonneau (1996)

Este artículo clásico ha servido de base a muchos desarrollos posteriores. En él se propone una implementación de algoritmo genético para la optimización de problemas físicos. En una segunda parte se propone el uso de esta herramienta para 3 problemas modelo en diferentes áreas: el modelado de la curva de rotación de galaxias en espiral, la extracción de los periodos de oscilación de estrellas variables usando mediciones del efecto Doppler, y el modelado del viento solar debido a la rotación en estrellas de tipo solar (tipo G2).

Search for black hole binaries using a genetic algorithm. Petiteau, Shang et Al. (2009)

En el artículo se trata el desarrollo de un algoritmo genético que, utilizando bloques de datos simulados permita detectar buenos indicios de la aparición de ondas gravitacionales, un fenómeno predicho por la teoría de la relatividad de Einstein y que indicaría la ocurrencia de un fenómeno de


enorme violencia, en el caso del estudio la existencia de un sistema binario de agujeros negros supermasivos.

capas de mecanismos de situación-acción y procedimientos de exploración directa del entorno.

Un agujero negro es un objeto que concentra una enorme cantidad de masa en un espacio muy pequeño, llegando a ser la relación entre masa y superficie tan descomunal que la fuerza de atracción gravitatoria se hace tan grande que acaba por perturbar el propio espacio. Se entiende que un agujero negro es supermasivo cuando la masa estimada del agujero negro es de un millón o varios cientos de millones de masas solares. Se cree que uno de estos descomunales objetos existe en el centro de todas las galaxias y numerosas observaciones parecen confirmar esta idea también en la Vía Láctea.

A search for supermassive black holes with a hybrid evolutionary algorithm Porter et Al. (2010)

Figura 12. Detección automática de demonios de arena realizada por los Mars rovers.

En el artículo se aborda de nuevo la búsqueda de agujeros negros supermasivos en sistemas binarios a partir de datos LISA simulados pero esta vez mediante un algoritmo híbrido que combina fases de computación evolutiva con métodos deterministas como el recocido simulado, o diferentes técnicas bayesianas de determinación estadística, técnicas de clustering como el algoritmo de las k-medias y sistemas de predicción como las cadenas de Markov.

Dependiendo de cómo sea de complejo el entorno del robot, así de complejo tendrá que ser su sistema de control: un ambiente dinámico y desafiante requerirá un control lo suficientemente complejo como para que pueda reaccionar de forma inteligente y rápida.

2.1.4 Aplicaciones en robótica y despliegue de agentes autónomos La previsibilidad y la estabilidad del entorno determinan en gran medida la complejidad de los robots que deben existir en él. De especial interés es la parte de la robótica que se ocupa del desarrollo de robots que están insertos en entornos complejos y dinámicamente cambiantes. Este tipo de robots no cuentan con mapas internos del mundo sino que necesitan adaptar su comportamiento mediante el uso de arquitecturas basadas en

ARTÍCULOS REPRESENTATIVOS DEL ÁREA DE APLICACIÓN Autonomous robot exploration of unknown terrain : A preliminary model of mars rover robot. Peniak, Cangelosi. (2009)

Entre los muchos requisitos que un rover de exploración como el futuro Mars Science Laboratory debe satisfacer, la habilidad de moverse y realizar tareas complejas de navegación en entornos desconocidos es una de las más básicas. El robot debe mostrar comportamiento autónomo y dar solución a posibles inconvenientes como la aparición de obstáculos que fuerzan cambios en su ruta. Estos obstáculos podrían tener diferentes características, desde grandes rocas, a


pendientes o agujeros en el terreno. Estas diferencias obligan a que el rover tenga además capacidad para distinguir los distintos tipos de situaciones y actuar de forma distinta y adaptada a las circunstancias. La actual generación de rovers marcianos, utiliza para estos propósitos parejas de cámaras de visión estéreo que unidas al uso de técnicas de visión por computador permiten el control de navegación y la detección de obstáculos. Los rovers gemelos Spirit y Opportunity, lanzados en 2004 y que se espera continúen operativos en la superficie de Marte después del invierno marciano hasta completar la nueva extensión del programa en 2012, usan la técnica descrita para tomar este tipo de decisiones de navegación. En particular, ellos están equipados con tres pares de cámaras para proporcionar imagen de profundidad: un par bajo el panel solar principal y que proporcionan la visión delantera, un par bajo el panel solar posterior para proporcionar visión trasera, y un tercer par sobre el mástil para poder proporcionar una visión dirigida. Con la información proveniente de estas cámaras un algoritmo especializado genera en tiempo real una representación tridimensional del terreno del que posteriormente si extrae un mapa donde se indican las probabilidades de transitabilidad de cada una de las áreas. Sin embargo, ante el fallo de cualquiera de estas cámaras los rovers con únicamente la tecnología actual, se encontrarían totalmente incapaces de tomar decisiones sobre su entorno. A este respecto el artículo estudiado propone un sistema de decisión auxiliar, dotado de un algoritmo híbrido, formado por un algoritmo evolutivo y una red neuronal. La propuesta completa consiste en un nuevo sistema de sensores, basado en sensores infrarrojos y de un algoritmo híbrido de control de decisiones que debería permitir a los futuros rovers marcianos realizar tareas autónomas en entornos cambiantes. La red neuronal es entrenada usando el sistema evolutivo y esta controla los diferentes parámetros que permiten al rover adaptarse a condiciones ambientales de diversa índole. El sistema cuenta además con el desarrollo de un

Página 23 de 57

potente motor de simulación físico para dar validez a los experimentos. En robótica evolutiva, los más recientes trabajos se centran en la navegación en entornos rugosos evitando obstáculos y caídas usando técnicas que se basan en procedimientos colaborativos, técnicas de negociación, y estrategias de coordinación de movimientos. Esta aproximación resuelve el problema planteado haciendo evolucionar el comportamiento complejo coordinado de múltiples mini-robots mucho más simples que están interconectados los unos con los otros [17]. En contraste, en el artículo estudiado se propone el uso de un único robot, similar al rover MSL de la NASA que mediante una serie de sensores de exploración del entorno debe ser capaz de hacer evolucionar adecuadamente el comportamiento de una red neuronal que permita detectar y esquivar diferentes obstáculos como rocas, paredes, terreno rugoso, depresiones o simas. Modelo físico del rover Para los experimentos se utiliza un modelo físico fuertemente basado en los datos de las especificaciones públicas del rover MSL. De acuerdo al centro de estudios espaciales de la ESA [18] las dimensiones reales del rover son 2900Lx2700A mm con un peso de 775 kilos y más de dos metros de altura. El sistema motor del rover consiste en seis ruedas donde los dos ruedas frontales y las dos traseras son capaces de girar 90º a cada lado. El rover es capaz de superar obstáculos de aproximadamente el tamaño de sus ruedas gracias a un sistema especial de suspensión modificado que permite elevar la parte izquierda o derecha del vehículo mientras el cuerpo principal se mantiene nivelado. Sobre estos y otros datos obtenidos de los esquemas disponibles se crea un modelo informático y se incorporan al mismo un total de 18 sensores infrarrojos divididos en dos grupos pensados para proveer suficiente información sensorial sobre el entorno circundante.


El primer conjunto de sensores consiste en 6 sensores laterales que proveen precisión cuando existen obstáculos laterales. Estos sensores tienen un rango de tres metros y no son capaces de detectar agujeros. Estos sensores laterales cubren totalmente un área de aproximadamente 200 grados alrededor del vehículo excluyendo de forma deliberada a la zona frontal. El valor de retorno de estos sensores será 0 (no existe obstáculo) o 1 (obstáculo presente) cuando el sensor se active en presencia de un obstáculo en el rango de activación del sensor. El segundo conjunto, está formado por doce sensores inalámbricos con un alcance máximo de 5 metros y medio. Estos sensores que son denominados en el artículo sensores de fondo ya que son posicionados junto a la cámara del frontal y barren el suelo frente al rover con un ángulo de unos 45º.

utilizan para medir la velocidad con la que se desplaza el vehículo y la posición de las ruedas respectivamente. Algoritmo propuesto El sistema de control propuesto está constituido por una red neuronal que es parametrizada a través de un algoritmo evolutivo. La red neuronal utilizada es una red de dos capas completamente conectadas, una capa de entrada y una de salida, sin que exista capa de neuronas oculta. (ver figura)

Figura 14. Estructura de la red neuronal propuesta. En la capa de entrada encontramos 18 neuronas que recogen el valor devuelto en cada momento por cada uno de los 18 sensores. A estas neuronas se suman otras dos que codifican los valores retornados por los sensores internos que se describieron anteriormente. Estas 20 neuronas sensoras están completamente conectadas a dos neuronas motoras que determinan el nivel de fuerza que se transmite a los actuadores. Estas neuronas motoras usan como función de transferencia una función sigmoidea.

Figura 13.Distribución de los sensores en el modelo de rover propuesto. Este segundo tipo de sensores retornarán un número flotante entre cero y uno que refleja la deferencia de nivel del punto medido con respecto al nivel del suelo. De esta forma dirigiendo el segundo grupo de sensores a un área concreta podremos detectar peligros potenciales como grandes rocas, barrancos o terrenos de excesiva rugosidad. Además existen dos tipos de sensor adicional que se

Figura 15. Uno de los escenarios generados durante el entrenamiento evolutivo.


Las acciones que lleve a cabo el rover dependerán del valor de los pesos sinápticos de la red. Así que los pesos deben establecerse apropiadamente de forma que las entradas sensoriales se combinen de forma adecuada y produzcan la salida deseada. De esta tarea será de la que se encargue el algoritmo genético. En la parte que respecta al algoritmo evolutivo se usaron poblaciones de 100 individuos, donde en cada generación se dio la oportunidad a los 20 mejores individuos de producir 5 descendientes cada uno, construyendo una nueva población de 100. La tasa de mutación elegida es considerablemente alta para este tipo de algoritmos mutando cada gen con un probabilidad de 0,1. Además el proceso de mutación podrá ocurrir cada vez que se genera un descendiente, es decir, ocurrir 5 veces por cada uno de los 20 mejores individuos. Una excepción a esta norma se dará en el primer descendiente del mejor individuo, que pasará a la siguiente generación sin modificaciones. Este proceso recibe el nombre en la literatura de elitismo.

población y el valor de umbral a lo largo de las generaciones respectivamente. En la figura 16 puede observarse como el algoritmo obtiene el óptimo alrededor de la generación 50. En una segunda fase de los experimentos se probó la robustez del algoritmo sometiendo las configuraciones obtenidas a bloques de 100 pruebas donde se utilizaron diferentes terrenos tipo, que potenciaban diferentes características como el número de obstáculos o la rugosidad del terreno y para cada una de ellas se dispuso al rover en posiciones y orientaciones aleatorias. Los resultados mostraron que los valores de fitness medio así como la capacidad del rover de navegación del rover se mantuvieron estables.

Figura 17. Variación del fitness en valor medio y del porcentaje de terreno explorado en terrenos extremos. Cada posible solución es testeada 10 veces, generando un mínimo de 100 generaciones y ejecutando diferentes escenarios de 60x60 metros, cada uno limitado a 3000 ciclos sensoriales, a lo que es lo mismo, 3000 activaciones de la red neuronal. Figura 16. Mediciones de fitness recogidos durante las 15 ejecuciones usando el algoritmo propuesto. El gráfico mostrado incluye los valores medios obtenidos a lo largo de 15 experimentos. La línea azul muestra el máximo fitness conseguido, mientras que las líneas roja y verde muestran el fitness medio de la

Página 25 de 57

Resultados obtenidos Las pruebas realizadas muestran que al finalizar la fase evolutiva el robot es capaz de esquivar rocas, agujeros y reaccionar ante montículos basándose solamente en la información de los sensores, incluso ya en generaciones tempranas.


Adaptative agent navigation. Shin-Jin Kang · YongO Kim (2010)

El Pathfinding es un elemento crítico en inteligencia artificial y en la mayoría de las aplicaciones modernas en ingeniería como las aplicaciones de distribución de agentes móviles, los simuladores o las redes de navegación guiada basadas en negociación (FTN). Los algoritmos de PF clásicos asumen que existe un único agente móvil con una visión del mundo completa y precisa pero las aplicaciones en industria y exploración de entornos extremos demandan algoritmos capaces de considerar un escenario donde existen o pueden existir múltiples agentes distintos intercambiando información y interactuando en entornos cambiantes y en general poco explorados de forma autónoma o semiautónoma. El algoritmo que se propone basa su funcionamiento en los mecanismos por los que en el mundo real los seres vivos exploran y extienden su territorio, la idea principal es que, en el mundo real, las áreas que no han sido exploradas no disponen de caminos y eso no impide que sean exploradas. Siguiendo esta analogía los autores relatan como en un problema de descubrimiento real un pequeño número de personas empieza a explorar esas áreas creando los primeros caminos tentativos emergentes que con el tiempo son expandidos y mejorados por otros exploradores que recorren los caminos marcados por este primer grupo de pioneros aportando mediante este proceso iterativo mejoras incrementales y marcando nuevos y más definidos caminos. Inspirados por esta concepción de un proceso que ocurre de forma natural en el mundo real los autores del artículo proponen un nuevo algoritmo de búsqueda de caminos que utiliza un muestreo de los movimientos de los usuarios en un entorno dinámico para alimentar un EA que genera nuevos caminos que antes no existían. Estos nuevos caminos se usan a su vez para corregir la visión estática

del entorno que poseen los agentes y para compensar o servir de apoyo a los algoritmos convencionales en aquellas circunstancias en que estos no son adecuados. En los últimos años, el término “agente” o “agente autónomo” ha adquirido inevitables connotaciones y su significado a derivado cada vez más hacia un entorno dinámico donde se producen interacciones en tiempo real entre diversas entidades. En este sentido entre los trabajos previos, los autores citan las publicaciones de Sud et al [10] donde se presentaba una novedosa aproximación a la planificación de rutas en tiempo real mediante el uso de agentes virtuales en escenarios dinámicos complejos. Para ello, los autores usaron un Grafo de Navegación Multiagente (MaNG) que es construido usando diagramas de Voronoi. Los mismos autores, también sugieren un modelo de grafo de navegación reactivo llamado Adaptative Elastic Roadmaps (AER) [12] que es un tipo especial de grafo de caminos que emplea internamente simulación de dinámica de partículas. Cabe señalar que en este contexto el término roadmap se usa más para describir la técnica de pathfinding empleada en la generación que para referirse al grafo de navegación en sí mismo. Las anteriores técnicas de Pathfinding basadas en grafos existentes se habían focalizado en la navegación de los agentes a través del entorno usando información extraída del propio entorno. La novedad consiste entonces en utilizar no solo la información recopilada del terreno sino también de las interacciones con los otros agentes. Estos agentes pueden ser agentes controlados directa o indirectamente por controladores humanos, o bien agentes completamente autónomos controlados por el computador . Adaptative Agent Navigation En un entorno interactivo un operador humano puede acumular sus experiencias de control/simulación pero esto normalmente no es posible para un agente autónomo. La computación evolutiva puede ser una solución


a este problema. Muchos de los investigadores en inteligencia artificial utilizan esta y otras técnicas (Redes neuronales, computación evolutiva, lógica borrosa o una combinación de varias). Pero la dificultad radica en que para hacer evolucionar la forma en que un agente se comporta y se mueve necesitamos encontrar una función objetivo que sea apropiada, posiblemente basada en un número importante de parámetros. La información acerca de los caminos que seleccionan los operadores humanos puede ser parte de ese conjunto de metadatos que nos ayuden en la evolución del comportamiento. Los caminos entrenados generados por el sistema pueden ser utilizados también para realimentar el proceso de evolución. Conociendo los caminos que tomaron los usuarios en momentos anteriores el agente puede ser capaz de tomar soluciones más acertadas. Para conseguir ambas capacidades el artículo estudiado propone una combinación de 4 procesos que conforman el algoritmo propuesto: Muestreo basado en regiones (Mapas ROI) Un agente autónomo normalmente se desplegará en un entorno de dimensiones enormes, y el pathfinding generalmente ocurre en zonas desconocidas o poco exploradas. La recogida automática de datos necesita obligatoriamente identificar las áreas que son problemáticas y hacerlo dentro de una ventana temporal concreta. Para resolver este problema los autores del estudio proponen una estructura de datos que llaman mapa de regiones de interés (ROI). Con el desarrollo de un mapa de regiones de interés para nuestro entorno el sistema debería ser capaz de detectar rutas anormalmente largas y deducir que en esos puntos es necesario mejorar las rutas automáticas. La aproximación más rápida y directa a esta técnica es vigilar por instancias donde la ruta recorrida por un operador humano entre dos puntos es más corta que la medida de referencia calculada mediante un algoritmo tradicional como puede ser D estrella. El descubrimiento de este tipo de instancias es indicativo de que se necesita realizar tareas de pathfinding más intensivas Página 27 de 57

en esa área. Sin embargo monitorizar casi en tiempo real todas las áreas es algo imposible. Por eso la implementación usada de ROI realiza una aproximación a este enfoque. El sistema seleccionará bloques a monitorizar (MBs) y los asignará a agentes cercanos que funcionarán como agentes testigo. El sistema entonces mide los movimientos del agente testigo dentro del bloque durante un tiempo establecido y comprueba con el conocimiento recopilado la emergencia de generar mejores rutas en el bloque. Si no se encuentran nuevas rutas después de varios intentos o no se considera necesario mejorar las existentes entonces se selecciona otro MB y se repite el proceso. Si el agente testigo viaja por una ruta más corta, el mapa ROI asume la presencia de una necesidad incrementar pathfinding en el bloque y aumenta la prioridad de este para aumentar el nivel de detección en el área tomando bloques con mayor nivel de detalle. De esta forma, el sistema propuesto no solo genera un árbol jerárquico de las zonas más prometedoras sino que ayuda a que la recogida de datos sea efectiva en aquellas zonas donde se necesitan datos más precisos. Muestreo basado en agentes (Mapas AOI) En la fase de monitorización si seleccionáramos el agente testigo de una forma arbitraria podríamos reducir de forma considerable el rendimiento de la detección. Para minimizar el efecto del tamaño del espacio de búsqueda y incrementar el rendimiento de la fase de búsqueda se opta por emplear una técnica de monitorización basada en los propios agentes. Si un agente descubre una nueva ruta más corta en un área específica es muy posible que otros agentes repitan en mismo patrón en esa misma área. Para reflejar esta probabilidad, los autores introducen el concepto de agente de interés (AOI). La clave de esta idea es que si conseguimos identificar y monitorizar aquellos agentes que son más propensos a encontrar buenas rutas, estos serán los más prometedores. Un agente que consigue identificar un camino más corto será probablemente marcado como AOI y será


elegido con más frecuencia como agente testigo en la construcción del ROI. Muestreo de caminos: Grafos de caminos discretizados Una vez muestreados los recorridos que nos son prometedores nos encontramos con el reto de obtener información útil de esos datos y por tanto necesitamos simplificar la información obtenida y realizar un proceso de discretización. Para realizar esta tarea se introduce un nuevo tipo de gráfico llamados grafos de camino discretizado (DPG). Un DPG es un grafo generado discretizando los movimientos recogidos en cada momento en la fase de monitorización a una resolución determinada. Además para poder obtener un grafo tratable debemos identificar aquellos nodos que son claves en el recorrido. En nuestro caso se toman como nodos aquellos puntos donde se cruzan dos caminos marcados. El uso de grafos reduce considerablemente la cantidad de espacio de almacenamiento necesario para almacenar la información asociada a cada porción de terreno. Aquellos puntos que acumulen un mayor número de cruces o intersecciones prometedoras se convertirán finalmente en nodos y se marcarán como “feature path points” (FPP). Usando los DPG el sistema calculará las posiciones óptimas de cada nueva cuadrícula de navegación.

intersecciones más frecuentes ocurridas en el histórico de caminos conocidos. Estos conjuntos de puntos inconexos son distribuidos sobre áreas donde la malla de navegación es frecuentemente inexistente y el sistema debe ser capaz de utilizar esos puntos para generar una nueva cuadrícula y de interconexionarla correctamente con las mallas existentes. Para lograr esto en el artículo tratado se propone un método basado en el método de triangulación de Delaunay [16]. Este método de triangulación asegura que todo los triángulos generado cumplen la condición de Delaunay. Esta condición dice que la circunferencia circunscrita de cada triángulo de la red no debe contener ningún vértice. Esto asegura que la triangulación generada no es solo una de las posibles sino que de hecho es una triangulación óptima.

A efectos prácticos el método de triangulación empleado nos asegura que los triángulos generados serán triángulos estables lo que se traduce en que el recorrido que discurra por ellos produzca un recorrido seguro para los agentes.

Figura 18. Detección automática de nuevos nodos y clasificación de estos según su importancia. Generación de la cuadrícula de navegación Los datos obtenidos del proceso de monitorización descrito serán conjuntos de grafos FPP, que son los valores discretos de las

Figura 19. Trazado del nuevo recorrido a partir de triangulación de los FPP calculados.


Resultados Obtenidos Los resultados facilitados junto al artículo parecen bastante prometedores en cuanto a los cuatro tipos de pruebas realizadas. Concretamente el algoritmo se mostró especialmente hábil a la hora de explorar zonas del entorno desconocidas, bordear obstáculos y encontrar caminos de mínima pendiente en mapas tridimensionales. Este tipo de técnicas podrían ser de gran utilidad en el futuro despliegue de redes de agentes móviles dotados de sensores y capacidad de compartir información y recibirla desde una estación central en tierra o en órbita o en el diseño de nuevos y más realistas simuladores de entornos de estas características.

planificador local usa información sensorial para detectar obstáculos y en caso de hallar situaciones inesperadas invoca un proceso de replanificación online para evaluar la nueva situación. Los operadores genéticos son ajustados mediante la red fuzzy tomando en cuenta diferentes métricas sobre los caminos encontrados como la transitabilidad de un camino o su longitud real. El mismo artículo muestra una posible aplicación del sistema al diseño de un rover real en un terreno que simula el terreno habitual marciano. Los mismos autores presentan otra serie de artículos [cita] donde tratan en profundidad los algoritmos de path planning basado en visión y que sirven de base al presente artículo, desarrollando técnicas de valoración que tienen en cuenta variables como el tamaño de los obstáculos, la pendiente del terreno, la concentración de obstáculos en diferentes zonas y otros factores.

A machine-learning approach to multi-robot coordination. Wang, de Silva (2008)

Figura 20. Descubrimiento de nuevas rutas mediante al algoritmo descrito.

OTROS ARTÍCULOS DE INTERÉS Hybrid intelligent path planning for articulated rovers in rough terrain. Tarokh (2008)

La propuesta de este artículo consiste en un algoritmo de path planning para robots de alta movilidad operando en entornos irregulares a través de una propuesta híbrida que utiliza un marco basado en lógica difusa para caracterizar el entorno y un algoritmo genético de dos fases como planificador. El planificador determina el mejor camino optimizando una combinación entre el análisis de la rugosidad del terreno y la desviación al objetivo. Un

Página 29 de 57

Este artículo plantea un sistema en el que existe una red de agentes que deben colaborar a través de un entorno desconocido para transportar objetos de un punto a otro. En la arquitectura propuesta existirán dos tipos de agentes, la más alta constituida por agentes software que se encargarán de implementar las labores de coordinación y una más baja formada por robots de distinto tipo con capacidad para desplazar y reconocer el entorno. El sistema de control está formado por un algoritmo genético y un algoritmo de aprendizaje por refuerzo (RL) que tomaran las decisiones que permitan a los robots cooperar y explorar el terreno para llegar a los objetivos marcados y evitar los obstáculos. Un sistema probabilístico será el que decida en todo momento cuál de estos dos algoritmos es que prima para una decisión concreta. Un aporte interesante es que en el método propuesto, los individuos generados mediante RL se insertan con una cierta probabilidad en la población del


AG, al ser RL un mecanismo completamente diferente esta cesión aporta riqueza genética a la población y representa una forma de colaboración entre ambos. Los algoritmos genéticos son buenos encontrando zonas

prometedoras y los algoritmos de aprendizaje reforzado son capaces de lidiar con cambios rápidos en el entorno.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.