Morphology and Behavior Evolution of Virtual Creatures based on

Anuncio
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
Descargar