IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 2, MARCH 2012 1653 Morphology and Behavior Evolution of Virtual Creatures based on Swarm Intelligence J. Rada and J. Aguilar, Member, IEEE Abstract— In this work we evolution the morphology and the behavior of the virtual creatures. The morphology is defined by rigid bodies as capsules, cylinders, cones, spheres, or parallelepipeds, and the mass and size may change. The rigid bodies are joined by spherical joints with customizable restrictions of angular limits within a given range in each degree of freedom, so to model any type of rotational joint. The behavior is modeled by an Artificial Neural Network, which receives data from all sensors and transmits the amount of moment of force that must be exerted by each effector, so to induce motion to the creature. Finally, the evolution of morphology and behavior is carried out using Particle Swarm Optimization (PSO), where each particle encodes the morphology and behavior of one creature. In this way, this paper proposes a co-evolutionary process where the behavior and the morphology of the creatures are defined. Keywords—artificial life, neouroevolution, particle swarm optimization, artificial neural network, virtual creatures L I. INTRODUCCION a evolución de morfología y comportamiento de criaturas virtuales consiste en hacer evolucionar la forma física de cada criatura (morfología), y el respectivo sistema de control que le induce movimiento (comportamiento), en un mundo virtual, bajo determinadas condiciones que hacen que, tanto la morfología como el comportamiento sean susceptibles a cambios que le permitan un mejor desenvolvimiento en el entorno. Cualquier modelo sobre evolución de morfología y comportamiento de criaturas virtuales debe definir claramente los parámetros que están sometidos a evaluación. En nuestro caso, dichos parámetros son: • Morfología: cantidad (fija o variable) de cuerpos rígidos, formas que pueden adoptar, dimensiones y masa de cada uno, tipos de articulaciones que los unen, límites de las articulaciones, representación de la estructura morfológica, fuerza máxima que poseen los actuadores, y tipos de sensores. • Comportamiento (sistema nervioso), técnica de modelado y configuración, control de actuadores. • Evolución: técnica de modelado y configuración, Este trabajo ha sido apoyado financieramente por los proyectos I-1237-1002-AA del CDCHT de la Universidad de los Andes y 2994: “Desarrollo de herramientas computacionales basadas en técnicas inteligentes para la gestión de bases de datos sobre las actividades nacionales en salud y petróleo, para realizar tareas de minería de datos” del Programa de Estímulo a la Investigación. J. Rada, Victoria University of Wellington, Wellington, Nueva Zelandia, Juan.Rada-Vilela@ecs.vuw.ac.nz J. Aguilar, Centro de Estudios en Microelectrónica y Sistemas Distribuidos (CEMISID), Departamento de Computación, Universidad de Los Andes, Facultad de Ingeniería, Mérida , Venezuela, aguilar@ula.ve representación de la morfología y del comportamiento dentro de la técnica elegida, definición de eficiencia de las criaturas virtuales. Hasta la fecha se han planteado varios modelos que utilizan diferentes enfoques y técnicas para lograr la evolución de criaturas virtuales. Aun cuando cada uno ha realizado notables aportes en el área, siguen existiendo formas de mejorar aún más los resultados obtenidos. Precisamente, ése es el objetivo de este trabajo, presentar un nuevo modelo para hacer evolucionar criaturas virtuales, fundamentándolo sobre nuevas ideas para modelar la morfología y el comportamiento de las criaturas, y técnicas del área de inteligencia colectiva que no han sido utilizadas previamente en este tipo de problema. Dicho modelo consiste en un esquema coevolutivo para ajustar tanto la morfología como el comportamiento de las criaturas virtuales, basado en técnicas del área de inteligencia colectiva (redes neuronales artificiales, enjambres de partículas). Así, el proceso coevolutivo constituye un método hibrido inteligente que permite la configuración de criaturas virtuales, integrando naturalmente los dos procesos adaptativos (morfológico y conductual). Además, nuestro enfoque considera más aspectos para describir el componente morfológico (utiliza más figuras (cuerpos rígidos) para su definición, es basado en la idea de cuaterniones (Un cuaternio es un conjunto de cuatro números. Un ejemplo de cuaternio puede ser: q = (w, x, y, z). Un cuaternio, de alguna manera, representa la rotación de un punto cualquiera alrededor de un eje del espacio arbitrario), etc.), y usa parámetros a nivel estructural (y valores de los mismos) similares a la de los mamíferos (masa, dimensiones, etc.) para el modelado de las criaturas. Todo lo anterior es lo que lo diferencia de trabajos previos en el área. La morfología de las criaturas está formada por cuerpos rígidos que pueden adoptar formas de: a) cápsula, b) cilindro, c) cono, d) esfera, o e) paralelepípedo, y pueden unirse entre sí a través de articulaciones esféricas con límites angulares variables para poder modelar cualquier tipo de rotativa de una articulación. Cada cuerpo rígido tiene un sensor propioceptivo que mide la orientación del mismo en términos de cuaterniones, y un actuador que ejerce momentos sobre el centro de masa. Es la primera vez que se utiliza este enfoque, pues normalmente se utiliza el ángulo formado en la articulación, Además, la masa y el volumen de las criaturas varían dentro de los límites observados en las familias de mamíferos del orden de los Carnívoras, procurando que las criaturas virtuales resultantes posean características de criaturas reales. El comportamiento de las criaturas, que caracteriza su 1654 IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 2, MARCH 2012 sistema nervioso central, se basa en una red neuronal artificial que vincula la orientación de todos sus miembros, para orquestar así el movimiento de los mismos. La principal ventaja de nuestra arquitectura centralizada es que permite el equilibrio en el comportamiento de la criatura, al fusionarlo de manera natural con la morfología que lo constituye. Esa manera natural de integrar ambos componentes de la criatura es otro aporte importante de este trabajo. En cuanto al proceso evolutivo de las criaturas virtuales, ésta es llevada a cabo utilizando técnicas de inteligencia colectiva, particularmente optimización por enjambre de partículas (PSO), donde cada partícula contiene la representación de la morfología y el comportamiento de una criatura virtual, haciendo evolucionar las siguientes características: a) forma, dimensiones y masa de los cuerpos rígidos; b) puntos de conexión de las articulaciones y libertad de rotación que éstas permiten a los cuerpos rígidos que unen; c) estructura morfológica que define la anatomía de las criaturas; y d) pesos sinápticos y umbrales de la red neuronal artificial. El objetivo de este proceso evolutivo es maximizar la eficiencia de las criaturas virtuales, la cual es proporcional a la distancia que recorren en un intervalo de tiempo definido. II. ANTECEDENTES K. Sims fue el pionero en hacer evolucionar la morfología y comportamiento de criaturas virtuales [1]. La morfología de las criaturas estaba compuesta por una cantidad variable de cuerpos rígidos con forma de paralelepípedo, cuyas dimensiones y masa no se especificaron, y se unían a través de distintos tipos de articulaciones (fijas, bisagras, esféricas, entre otras). La estructura morfológica que define qué articulaciones unen qué cuerpos rígidos se representaba en forma de grafos dirigidos. La fuerza máxima de cada actuador se determinaba utilizando la sección transversal de los cuerpos rígidos que unía. Además, utilizó sensores de ángulos en las articulaciones, sensores de contacto, y fotosensores. El comportamiento lo modeló utilizando neuronas artificiales con funciones predefinidas que determinaban la cantidad de fuerza que debían ejercer los actuadores. Finalmente, la mayoría de estas características eran sujetas a evolución utilizando un algoritmo genético con operadores especiales, guiado hacia la búsqueda de criaturas eficientes en términos de distancia recorrida en actividades como natación, caminatas, saltos, entre otras. Miconi y Channon hicieron un modelo similar al de Sims [2]. La morfología estaba compuesta por una cantidad variable de hasta 11 cuerpos rígidos con forma de paralelepípedo, cuyas dimensiones no se especificaron, y la masa estaba correlacionada con el volumen. Las articulaciones eran únicamente bisagras, y la estructura morfológica era una variante del trabajo de Sims. La fuerza de cada actuador podía llegar a ser hasta de 4 Newtons, y los sensores medían el ángulo que se formaba en las articulaciones. El comportamiento fue modelado de forma ramificada, utilizando redes neuronales artificiales del tipo McCullogh-Pitts, que indicaban la velocidad que debía alcanzar cada motor utilizando la fuerza máxima que disponía cada uno. Finalmente, la evolución fue llevada a cabo de manera similar a [1]. En [3] construyeron un modelo donde someten a las criaturas a nuevas actividades como superar zanjas, subir escaleras, caminar en terrenos irregulares, patinar, entre otras. En [4] desarrollaron un modelo donde la eficiencia era proporcional a la distancia recorrida por la criatura. Existen otros modelos propuestos en la literatura, pero los antes mencionados son los de mayor relevancia. Por otro lado, el uso de PSO para diferentes problemas empieza a ser importante [5]. Además, es fundamental inspirarse en los avances sobre el modelado de la evolución de las especies para ser usada en el diseño de criaturas virtuales [6]. En especifico, nuestro enfoque, a diferencia de los anteriores trabajos, propone técnicas del área de inteligencia colectiva para modelar cada componente de la criatura virtual (morfológico y conductual), bajo un enfoque coevolutivo que las integra en el proceso de configuración de las criaturas. Ese enfoque permite que a medida que la morfología del individuo se va configurando, los movimientos de sus componentes son articulados centralizadamente por la red neuronal, conllevando a un comportamiento equilibrado en la criatura. Adicionalmente, en nuestro enfoque parámetros de los animales vertebrados son usados para caracterizar los componentes estructurales de las criaturas y sus valores iníciales (masa, dimensiones, etc.), así como son considerados más cuerpos rígidos para las posibles configuración de ellas que lo que habitualmente han sido usados en trabajos previos, lo que les da un mayor marguen de adaptabilidad a nuestras criaturas virtuales. III. PROPUESTA DE CRIATURAS VIRTUALES. El mundo virtual es un ambiente con propiedades terrestres, donde cada criatura puede interactuar con él bajo las leyes newtonianas de la física. En nuestro caso, el mundo virtual es modelado con el motor de física Bullet Physics Engine (http://www.bulletphysics.com). Por otro lado, las criaturas virtuales están formadas por dos componentes: a) la morfología, que determina la forma física de la criatura; y b) el comportamiento, que controla los movimientos de la criatura. La morfología está compuesta por cinco cuerpos rígidos que se unen a través de articulaciones esféricas, y el comportamiento es modelado por una red neuronal artificial que determina la cantidad de momento que debe ejercer cada uno de los actuadores sobre el centro de masa en el respectivo cuerpo rígido, basándose en la información proveniente de los sensores. Esa información es la requerida para hacer evolucionar las criaturas virtuales. Pasemos a detallar esos tres aspectos en nuestra propuesta. A. Morfología Las criaturas virtuales se construyen utilizando cuerpos rígidos que pueden tener forma de: a) cápsula, b) cilindro, c) cono, d) esfera, o e) paralelepípedo; y, en el caso de la AGUILAR AND RADA : MORPHOLOGY AND BEHAVIOUR EVOLUTION OF cápsula, el cilindro, y el cono, pueden estar orientados a lo largo del eje x, y o z. Por otro lado, la masa y las dimensiones de cada cuerpo rígido fueron obtenidas del artículo de Christiansen [7], en donde realiza un análisis de la locomoción terrestre de mamíferos y la influencia de la masa corporal, longitud de los miembros, y proporciones del hueso, en la velocidad. En ese artículo se encuentra un cuadro que detalla características como la masa, tamaño de miembros anteriores y posteriores, velocidad, y otras características, de varios mamíferos. La orden Carnívora fue la que elegimos para determinar los rangos de masa y dimensiones de los cuerpos rígidos, utilizando los valores mínimos y máximos observados en algunas de sus familias (Canidae, Felidae, Hyaenidae, Procyonidae, y Ursidae), indicadas en [7]. Cada cuerpo rígido tiene 22 puntos posibles de conexión, que varían de acuerdo a la forma del mismo, y son predefinidos arbitraria, pero simétricamente. Estos puntos son usados para conectarse con otros cuerpos rígidos a través de una articulación esférica que permite la rotación de cada cuerpo alrededor de los ejes x, y y z. Los ángulos de libertad de rotación que permiten las articulaciones a los cuerpos rígidos que unen pueden variar entre [0,0; π/2] en el caso de los ejes x y z, y entre [0,0; π] en el caso del eje y. Los rangos en cada eje indican la rotación en radianes que lleva a cabo el eje desde el ángulo 0,0 hasta el valor máximo en ambos sentidos. Los actuadores se ubican uno en cada cuerpo rígido, y son capaces de ejercer momento en los tres grados de libertad de rotación de los cuerpos rígidos. El momento se aplica en el centro de masa, y el momento máximo que se puede ejercer en cada cuerpo rígido de la criatura es determinado por la ecuación de momento para el equilibrio estático de cuerpos rígidos (detalles de esa ecuación se encuentran en [8], [9], entre otros), que determina el torque máximo para cada cuerpo rígido de una criatura cualquiera. La estructura morfológica de las criaturas se representa por un árbol que tiene la misma cantidad de nodos como cuerpos rígidos tiene la criatura. Es por esto que nosotros calculamos el momento máximo de cada cuerpo rígido con respecto al punto de unión con el cuerpo superior (articulación). Aclarado esto, el nodo raíz tiene un momento máximo de cero debido a la ausencia de un cuerpo superior. Finalmente, las opciones disponibles para la estructura morfológica son todas las posibles combinaciones existentes de un árbol cuyos nodos y aristas representan los cuerpos rígidos y articulaciones de la criatura, respectivamente. Todas las posibles combinaciones fueron generadas utilizando el método descrito en [10], con el cual se obtiene qué para 4 cuerpos rígidos existen 5 posibles combinaciones, con 5 cuerpos rígidos existen 14, y con 6 existen 42. 1655 por los actuadores de cada miembro (ver Fig. 1). De esta manera, la red modela el comportamiento conductual de todos los miembros morfológicos de la criatura basado en la idea de cuaterniones, que establece el momento que se debe ejercer sobre cada cuerpo rígido de él. Particularmente, la red neuronal posee dos capas. La capa de entrada recibe los cuaterniones que representan la orientación de los miembros de la criatura utilizando cuatro parámetros: w, x, y y z. Los cuaterniones se normalizan tal que x 2 + y 2 + z 2 + w 2 = 1 , ubicando así los valores de entrada w, x, y y z en el rango [0,0; 1,0]. De esta manera, la capa de entrada está compuesta de 4n neuronas, donde 4 representa los valores del cuaternión y n la cantidad de miembros que conforman a la criatura. La capa de salida consiste de tres neuronas por cada cuerpo rígido, obviando el cuerpo rígido que representa la raíz del árbol morfológico, quedando así compuesta por 3n−1 neuronas. Las salidas de cada neurona en esta capa determina la cantidad de momento que debe ejercer el actuador de cada cuerpo rígido i en sus ejes x, y y z, tomando en cuenta el momento máximo disponible para cuerpo rígido (τmaxi), utilizando las ecuaciones siguientes: B. Comportamiento Para el comportamiento de las criaturas virtuales se usa una red neuronal artificial con conexiones hacia adelante y neuronas que utilizan la tangente hiperbólica como función de activación, ubicando así el rango de salida de todas las neuronas en [−1,0; 1,0] [11]. La red recibe el cuaternio de cada miembro (componente morfológico) de la criatura, y transmite la cantidad de momento a ejercer Figura 1. Red Neuronal Artificial que define el comportamiento de las criaturas τ x = x i τ max τ y = ( y i τ max ) / 10 τ z = z i τ max 1656 IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 2, MARCH 2012 De esta manera, la red neuronal artificial orquesta el comportamiento de toda la criatura. La red neuronal artificial hace las veces de sistema nervioso central: recibe mensajes provenientes del sistema nervioso periférico, los procesa, y envía órdenes a los músculos (en nuestro caso, miembros morfológicos) del cuerpo [12]. C. Evolución de las Criaturas Virtuales La evolución de las criaturas virtuales es llevada a cabo utilizando la técnica llamada “optimización por enjambre de partículas” (PSO, por su nombre en inglés) [13]. La PSO es una técnica del área de inteligencia colectiva que busca optimizar soluciones a un problema utilizando un enjambre de partículas (población de soluciones), tal que cada una se va optimizando dependiendo de la experiencia personal y de la experiencia de las otras partículas en el vecindario. Estas experiencias son denominadas por Engelbrecht en [13] como componente cognitivo y componente social, respectivamente. Cada partícula posee un vector de posición que es la solución codificada en un espacio de búsqueda en Rn, y con un vector de velocidad también en Rn, que determina la magnitud del cambio por cada dimensión del vector de posición de la partícula. Por lo tanto, a mayor velocidad, mayor es el cambio en la posición. La posición de la partícula i durante la iteración t+1 es denotada por la ecuación siguiente: x i (t + 1) = x i (t ) + v i (t + 1) donde xi(t) es la posición actual de la partícula, y vi(t + 1) es la velocidad que lleva la partícula. Además, como se dijo antes, cada partícula posee memoria que le permite recordar cuál ha sido la mejor posición en la que ha estado (componente cognitivo), y cuál es la mejor posición que se ha encontrado en el vecindario (componente social). La actualización de la velocidad es afectada por ambos componentes de cada partícula y depende del algoritmo a emplear. Los algoritmos principales de la técnica enjambre de partículas son Global Best PSO (gbest) que emplea una topología estrella, y Local Best PSO (lbest) que emplea una topología anillo (es decir, cada partícula tiene un vecindario formado por sus k vecinos inmediatos). Nosotros usamos esta última en este trabajo, ya que según [13], este algoritmo tiene dos ventajas: a) es computacionalmente económico y, b) ayuda a difundir las mejores soluciones entre todas las partículas sin importar donde estén ubicadas. La ecuación siguiente determina la actualización de la velocidad bajo esta topología. (t) − x (t) | v ij (t + 1) = v ij (t ) + c1 r1 j (t) | y ij (t) − x ij (t) | + c 2 r2 j (t) | y ij ij donde vij(t) es la velocidad de la partícula i en la dimensión j durante la iteración t; c1 y c2 son constantes de aceleración que definen la importancia del componente cognitivo y social, respectivamente; r1j y r2j son números aleatorios en el rango [0; 1] sacados de distribuciones uniformes independientes; yij(t) es la dimensión j de la mejor posición alcanzada por la partícula i (componente cognitivo) hasta la iteración t; (t) es la dimensión j de la mejor posición conseguida por el y ij vecindario Ni de la partícula i hasta la iteración t (componente social). La siguiente ecuación describe matemáticamente la mejor posición del vecindario Ni. ( t + 1) ∈ {N | f ( y ( t + 1)) = min{f ( x ), ∀ x ∈ N }} y i i i i y la formación de vecindario Ni se determina matemáticamente en la ecuación siguiente, donde n es la cantidad de vecinos por partícula. N i = {y i − n / 2 (t ), ..., y i −1 (t ), y i +1 (t), ..., y i + n / 2 (t)} El algoritmo detallado Local Best PSO (lbest) se encuentra en [13]. En nuestro caso, la topología de anillo usada es para k=2. También, en nuestro caso cada partícula codifica la morfología y el comportamiento de una criatura. La función de aptitud de cada partícula es determinada por la distancia euclidiana que recorre la criatura a la que representa en un intervalo de 10 segundos (equivalente a 240 iteraciones del mundo virtual a 24tps), contados desde el momento en que algún miembro de la criatura hace contacto físico con el suelo; y la cantidad de iteraciones durante las que se hace evolucionar al enjambre es de 400. Las características morfológicas que están sujetas a evolución son: a) forma, masa, y dimensiones de cada cuerpo rígido que tiene la criatura; b) puntos de conexión y límites angulares de las articulaciones que los unen; y c) estructura morfológica de la criatura. En cuanto al comportamiento, son los pesos sinápticos de la red neuronal artificial y los umbrales de cada neurona los que se hacen evolucionar. La tabla 1 hace un compendio de las características sujetas a evolución y los rangos en los que puede variar cada una, y la Fig. 2 una muestra de las criaturas generadas por nuestro modelo. TABLA I. CARACTERÍSTICAS SUJETAS A EVOLUCIÓN Características Forma Masa Dimensiones (x, y, z) Punto de conexión Libertad en x Libertad en y Libertad en z Estructura morfológica Pesos sinápticos Umbrales Rango de Valores Morfología cápsula, cilindro, cono, esfera, paralelepípedo [3,39625273; 210,59813] Kg [0,19498446; 1,74582215] mts 0; 21 [0,0;π/2]rad [0,0; π]rad [0,0; π/2]rad ) Comportamiento [−1,0; 1,0] [−1,0; 1,0] En general, a los algoritmos por enjambre de partículas se les han hecho modificaciones. Nosotros en este trabajo usamos dos de ellas, la introducción de un peso de inercia y límites de velocidad, en aras de mejorar la velocidad de convergencia y la calidad de las soluciones. AGUILAR AND RADA : MORPHOLOGY AND BEHAVIOUR EVOLUTION OF Límites de Velocidad: Los límites de velocidad son usados para controlar la exploración y refinación de la búsqueda, evitando que las velocidades de las partículas alcancen valores tan altos que los cambios en la posición sean tan grandes que puedan obviar áreas de interés en el espacio de búsqueda. El primer paso es establecer el límite de velocidad por cada dimensión del vector de velocidad. Para ello usamos la ecuación propuesta en [13], mostrada a continuación. 1657 w(nt) es el peso final de inercia, y w(t) es el peso de inercia en la iteración t. v max j = δ ( x max j − x min j ) donde xmax j y xmin j son los valores máximos y mínimos de x en la dimensión j, δ es un valor en el rango (0; 1] que depende del problema y debe conseguirse utilizando técnicas empíricas [13]. Una vez establecido el límite de velocidad por cada dimensión, la ecuación siguiente determina cómo hacer cumplir el límite de velocidad. ' ' v ij (t + 1) si v ij (t + 1) < v m ax j v ij (t + 1) = ' v max j si v ij (t + 1) ≥ v max j Donde v ij' ( t + 1) se calcula utilizando la ecuación de velocidad previamente presentada. Para un valor pequeño de vmax j se favorece la refinación porque los cambios en la posición son pequeños, mientras que para un valor grande se favorece la exploración porque los cambios en la posición son más grandes. Finalmente, el límite de velocidad es controlado por la tangente hiperbólica, para suavizar el impacto de la elección de la velocidad máxima; v ij (t + 1) = v max j tanh v ij' (t + 1) v max j Peso de Inercia: El peso de inercia de una partícula determina la influencia de la velocidad anterior vij(t) al momento de calcular la nueva velocidad vij(t+1). Se trata de otro mecanismo para controlar la compensación entre exploración y refinación del enjambre. La ecuación siguiente sustituye la ecuación de actualización de velocidad en nuestro algoritmo, donde w es el peso de inercia. (t) − x (t) | v ij ( t + 1) = wv ij ( t ) + c1r1 j ( t ) | y ij ( t ) − x ij ( t ) | + c 2 r2 j ( t ) | y ij ij Según [13], el valor de w debe estar en el rango (0; 1], En este trabajo, el peso de inercia recae en la disminución lineal, en la cual se va disminuyendo linealmente el peso de inercia desde un valor alto hasta un valor pequeño (generalmente se utilizan 0.9 y 0.4, respectivamente). Esta estrategia se puede observar en la ecuación siguiente. w ( t + 1) = ( w (0) − w (n t )) nt − t + w (n t ) nt donde nt es el número máximo de iteraciones en que el algoritmo será ejecutado, w(0) es el peso inicial de inercia, Figura 2. Criaturas Virtuales generadas por nuestro modelo IV. EXPERIMENTOS Y ANÁLISIS DE RESULTADOS La población de criaturas virtuales está definida por todas las posibles combinaciones de características que pueda tener una criatura compuesta por cinco cuerpos rígidos. Estas características son: a) forma, dimensiones y masa de los cuerpos rígidos; b) puntos de conexión de las articulaciones y libertad de rotación que éstas permiten a los cuerpos rígidos que unen y; c) estructura morfológica. La muestra está conformada por 600 criaturas seleccionadas aleatoriamente a partir de una distribución uniforme, buscando así que todas tengan las mismas probabilidades de ser elegidas. Esta muestra es dividida en grupos donde sus características son sometidas a evolución para hacerlas más eficientes. El proceso de selección consiste en crear un grupo de 10 muestras con 30 criaturas cada una, y son estas muestras los enjambres que se someten a evolución utilizando optimización por enjambre de partículas. La cantidad de criaturas por muestra fue establecida en 30 porque, según [13] un enjambre entre 10 y 30 partículas es generalmente suficiente para conseguir soluciones óptimas, o casi óptimas, a cualquier problema. A. Evolución Promedio de las Criaturas Virtuales La Fig. 3 muestra la evolución promedio de los enjambres durante las iteraciones (medida como la distancia promedio (en metros) recorrida por el enjambre). 1658 IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 2, MARCH 2012 Figura 3. Evolución Promedio paralelepípedos y los cilindros. Se puede observar en la Fig. 3 que a mayor cantidad de iteraciones mayor es la distancia promedio recorrida por los enjambres de criaturas. Esta relación positiva (Para determinar esa tendencia de la evolución hemos utilizado la regresión lineal (recta de la Fig. 3), que permite estimar el efecto de. las iteraciones en la distancia promedio ) ocurre mientras que el enjambre no alcance una solución óptima, pues al ser alcanzada la distancia promedio llega al valor tope y más iteraciones no resultan en mayor distancia recorrida. Observamos que después de 250 iteraciones la distancia promedio recorrida es mayor a 55 mts, pero tiende a estabilizarse entre 55 y 60 mts. B. Estructura Morfológica de las Criaturas Virtuales La Fig. 4 presenta las morfologías posibles y sus respectivos índices (identificadores). La tabla 2 muestra los valores porcentuales de frecuencia de cada estructura morfológica en las criaturas generadas. TABLA III. EFICIENCIA DE LAS CRIATURAS VIRTUALES Forma Frecuencia (%) Forma Frecuencia (%) Capsulas 31.26 Paralelepípedo s 18.2 Esfera 21 Conos 18.53 Cilindros 11 D. Masa y Volumen de las Criaturas Virtuales La tabla 4 presenta los resultados con respecto a la masa y al volumen, expresados en kilogramos y en metros cúbicos, respectivamente. La evolución de la masa de las criaturas puede variar entre 3,396 y 210,598 Kg, correspondientes a la masa de los mamíferos [7]. La mediana demuestra que el 50% de las criaturas pesan más de 85,30 kilogramos. También, en la tabla se puede ver que el 50% de las criaturas pesa entre 75,44 y 94,45 kilogramos. En cuanto al volumen, el 50% de las criaturas se ubican entre 0,6777 y 1,1440 m3, y la mediana indica que el volumen del 50% de las criaturas es mayor a 0,8880 m3. TABLA IV. RESUMEN DE LA MASA Y VOLUMEN DE LAS CRIATURAS VIRTUAL Masa (Kg) Volumen(m3) Masa (Kg) Volumen(m3) Figura 4. Estructuras Morfológicas Mínimo 5.39 0,346 Media 85,34 0,925 1er Cuartil 75.44 0,6777 3er Cuartil 94,45 1,144 Mediana 85,3 0,888 Máximo 210,59 1,945 TABLA II. ESTRUCTURA MORFOLÓGICA: PREFERENCIAS Índice Frecuencia (%) Índice Frecuencia (%) 0 5.3 7 27 1 0 8 3 2 0.3 9 0,6 3 2,3 10 2 4 5 11 2 5 8 12 0 6 44,3 13 0 De acuerdo al promedio de las frecuencias de estructuras morfológicas, el patrón que se observa en el ranking de estructuras morfológicas más frecuente (6, 7, 5, 0, y 4) es que todas ellas tienen al nodo raíz lo más aislado posible del resto de nodos. Esto podría deberse a que el cuerpo rígido correspondiente al nodo raíz es inútil en términos de que no ejerce ningún tipo de fuerza para contribuir al movimiento de la criatura, y quizás más bien podría obstaculizar la eficiencia de los movimientos en los demás cuerpos rígidos; pero esto es sólo una conjetura. C. Forma de los Cuerpos Rígido La tabla 3 presenta el promedio de la frecuencia de cada forma presente, donde se puede observar claramente que la forma que mejor influye en la eficiencia de las criaturas virtuales es la cápsula. En segundo lugar están las esferas, con una leve diferencia respecto a los conos, quienes están en tercer lugar. Las formas de cuerpos rígidos que menos favorecen a la eficiencia de las criaturas son los E. Comparación de Modelo La tabla 5 presenta los resultados obtenidos por Miconi y Channon [2] y los resultados de este trabajo (MC se refiere a Miconi y Channon, y RV a nuestro modelo). Ambos resultados están basados en la velocidad promedio, expresada en metros/segundo. TABLA IV. RESUMEN DE LA MASA Y VOLUMEN DE LAS CRIATURAS VIRTUAL MC RV MC RV Mínimo 0,65 0,097 Media 1,436 5,82 1er Cuartil 0,975 4,228 3er Cuartil 2,059 7,332 Mediana 1,312 5,696 Máximo 2,375 11,91 Entre la media del modelo de MC (µmc=1,436) y la del modelo de RV (µrva=5,8200) existe una relación promedio de µrva /µmc = 4,052925, indicando que el modelo RV produce en promedio criaturas hasta cuatro veces más eficientes que MC. La mediana de MC indica que el 50% de las criaturas alcanzan una velocidad promedio superior a 1,312 m/s, mientras que la mediana de RV indica que el 50 % de las criaturas alcanzan una velocidad promedio superior a 5,6960 m/s, lo cual es un poco más de cuatro veces el valor de la AGUILAR AND RADA : MORPHOLOGY AND BEHAVIOUR EVOLUTION OF mediana de MC. El primer cuartil del modelo RV está muy por encima del tercer cuartil del modelo MC, e incluso por encima de la máxima, indicando que poco más del 75 % de las criaturas de RV alcanzan velocidades promedio superiores a todas las criaturas de MC. Los resultados muestran que los resultados con el modelo RV son mejores que los obtenidos con el modelo MC en términos de la velocidad promedio y, en consecuencia, en distancia recorrida. V. CONCLUSIONES. La evolución de morfología y comportamiento de criaturas virtuales en un mundo virtual que simula las leyes newtonianas de la física, utilizando el modelo de inteligencia colectiva propuesto aquí, hace que la criatura promedio presente las siguientes características después de 400 iteraciones: a) Capacidad para recorrer a una velocidad de 198,5 km/h, b) Una anatomía bípeda de tres cuerpos rígidos en cadena donde el último posee dos cuerpos unidos a él, c) Una estructura morfológica compuesta de 31,26% de cápsulas, 21,00% de esferas, 18,53% de conos, 18,20% de paralelepípedos, y 11,00% de cilindros, d) Unas articulaciones que permiten la rotación de los cuerpos rígidos alrededor de los ejes x, y y z, con los siguientes límites angulares (en radianes) θx=0,8446, θy=1,5344, y θz=0,8043, e) Una masa promedio de 85,3 kilogramos y un volumen de 0,92 m3. Las estructuras morfológicas que definen la anatomía de las criaturas virtuales se pueden ordenar en un ranking basado en su eficiencia. En este ranking, las anatomías bípedas son las que mejor influyen en la eficiencia de las criaturas, lo cual podría deberse a que el cuerpo rígido que representa a la raíz de la estructura morfológica es inútil en términos de que no ejerce ningún tipo de fuerza para contribuir al movimiento de la criatura. Por otro lado, la cápsula es la forma de cuerpo rígido que más favorece la eficiencia de las criaturas virtuales, pero aun así ésta no está presente en el 100% de una criatura, sino más bien requiere de la presencia de otras formas para lograr la mejor eficiencia obtenida. Un punto crucial es que la forma que se ha venido utilizando para la evolución de criaturas virtuales, el paralelepípedo, se encuentra entre las formas que menos favorecen a la eficiencia de las criaturas. La capacidad de las criaturas para alcanzar una velocidad promedio de 97 km/h esta cercana a la más veloz de los mamíferos, el Acinonyx jubatus con una velocidad de 104,95 km/h [7]. Comparando la masa de la criatura virtual promedio con los datos presentados en [7], ésta resultó ser mayor que la masa de los mamíferos de las familias Canidae, Hyaenidae y Procyonidae, pero menor que la masa de los mamíferos en las familias Felidae y Ursidae. El volumen de la criatura promedio se ubica alrededor del 40% del rango permitido, exhibiendo una clara tendencia a ser pequeña dentro los mamíferos de la orden Carnivora presentados en [7]. La relación entre la velocidad promedio de las criaturas virtuales de nuestro modelo vs el modelo de Miconi y Channon [2] fue de 4,052925, es decir, nuestro modelo produce (en promedio) criaturas cuatro veces más eficientes que el modelo propuesto en [2]. Además, al contrastar la media de nuestras criaturas con el valor de la criatura más 1659 eficiente obtenida en [2], se obtuvieron diferencias estadísticamente significativas entre los grupos, aseverando con un 99% de confianza que la producción media de criaturas del modelo desarrollado está entre 3,10 y 3,78 m/s por encima de la media optimista del modelo propuesto en [2]. Por otro lado, nuestro enfoque ejerce una mayor presión selectiva sobre las criaturas virtuales que las de [2], pudiéndose observar dos fases: una donde el incremento en la eficiencia es sustancial y ocurre durante las primeras 50 iteraciones, y la otra donde se refinan las soluciones resultando en incrementos moderados y sostenidos a lo largo de la evolución. Los mejores resultados obtenidos por nuestro enfoque, con respecto a trabajos previos, son producto de todas las mejoras introducidas en nuestro trabajo, las cuales son: - Nuestro enfoque se basa en un modelo coevolutivo de los componentes comportamentales y morfológicos de las criaturas virtuales. Ambos componentes se integran naturalmente (la salida del conductual es el momento a aplicar a los miembros morfológicos) para permitir un equilibrio en las criaturas. Dicho modelo coevolutivo es un método hibrido de varias técnicas inteligentes. - El modelo morfológico propuesto se inspira en parámetros propios de los mamíferos (masa y dimensiones), además que utiliza un mayor número de cuerpos rígidos. Todos estos aspectos influyen/inciden en la calidad de las criaturas virtuales propuestas.. Finalmente, los resultados alrededor de las criaturas virtuales cada día serán más importantes en las áreas de robótica [14] y de ambientes virtuales [15]. Sus aportes serán explorados en futuros trabajos. REFERENCIAS [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] K. Sims, “Evolving virtual creatures”. en Proc. of the Computer Graphics Conference (SIGGRAPH Proceedings)., pp. 15-22, 1994 T. Miconi and A. Channon, “A virtual creatures model for studies in artificial evolution”, en Proc. of the IEEE Congress on Evolutionary Computation, pp. 565–572, 2005. N. Lassabe, H. Luga and Y. Duthen, “A new step for evolving creatures”, en Proc. of the IEEE-ALife’07, pp. 243–251, 2007. N. Chaumon, R. Egli and C. Adami. “Evolving virtual creatures and catapults”. Artificial Life, vol. 13, pp. 139–157, 2007. A. Britto and A. Pozo, "WCI 03 A Rule Learning Multiobjective Particle Swarm Optimization", IEEE Latin America Transactions, vol. 7, no. 4, pp. 478-486, 2009. C. De La Cruz, H. D. Patiño and R. Carelli, "New Evolutionary Algorithm based on the Mathematical Modeling of the Evolution of a Species", IEEE Latin America Transactions, vol. 3, no. 4, pp. 310-316, 2005. P. Christiansen, “Locomotion in terrestrial mammals: The influence of body mass, limb length and bone proportions on speed”. Zoological Journal of the Linnean Society, vol. 136, pp. 685–714, 2002. K. Hainaut, Introducción a la Biomecánica. Ed. JIMS, 1982. P. Serway and J. Jewett, Physics for Scientists and Engineers with Modern Physics, (7ma Ed.) Brooks Cole, 2007. H. Iba, “Random tree generation for genetic programming”. Lecture Notes in Computer Science, vol. 1141, pp. 144–153, 1996. J. Aguilar and F. Rivas F, Introducción a las Técnicas de Computación Inteligente, Meritec, 2001. C. Cotman, and J. McGaugh, Behavioral Neuroscience. An Introduction. Academic Press, 1980. A. Engelbrecht, Fundamentals of Computational Swarm Intelligence, Wiley, 2005. 1660 [14] G. Silva-Ortigoza, J. Albarrán, R. Silva-Ortigoza, V. Hernández, V. Silva-García and V. Barrientos, "Trajectory Tracking in a Mobile Robot without Using Velocity Measurements for Control of Wheels", IEEE Latin America Transactions, vol. 6, no. 7, pp. 598-607, 2008. [15] D. Souza, L. Machado, R. Moraes, "Integration of Tracking Systems for the Development of Virtual Reality Applications", IEEE Latin America Transactions, vol. 8, no. 6, pp. 714-721, 2010. . Juan Rada obtuvo una Maestría en Inteligencia Artificial en el 2009 en la Universidad Centroccidental Lisandro Alvarado, Barquisimeto, Venezuela, otra Maestría en Computación y Análisis de Datos Inteligente de la Universidad de Oviedo en el 2010 (European Centre for Soft Computing), España. Actualmente es estudiante doctoral en Victoria University of Wellington, Wellington, Nueva Zelandia, trabajando en el área de Inteligencia de Enjambre. Sus actuales áreas de interés son: inteligencia de enjambre, enjambre de robots, algoritmos evolutivos, lógica difusa y redes neuronales artificiales. Jose Aguilar obtuvo una Maestría en Informática en 1991 en la Universidad Paul Sabatier-ToulouseFrance, y el Doctorado en Ciencias Computacionales en 1995 en la Universidad Rene Descartes-ParisFrance. Además, realizó un Postdoctorado en el Departamento de Ciencias de la Computación de la Universidad de Houston entre 1999 y 2000. Es profesor del Departamento de Computación de la Universidad de los Andes, Mérida-Venezuela, e investigador del Centro de Microcomputación y Sistemas Distribuidos (CEMISID) de la misma universidad. El Dr. Aguilar ha sido profesor/investigador visitante en varias universidades y laboratorios (Université Pierre et Marie Curie Paris-France, Laboratorie d’Automatique et Analyses de Systemes Toulouse-France, Universidad Complutense de MadridEspaña, entre otras). Sus áreas de interés son los sistemas paralelos y distribuidos, computación inteligente, (redes neuronales artificiales, lógica difusa, sistemas multiagente, computación evolutiva etc.), optimización combinatoria, reconocimiento de patrones, sistemas de control y automatización industrial. Ha publicado más de 300 artículos y varios libros en las áreas de Sistemas Computacionales y Gestión en Ciencia y Tecnología, y editor de varias actas de conferencias y de libros. Ha formado parte de varios jurados de premios científicos; presidido varios simposios, talleres, etc.; y es revisor de revistas internacionales permanentemente. Además, ha recibido varios premios nacionales como internacionales. IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 2, MARCH 2012