Professional Documents
Culture Documents
Simulador de Vida
Artificial
page ii
ndice
ndice ...................................................................................................................iii
Lista de tablas ....................................................................................................iv
Lista de Figuras ...................................................................................................v
1
Vida Artificial...............................................................................................................1
1.1.1. Simuladores de organismos digitales/vida artificial........................................6
2.2.
Motivaciones ..............................................................................................................10
Mundo ........................................................................................................................11
3.1.1. Parmetros globales ......................................................................................11
3.1.2. Umbrales de alarmas .....................................................................................13
3.1.3. Generacin de la vegetacin .........................................................................13
3.2.
Especies ......................................................................................................................14
3.2.1. Caractersticas de los individuos ...................................................................15
3.2.2. Generacin de los individuos ........................................................................19
3.3.
Individuos...................................................................................................................21
3.3.1. Control del estado .........................................................................................22
3.3.2. Alarmas .........................................................................................................23
3.4.
Usabilidad..................................................................................................38
Experimentacin .......................................................................................46
5.1.
5.2.
Resultado de la experimentacin................................................................................50
5.2.1. Pruebas sobre las caractersticas fsicas ........................................................51
5.2.2. Pruebas sobre las caractersticas psicolgicas...............................................60
page iii
Lista de tablas
Tabla 5.1 Experimentacin del alcance agudeza visual ...............................................52
Tabla 5.2 Experimentacin de resistencia-fuerza-velocidad............................................54
Tabla 5.3 Experimentacin de esperanza de vida descendencia .................................57
Tabla 5.5 Experimentacin de la agresividad ..................................................................61
Tabla 5.6 Experimentacin de la gula..............................................................................63
Tabla 5.7 Experimentacin de la lujuria ...........................................................................65
Tabla 5.8 Experimentacin de la sociabilidad..................................................................67
Tabla 5.9 Experimentacin de la pereza..........................................................................69
Tabla 5.10 Experimentacin del liderazgo .......................................................................71
Tabla 5.11 Experimentacin de la valenta ......................................................................74
page iv
Lista de Figuras
Figura 3.4.4.1 Organigrama de la toma de decisiones (bsico).......................................35
Figura 3.4.4.2 Organigrama de la toma de decisiones (comportamiento normal) ...........36
Figura 3.4.4.3 Organigrama de la toma de decisiones (alarmas) ....................................37
Figura 5.1.1 Individuos generados alcance/agudeza visual..........................................52
Figura 5.1.2 Turnos sobrevividos alcance/agudeza visual............................................53
Figura 5.2.1 Individuos generados resistencia/fuerza/velocidad...................................55
Figura 5.2.2 Turnos sobrevividos - resistencia/fuerza/velocidad .....................................55
Figura 5.3.1 Individuos generados esperanza de vida/descendencia ..........................57
Figura 5.3.2 Turnos sobrevividos - esperanza de vida/descendencia .............................57
Figura 5.4.1 Individuos generados alimentacin...........................................................59
Figura 5.4.2 Individuos generados alimentacin...........................................................59
Figura 5.5.1 Individuos generados agresividad.............................................................61
Figura 5.5.2 Turnos sobrevividos agresividad...............................................................62
Figura 5.6.1 Individuos generados gula ........................................................................64
Figura 5.6.2 Turnos sobrevividos gula ..........................................................................64
Figura 5.7.1 Individuos generados lujuria .....................................................................66
Figura 5.7.2 Turnos sobrevividos generados lujuria .....................................................66
Figura 5.8.1 Individuos generados sociabilidad ............................................................68
Figura 5.8.2 Turnos sobrevividos sociabilidad ..............................................................68
Figura 5.9.1 Individuos generados pereza ....................................................................70
Figura 5.9.2 Turnos sobrevividos pereza ......................................................................70
Figura 5.10.1 Individuos generados liderazgo ..............................................................72
Figura 5.10.2 Turno sobrevividos liderazgo ..................................................................72
Figura 5.11.1 Individuos generados valenta ................................................................74
Figura 5.11.2 Turno sobrevividos valenta ....................................................................74
page v
1.1.
Vida Artificial
La vida artificial es el estudio de la vida y de los sistemas artificiales que exhiben
propiedades similares a los seres vivos, a travs de modelos de simulacin. El cientfico
Christopher Langton fue el primero a utilizar el trmino a fines de los aos 1980 cuando
se celebr la "International Conference on the Synthesis and Simulation off Living
Systems" ("Primera Conferencia Internacional de la Sntesis y Simulacin de Sistemas
Vivientes") tambin conocida como "Artificial Life I" ("Vida Artificial I") en los Alamos
National Laboratory en 1987. En ingls tambin se conoce como alife, por la contraccin
de "artificial life".
Aunque el estudio de vida artificial tiene alguna superposicin significativa con el
estudio de inteligencia artificial (IA), los dos campos son muy diferentes en su historia y
mtodos. La investigacin de IA organizada empezaba temprano en la historia de
calculadoras digitales, y se caracterizaba a menudo en aquellos aos por una enfoque "de
arriba abajo" (top-down) basada en redes complejas de reglas. Los estudios de vida
artificial no tuvieron un campo nada organizado hasta los aos 80, y a menudo trabajaban
de forma aislada, sin conocer de otros que hacan trabajos similares. Si en alguna ocasin
se preocupaban por la inteligencia, los investigadores tendan a centrarse en la natura "de
abajo arriba" (bottom-up) de conductos emergentes.
Los investigadores de vida artificiales se han dividido a menudo en dos grupos
principales (aunque otras clasificaciones son posibles):
La posicin de vida artificial dura/fuerte manifiesta que "la vida es un proceso que
se puede conseguir fuera de cualquier medio particular". (John Von Neumann). Tom Ray
(un ecologista que cre y desarroll el proyecto Tierra, una simulacin por ordenador de
page 1
page 2
construccin, y gran conjunto de instrucciones. Utilizando las instrucciones que eran parte
de su propio cuerpo, podra crear una mquina idntica. Siguiendo esta idea cre (con
Stanislaw Ulam) autmatas puramente lgicos, no exigiendo un cuerpo fsico sino basado
en los estados que cambian de las clulas en una red infinita. El primer autmata celular
fue extraordinariamente mucho ms complicado que posteriores autmatas celulares.
Tena cientos de miles de clulas que podan existir cada una en uno de veintinueve
estados, pero Von Neumann pensaba que necesitaba esta complejidad para conseguir que
funcionara no slo como una mquina auto replicante, sino que tambin como una
computadora universal tal y como defini Alan Turing. Este "constructor universal" lea
de una cinta de instrucciones y escriba una serie de clulas que podan ser activadas para
dejar una copia completamente funcional del original y su cinta. Von Neumann trabaj en
su teora de autmatas intensivamente hasta el momento de su muerte, y lo consider su
trabajo ms importante.
El profesor de Cambridge John Horton Conway invent el autmata celular ms
famoso de los aos 60. Lo denomin el Juego de la Vida, y consigui publicidad a travs
de la columna de Martin Gardner en la revista Scientific American.
Christopher Langton fue un investigador poco convencional, con una carrera
acadmica sin distinciones que lo llev a conseguir un trabajo programando mainframes
para un hospital. Lo cautiv el Juego de la Vida de Conway, y empez a perseguir la idea
que una computadora puede emular criaturas vivas. Tras aos de estudio (y un casi fatal
accidente de ala delta), empez a intentar actualizar el autmata celular de Von Neumann
page 3
page 4
down), los boids producan soluciones parecidas a los de la vida real para evadir
obstculos en su camino. La animacin por computadora ha continuado siento un
conductor comercial clave para la investigacin en vida artificial segn los creadores de
pelculas intentan encontrar formas ms realistas y baratas de animar formas naturales
como plantas vivas, movimientos de animales, movimiento de pelo, y complicadas
texturas orgnicas.
La
Unido
of
Theoretical
Behavioural
Ecology
(Unidad
de
Ecologa
page 5
Basados en programacin
simuladores es Tierra.
Este proyecto lleva en activo desde 1994 y ha recibido bastante atencin de los
medios acadmicos. El principal propsito de tierra es generar software inteligente y
complejo mediante la utilizacin de algoritmos genticos. Estos programas compiten
entre si para acaparar el tiempo de cmputo de una CPU. Los que consiguen mantener
durante ms tiempo tienen ms posibilidades de reproducirse y extender su cdigo a las
siguientes generaciones. Para evitar mutaciones que llevasen a cuelgues fatales para la
CPU todo el sistema se envuelve en una mquina virtual que depura las instrucciones
peligrosas.
Tierra es una excelente aproximacin a los algoritmos genticos ya que ofrece un
software fcil de utilizar y entender. El cdigo de la aplicacin esta disponible para
cualquiera en la pgina web ( http://www.nis.atr.jp/~ray/tierra/ ).
Otros simuladores interesantes que siguen el algoritmo de Tierra son:
Avida
Darwinbots
Framsticks
Physis
Evolve4.0
page 6
1.1.1.2.
Basados en parmetros
Cell-O-Sim
page 7
Kyresoo Plants
1.1.1.4.
Noble Ape
page 8
2.1.
page 9
eficientes las tareas de explotacin y exploracin que llevan a cabo estos algoritmos. As,
la aplicacin de los algoritmos genticos para encontrar dichas soluciones a otros
problemas sera menos costosa, puesto que podramos orientar ms claramente el
modelado del problema hacia la bsqueda de una solucin ms ptima.
Por tanto, a diferencia de la mayora de algoritmos comentados en el estado del
arte, nuestra simulacin se centra ms en la imitacin de los procesos naturales para su
mejor comprensin que en su explotacin para resolver problemas de otros mbitos. Esto
har que no busquemos la solucin a un problema determinado, sino facilitar la bsqueda
general de soluciones a cualquier problema.
2.2.
Motivaciones
Lo que nos llevo a desarrollar esta simulacin fue la idea de desarrollar una
aplicacin que sirviese para investigar un campo que nos interesa particularmente, como
es el de los algoritmos genticos, sin descuidar el hecho de que fuera agradable de usar
para el usuario. Normalmente los procesos de investigacin suelen ser tediosos y
repetitivos, con grandes lotes de pruebas por hacer y resultados que recoger con poca o
nula participacin por el investigador durante el proceso. Con nuestra aplicacin, el
usuario podr observar en todo momento, de manera fcil y atractiva, el resultado de sus
decisiones a la hora de elegir los parmetros que componen el ecosistema. De esta
manera, conseguir imitar los procesos naturales que estamos investigando se convertir en
una tarea ms fcil y llevadera.
page 10
3.1.
Mundo
El mundo del que formarn parte los actores de la simulacin consistir,
fundamentalmente, en un tablero en apariencia tridimensional, aunque a efectos de la
fsica de las entidades solo contaremos con dos dimensiones. La tercera, como se
explicar ms adelante, influir en la regeneracin de los vegetales y la descomposicin
de las entidades inertes.
page 11
g_fuerza (Valor entero positivo): Afectar a la fuerza con la que los individuos
podrn atacar. El dao que causarn a otros individuos se ver multiplicado por
este parmetro.
page 12
page 13
seleccionarlas, los vegetales sern repartidos en torno a dichos centros dentro del radio
definido.
Una vez decidida la posicin, para cada rbol se elegir un tipo. Las
probabilidades de que sea de un tipo u otro variarn segn la altura del terreno en la
posicin seleccionada. En funcin del tipo de vegetacin que sea seleccionado, variar la
apariencia y composicin metablica de los vegetales. Los posibles tipos de vegetacin se
dividen en los siguientes grupos:
3.2.
Especies
Como se ha comentado al principio de esta seccin, los animales estn agrupados
por especies con unas caractersticas similares. Dichas caractersticas sern determinante
en la manera en que los individuos interaccionan con el entorno, y en sus posibilidades de
sobrevivir. Estarn definidas en el genotipo de cada individuo, pero ste ser una ligera
variacin (al menos inicialmente) del genotipo medio definido en el fichero de
configuracin de las especies, por lo que los individuos dentro de una misma clase no se
diferenciarn mucho los unos de los otros. Adems, se necesitarn mutuamente para la
reproduccin, meta final de su existencia, ya que de ella depender que sus genes sean
transmitidos a la prxima generacin para poder perpetuar la especie. Por ltimo, en
page 14
Caractersticas psicolgicas:
page 15
3.2.1.1.
Fsicas
Las caractersticas fsicas son las que ms influirn en cmo realizarn los
individuos las acciones ms bsicas, as como la manera en que el entorno en el que se
mueven modificar su estado. Adems, las caractersticas fsicas estarn relacionadas
entre s, ya que los parmetros de un mismo grupo no podrn suma ms de 100
unidades entre todos. Por tanto, tampoco podrn superar esa cantidad de manera
individual. El resumen de las mismas es el siguiente:
Fuerza (Valor entero 0-100): la fuerza afecta al dao causado por sus ataques a
otros individuos, posiblemente destinados a acabar con ellos para alimentarse de
page 16
page 17
3.2.1.2.
Psquicas
Gula (Valor decimal 0-1): la gula ser una caracterstica que podr inducir al
individuo a buscar alimento, aunque se encuentre suficientemente saciado como
para no preocuparse por el hambre. Tambin podra provocar que atacase a otros
individuos para intentar alimentarse de sus metabolitos, siempre y cuando stos
sean asimilables.
Lujuria (Valor decimal 0-1): este parmetro influir en que el individuo muestre
intenciones o no de reproducirse con otro miembro de su misma especie,
independientemente del nmero de turnos que lleve sin reproducirse (y por tanto
del valor de la alarma de reproduccin).
Sociabilidad (Valor decimal 0-1): los individuos de una especie sociable tendr a
permanecer ms cercanos, pues se movern hacia el centro de masas con mayor
facilidad. Esto podra influir positivamente en la frecuencia de la reproduccin.
page 18
Pereza (Valor decimal 0-1): la pereza podra llevar a los individuos a tomar la
decisin de no hacer nada durante el turno, lo cual les hara estar ms descansados
(controlara su valor de fatiga).
Generacin inicial
page 19
3.2.2.2.
Reproduccin sexual
Centro de masas
page 20
Para calcularlo, se har la media de las posiciones de todos los individuos activos
(vivos) de la misma, ponderando la importancia de cada uno por el valor de liderazgo
definido en su genotipo. As, el centro de masas estar ms cercano a las zonas en las que
haya ms individuos de la especie, o hacia aquellos que posean un mayor liderazgo.
3.3.
Individuos
El protagonismo de la simulacin residir en las entidades animales o individuos
que se movern por el entorno. Ellos pueden ser considerados los verdaderos actores del
sistema, siendo los nicos agentes que toman decisiones y realizan acciones capaces de
alterar el entorno en el que se mueven. Por tanto, de ellos depender alcanzar el equilibrio
mencionado. Para estudiar este equilibro, necesitaremos disponer de cierta informacin
acerca de la situacin en que se encuentran. Dicha informacin puede dividirse en dos
grupos claramente diferenciables: estado del individuo y alarmas activas.
Control del estado:
Alarmas:
page 21
Salud: Indica la salud (en puntos de vida) del individuo. El mximo sern 100
puntos, valor con el que empezar todo individuo en el momento de su
nacimiento. Cuanto ms se acerque a 0, mayor ser la probabilidad de que el
individuo muera, siendo sta una certeza en caso de tomar un valor menor o igual.
Esta se ver afectada por las peleas con otros individuos, y podra llevar a la
entidad animal a evitar conflictos y descansar para recuperarla.
Hambre: el hambre ir aumentando a medida que transcurran los turnos sin que el
individuo se alimente, y sus reservas sean consumidas. Influye en la probabilidad
de muerte por hambre, y podra dar lugar a la activacin de la alarma por la misma
causa.
page 22
3.3.2. Alarmas
Junto con los parmetros que controlan el estado del individuo, hay una serie de
indicadores que nos permiten saber con mayor certeza la situacin en la que se encuentra
el individuo, adems de afectar de manera decisiva en la toma de decisiones del mismo.
Estos indicadores tomarn valores entre 0 y 1, y sern tenidos en cuenta en funcin del
parmetro de valenta de cada individuo, y de los umbrales definidos en las variables
globales pertinentes. Dichos indicadores se basarn en distintos aspectos tanto del estado
interno del individuo como de la visin que tenga del entorno. Cuando los indicadores
superen dichos umbrales, y si la valenta del individuo lo permite, se activar una alarma
que obligar al individuo a comportarse de una manera determinada. Las distintas alarmas
que pueden activarse son:
Depredador: esta alarma podr activarse cuando haya entidades animales dentro
del rango de visin del individuo, que puedan alimentarse de l (asimilen los
metabolitos predominantes de los que est compuesto) y tenga mayor fuerza. El
valor de este indicador depender de la distancia a la que se encuentra el
depredador potencial y de su alcance visual, y su activacin indicar al individuo
que deber huir para conservar su integridad.
Depredador = distancia depredador ms cercano / alcance visual
Fatiga: el indicador de fatiga del individuo podra activar esta alarma, ya que sus
valores estn directamente relacionados. Cuando esto ocurra, el individuo deber
permanecer inmvil para poder descansar y hacer que el valor de dicho parmetro
disminuya. La fatiga del individuo se ver aumentada cada vez que el individuo
page 23
3.4.
Entidades vegetales
page 24
3.4.1.1.
Normal
Respuesta a Depredador
Respuesta a Fatiga
Respuesta a Salud
Respuesta a Hambre
Respuesta a Reproduccin
Comportamiento Normal
page 25
Ira
El Individuo descansar este turno sin moverse y sin realizar ninguna accin,
recuperando de esta manera salud y fatiga.
Para determinar qu sentimiento ser el que prime sobre los dems en cada turno,
se llevara a cabo una seleccin aleatoria. Esta seleccin estar ponderada segn los
valores establecidos por el Genotipo del individuo; cuanto mayor sea el valor de un
determinado parmetro, ms posibilidades tendr ese parmetro de ser seleccionado.
page 26
3.4.1.2.
Respuesta a Depredador
Respuesta a Fatiga
Respuesta a Salud
Respuesta a Hambre
Respuesta a Reproduccin
Depredador
2.
Fatiga
page 27
3.
Hambre
4.
Reproduccin
5.
Salud
3.4.1.8.
Actos reflejos
Aunque los comportamientos definirn las decisiones que tomarn los Individuos
en cada turno, stas se llevaran a cabo mediante un conjunto de operaciones bsicas que
definimos como actos reflejos. La manera y efectividad en que los Individuos
ejecutarn dichos actos depender fundamentalmente de las caractersticas fsicas
definidas en su Genotipo, aunque en algn caso se vern tambin afectadas por la
sociabilidad. Dichos actos de reflejos se resumen en: movimiento, alimentacin, lucha,
reproduccin y descanso.
Un aspecto a destacar sobre estos actos reflejos es que no podrn realizarse en
caso de que la fatiga haya alcanzado el valor mximo (100).
Actos reflejos:
Movimiento
Vagar
Alimentacin
Lucha
Reproduccin
Descanso
Movimiento
page 28
page 29
Este acto tendr una consecuencia directa sobre la Entidad utilizada como
alimento; las cantidades de los metabolitos asimilados por el Individuo sern
consumidas en el alimento, esto es, sern restadas. En ningn caso se llegar a un valor
menor que 0. Cuando todos los metabolitos de una Entidad (Vegetal o Inerte) alcancen 0,
ser considerada como consumida y se eliminar del mundo.
En este caso tambin aumentar la fatiga, de manera anloga a como sucede en el
movimiento.
Lucha
En ocasiones, el Individuo elegir atacar a otro, ya sea movido por la ira, la gula, o
el hambre. En estos casos, se producir un enfrentamiento. La decisin de pelear ser
totalmente unilateral; el Individuo objeto del ataque no podr negarse a pelear.
El enfrentamiento consistir en un ataque realizado por el Individuo atacante, y
una respuesta del Individuo defensor. Ambos sucesos ocurrirn en el mismo turno,
durante el perodo reservado a la accin correspondiente al atacante.
En primer lugar, se procesar el ataque del Individuo que inici la pelea.
Primeramente, se calcular la probabilidad de que el Individuo defensor esquive el
ataque. Para ello, se harn tiradas ( tirada(x) ) con el parmetro de velocidad de cada
Individuo, esto es, se calcularn dos nmeros aleatorios, teniendo cada uno como valor
mximo posible los parmetros indicados. La condicin para que el ataque tenga xito se
resume en la siguiente expresin:
tirada(v1) > tirada(v2)/4
page 30
Un aspecto a destacar es que, en ningn caso, el dao producido podr ser menor
de 1. En caso de que la frmula anterior produjese un valor por debajo, se forzar a que la
salud restada al Individuo defensor sea 1.
Adems de provocar un descenso en la salud del defensor, el ataque producir un
aumento en la fatiga del atacante. Para calcularla, adems de utilizar el valor obtenido
anteriormente con la tirada sobre la fuerza del Individuo, se realizar una tirada con su
resistencia, siendo el aumento de fatiga el resultante de la siguiente expresin:
fatiga = tirada(f1) tirada(r1)*3/4
Como en el caso del dao producido, la fatiga mnima posible siempre ser 1.
A continuacin se procesar la respuesta del defensor. Para ello, se utilizarn las
mismas frmulas que con el atacante, intercambiando los parmetros de los Individuos.
As pues, las frmulas utilizadas para calcular la respuesta del defensor quedaran as:
tirada(v2) > tirada(v1)/4
dao = [tirada(f2)*(100-fatiga2) tirada(r1)*(100-fatiga1)/2]/100
fatiga = tirada(f2) tirada(r2)*3/4
Por ltimo, cabe destacar que, en ambos casos, slo se producir el ataque si el
parmetro de fatiga del ejecutor se encuentra por debajo de 100. Esto no quiere decir que,
en caso de que la fatiga del atacante le impida efectuar el ataque, no se produzca el
enfrentamiento; el defensor efectuar una respuesta a las intenciones hostiles de su
atacante, si su propia fatiga se lo permite.
Reproduccin
page 31
Otra consecuencia que tendr este acto reflejo ser la reduccin a 0 del contador
que mide el nmero de turnos que lleva el Individuo sin reproducirse, en ambos
Individuos.
Descanso
Procedimiento de muerte
Otro parmetro que podra causar la muerte del Individuo es el hambre. En cada
turno, las reservas que tiene el Individuo disminuyen en una cantidad fija determinada por
su resistencia y por una variable global del mundo. Cada vez que las reservas disminuyen,
el hambre del Individuo aumenta, si ste no se alimenta. Cuando el hambre sobrepasa el
valor umbral de 0.9, se calcular la probabilidad de que sobrevenga la muerte por
inanicin. Dado que el hambre de un Individuo es un parmetro que adopta valores entre
0 y 1, se utilizar ese mismo valor como probabilidad de muerte.
Por ltimo, existe la posibilidad de que los Individuos fallezcan por causas
naturales debido a su edad. En este caso, entrar en juego la esperanza de vida definida en
su Genotipo. Cuando el Individuo se encuentre en un rango de edad que sea mayor a las
page 32
page 33
page 34
En primer lugar, tenemos el proceso que realizan todos los individuos al principio
de cada turno. Dicho proceso definir la estrategia que el animal utilizar durante ese
turno, teniendo en cuenta si ha de responder a alguna alarma o no. Adems, dicha alarma
podra ser ignorada como producto de la valenta de la entidad. En caso contrario, la
alarma considerada prioritaria ser atendida.
page 35
de cada una de ellas vendr dada por el valor asignado a ese parmetro, dividido entre la
suma de los valores de todas.
prActivacion(c.psicolgica) = valor(c.psicolgica) /
(valor(c.psicolgicas))
Comportamiento
Normal
Qu
caracterstica
psicolgica
activar?
Ira
Gula
Lujuria
Sociabilidad
Pereza
Comer
Reproducirse
Moverse hacia el
centro de masas
Permanecer
inmvil
Actos Reflejos
Luchar
Depredador
2.
Fatiga
3.
Hambre
4.
Reproduccin
page 36
5.
Salud
page 37
4 Usabilidad
Para que la experiencia de la simulacin sea completa, el usuario debe tener cierto
control sobre lo que est ocurriendo, ya sea de manera activa o pasiva. Para ello, hemos
provisto a la aplicacin de ciertos mecanismos que permiten una cierta interaccin antes y
durante la ejecucin.
En primer lugar, el usuario especificar las especies que desea que poblen el
mundo mediante un fichero de texto. Dicho fichero contendr una lnea por cada especie a
crear, en la que se indicarn los datos de la misma, a saber:
Nombre de la especie
Agudeza visual
Alcance visual
Resistencia
Fuerza
Velocidad
Esperanza de vida
Descendencia
page 38
Agresividad
Gula
Lujuria
Sociabilidad
Pereza
Liderazgo
Valenta
especificados separados por el smbolo ;. No se admitir una lnea que contenga menos
parmetros de los necesarios, o que no respete las normas establecidas anteriormente.
Para los valores numricos, se admitir cualquier nmero decimal (utilizando el smbolo
page 39
Nombre: Bichos
Agudeza visual: 60
Alcance visual: 40
Resistencia: 30
Fuerza: 40
Velocidad: 30
Esperanza de vida: 30
Descendencia: 5
Agresividad: 0.1
Gula: 0.25
Lujuria: 1.0
Sociabilidad: 0.6
Pereza: 1.0
page 40
Liderazgo: 0.5
Valenta: 1.0
Nmero de la especie: 0
g_descomposicin
g_regeneracin
g_esperanza
g_descendencia
g_resistencia
g_fuerza
g_velocidad
g_alcance
page 41
Nmero de bosques
Todos estos parmetros, excepto los tres ltimos, tendrn un valor entre 0 y 1.
Para los parmetros de configuracin de la vegetacin generada en el mundo la nica
limitacin impuesta es que tendrn que ser mayor que 0.
Una vez ledos ambos ficheros, se crear el mundo generando el nmero de
individuos y la vegetacin de manera acorde a los parmetros dados. Dichos individuos
sern colocados en el mundo de manera aleatoria, al igual que se inicializar la vegetacin
para que puedan alimentarse de sus metabolitos vegetales.
Al final de la simulacin podremos observar los resultados obtenidos en dos
ficheros. El primero de ellos, simulacion.log, contendr una traza de los eventos
ocurridos durante la misma, as como una breve informacin sobre los mismos. En
cambio, el fichero stats.log guardar un registro de las estadsticas de cada especie por
turno, recogiendo datos como el nmero de individuos generados o las veces que stos se
alimentaron, entre otras. A continuacin podemos ver un ejemplo del fichero generado
con la traza de eventos:
0 [Turno 0] -> Creado: Bichos_0(0):[0;30,30,40,30;30,0;Alim:{OXXOOXX}
Compos:{M0:0,M1:0,M2:0,M3:12,M4:56,M5:32,M6:0,} 0,0,0,0,1,0,1]
1 [Turno 0] -> Creado: Bichos_1(0):[50;0,20,40,40;30,5;Alim:{OXXOOXX}
Compos:{M0:0,M1:0,M2:0,M3:12,M4:56,M5:32,M6:0,} 0,0,0,0,1,0,1]
...
32 [Turno 0] -> Creado: Bichos_32(0):[60;0,30,40,30;30,5;Alim:{OXXOOXX}
Compos:{M0:0,M1:0,M2:0,M3:12,M4:56,M5:32,M6:0,} 0,0,0,0,1,0,1]
33 [Turno 0] -> Creado:
Lemmings_0(1):[30;0,30,50,20;70,13;Alim:{XXOOOXX}
Compos:{M0:0,M1:0,M2:0,M3:52,M4:17,M5:31,M6:0,} 0,0,0,0,1,1,0]
34 [Turno 0] -> Creado:
Lemmings_1(1):[40;60,30,50,20;60,3;Alim:{XXOOOXX}
Compos:{M0:0,M1:0,M2:0,M3:52,M4:17,M5:31,M6:0,} 0,0,0,0,1,1,0]
...
page 42
Ataque esquivado
page 43
...
2554 [Turno 26] -> Bicharracos_11: Individuo muerto
page 44
...
Turno 73
Estadisticas de la especie Bichos:
Nmero actual de individuos: 22
Individuos generados en el mundo: 140
Poblacin inicial: 50
Natalidad durante la ejecucin: 90
Mortalidad durante la ejecucin: 118
Muertes por salud: 48
Muertes por hambre: 68
Muertes por edad: 2
Peleas empezadas por individuos de esta especie: 985
Dao causado a otros individuos por los integrantes de esta
especie: 8562.77
Dao causado a los integrantes de esta especie por parte de
otros individuos: 8968.93
Nmero de veces que los individuos de esta especie se han
reproducido: 42
Nmero de veces que los individuos de esta especie se han
alimentado: 411
Comportamientos adoptados por los individuos de esta especie en este
turno:
Depredador: 0
Fatiga: 0
Hambre: 13
Reproduccion: 0
Salud: 1
Normal: 8
page 45
5 Experimentacin
En esta seccin desarrollaremos las pruebas realizadas con el sistema
implementado. De esta manera, documentaremos la consecucin de los objetivos fijados
para nuestra aplicacin.
En primer lugar, comentaremos de manera breve el entorno que se configur para
realizar las pruebas. En dicho apartado especificaremos los parmetros de configuracin
elegidos y el por qu de tales elecciones.
Posteriormente, recogeremos los resultados de varias pruebas realizadas,
orientadas a resaltar la importancia de los diferentes parmetros configurables de cada
especie. El objetivo de estas pruebas no es estudiar en profundidad la influencia de unos
parmetros respecto a otros, pues sera demasiado complejo, y no es la intencin de este
estudio. Por el contrario, observaremos el impacto de cada parmetro por separado en las
posibilidades de supervivencia de una especie, en funcin del valor asignado.
5.1.
Entorno de pruebas
Para estudiar de manera coherente la influencia de los diferentes parmetros en las
posibilidades de supervivencia de los individuos, antes debemos configurar un entorno
vlido para la realizacin de las pruebas. Dicho entorno vendr dado por las opciones de
configuracin que definen el mundo, dado que afectarn globalmente a todas y cada una
de las acciones que se desarrollen en l.
Con objeto de encontrar una configuracin vlida del mismo, es necesario fijar
las caractersticas de las especies, estableciendo las mismas para las 3 que conformaran
esta fase de la experimentacin. De esta manera, dichas caractersticas no influiran en el
resultado de las pruebas, pudiendo aislar el efecto de los distintos parmetros de la
configuracin que queremos evaluar.
Si queremos saber cundo un conjunto de parmetros es mejor o peor que otro,
debemos fijar un criterio de evaluacin de dichas configuraciones. En este caso, el
page 46
nmero de turnos que transcurran hasta que el ltimo individuo perece nos puede servir
como medida de lo sostenible que es un entorno en las condiciones dadas.
Otro aspecto a decidir es el mtodo utilizado para ejecutar la experimentacin
como tal. En esta fase, la decisin fue probar por separado valores distintos de un mismo
parmetro, dejando fijos los dems, para encontrar un valor orientativo que nos sirviese a
la hora de configurar el conjunto de valores final. De esta manera, se estudiaron uno por
uno todos los parmetros, hasta conseguir una configuracin base.
Si nos detuvisemos en este punto, estaramos dando por hecho la independencia
de unos parmetros con otros. Para evitar caer en presunciones errneas, decidimos
trabajar con la configuracin base alcanzada, realizando pequeas variaciones sobre los
valores obtenidos, y observando como influan en el resultado de la experimentacin.
Como resultado, obtuvimos una nueva configuracin base que utilizar en la
siguiente fase de la experimentacin. A continuacin se resume, uno a uno, los valores
elegidos para cada parmetro, junto con una breve explicacin terica de las razones que
hacen que esos valores proporcionen un entorno ptimo para nuestra simulacin.
g_descomposicin
Valor: 1.0
Comentario: A la vista de las pruebas, no pareci necesario potenciar ni
reducir la descomposicin de los cadveres durante la simulacin
g_regeneracin
Valor: 2.0
Comentario: Puesto que los individuos parecan agotar con demasiada rapidez
las reservas vegetales del entorno, decidimos potenciar la regeneracin de los
mismos. Un valor de 2 en este parmetro pareci ser suficiente.
g_esperanza
Valor: 1.0
page 47
g_descendencia
Valor: 1.0
Comentario: Al igual que sucede con la esperanza de vida, el valor por defecto
pareci ser suficiente durante la experimentacin.
g_resistencia
Valor: 0.75
Comentario: La resistencia global del mundo pareca ser demasiado elevada,
siendo demasiado duro para los individuos conservar las reservas de
metabolitos que necesitaban para sobrevivir. Reducindola, disminuy
tambin la frecuencia con la que los individuos moran de hambre.
g_fuerza
Valor: 1.0
Comentario: La fuerza de los individuos aparent ser equilibrada durante los
conflictos entre los mismos.
g_velocidad
Valor: 25.0
Comentario: Dado que conceptualmente el simulador se dise para escenarios
mucho ms pequeos, la separacin entre los individuos dificultaba en
sobremanera su interaccin. Al potenciar la velocidad, se aument el rango de
movilidad de los mismos, siendo ms fcil que llegasen a interactuar entre s
con objeto de reproducirse o luchar.
g_alcance
Valor: 1.0
page 48
page 49
Comentario: Otra medida que tomamos para evitar el alto nmero de muertes
por hambre en la simulacin fue poner a disposicin de los individuos un
amplio nmero de entidades vegetales para su alimento. Al final, se opt por el
mximo de unidades soportado, dado que la magnitud del escenario pareca
acorde con dicha cantidad.
Nmero de bosques
Valor: 200
Comentario: Adems de la cantidad, la dispersin de la vegetacin tambin
influye en la disponibilidad de los metabolitos vegetales. Un valor de 200
bosques result suficiente, produciendo bosques lo suficientemente frondosos
para ser alimentar a una manada de individuos a lo largo del tiempo.
5.2.
Resultado de la experimentacin
Una vez establecido un entorno sobre el que realizar las pruebas, pasamos a la
siguiente fase de la experimentacin. El objetivo era observar, de manera sencilla, cmo
influan los parmetros en las posibilidades de supervivencia de una especie.
A tal efecto, se realizaron una serie de pruebas con los distintos parmetros.
Dichas pruebas consistan en establecer valores de distintos rangos (altos, medios y bajos)
para el mismo parmetro en tres especies diferentes, manteniendo fijos los valores de las
dems caractersticas, y ejecutar la simulacin. Consideramos que la especie con mayor
tendencia a sobrevivir sera la agraciada con un valor ms ptimo en dicho parmetro.
Dada la multitud de factores aleatorios que podan influir en los resultados, cada
batera de pruebas se efecto hasta 10 veces, observando el comportamiento resultante de
page 50
las mismas y descartando aquellas situaciones marginales (por ejemplo, que todos los
individuos pereciesen tempranamente) para evitar que afectasen a los resultados.
Para mayor claridad, dividimos las pruebas entre aquellas relacionadas con las
caractersticas fsicas del individuo y aquellas referentes a su psicologa.
page 51
5.2.1.1.
El alcance visual de un individuo mide la distancia hasta la que ste podr detectar
objetos, mientras que la agudeza establece la precisin con la que stos sern detectados
(es decir, que estn realmente ah, o por el contrario su percepcin tenga una cierta
variacin respecto a su situacin real en el mundo). Para esta prueba, comparamos 3
especies con distintas configuraciones para estos dos parmetros.
Los resultados obtenidos se muestran a continuacin:
Especie
Bichos
Lemmings
Critters
Alcance
visual
75
50
25
Agudeza
visual
25
50
75
Individuos
Turnos
generados sobrevividos
48,90%
87,43%
24,45%
70,85%
26,65%
51,28%
page 52
A la vista de los datos, podemos concluir que las especies se ven favorecidas por
un mayor alcance visual, frente a la agudeza. Esto puede deberse al hecho de que los
individuos detecten los objetos desde lejos utilizando la vista, y al acercarse se sirvan de
su tacto para localizarlos de manera ms precisa. Por ejemplo, entre dos individuos con
distinto alcance visual, el que tenga un mayor radio ser capaz de detectar un mayor
nmero de alimentos. Por el contrario, divisar antes a los depredadores, teniendo mayor
margen de tiempo para huir de ellos.
5.2.1.2.
page 53
Resistencia
Bichos
Lemmings
Critters
Ewoks
50
25
25
34
Fuerza
25
50
25
33
Velocidad
Individuosgenerados
25
25
50
33
37,33%
22,03%
19,34%
21,30%
Turnos
sobrevividos
100,00%
49,79%
37,52%
61,71%
page 54
Los resultados muestran una mejor adaptacin de la especie favorecida con mayor
resistencia. Este hecho tiene sentido, dado que aquellos individuos ms robustos
soportarn mejor la escasez de alimentos o los ataques de otros individuos. Adems,
obtenemos que la fuerza tambin es un parmetro para el que un valor alto es
recomendable, ya que favorece a los individuos, permitindoles imponerse a especies ms
dbiles. Por ltimo, no parece que una mayor velocidad influya demasiado en las
posibilidades de supervivencia de los animales, a pesar de estar ms ponderada por la
page 55
Una especie tendra un valor alto para el primer parmetro y bajo para el
segundo
Una tercera especie tendra un valor alto para la descendencia, y bajo para
la esperanza.
page 56
Especie
Bichos
Lemmings
Critters
Esperanzade
vida
40
50
60
Descendencia
6
5
4
Individuos
Turnos
generados sobrevividos
88,67%
96,82%
8,41%
91,12%
2,92%
69,27%
Estos datos reflejan una clara superioridad por parte de la primera especie; por
tanto, la configuracin ptima consistira en tener una descendencia mayor frente a una
page 57
Alimentacin
Herbvoros
Carnvoros
Carroeros
Omnvoros
Para este caso de pruebas se hizo necesario, por tanto, el uso de una configuracin
con 4 especies, al igual que con el grupo resistencia-fuerza-velocidad. Tambin se
dispuso de un entorno de pruebas ms potente destinado a tal efecto, ya que un mayor
nmero de individuos de partida aumentaba la complejidad de la simulacin, por lo que se
haca necesaria una mayor capacidad de computacin.
Los resultados de las simulaciones fueron:
Especie
Bichos
Lemmings
Critters
Ewoks
Alimentacin Individuosgenerados
Herbvoro
Omnvoro
Carnvoro
Carroero
27,20%
46,74%
12,25%
13,80%
Turnos
sobrevividos
75,58%
94,50%
54,27%
62,65%
page 58
page 59
5.2.2.1.
Agresividad
page 60
Agresividad
0,75
0,5
0,25
Individuos Turnos
generados sobrevividos
26,24%
56,36%
36,77%
83,17%
36,99%
84,23%
page 61
Gula
page 62
Gula
Bichos
Lemmings
Critters
0,75
0,5
0,25
Individuos Turnos
generados sobrevividos
12,42%
36,61%
14,01%
53,56%
73,56%
99,03%
page 63
Con los resultados en la mano, queda bastante claro que un valor bajo para este
parmetro sera el ms conveniente. Las razones pueden ser varias, desde la nocividad de
una competencia por los recursos entre individuos de la misma especie hasta la falta de
atencin a otras necesidades (reproduccin, huda de un posible depredador), resultando
ms decisivas que mantener al individuo alimentariamente satisfecho. Sin embargo,
concluir de manera tajante que un valor bajo para este parmetro no sera correcto, puesto
que hara falta tener en cuenta otros muchos factores para poder afirmarlo con rotundidad.
page 64
5.2.2.3.
Lujuria
Lujuria
0,75
0,5
0,25
Individuos Turnos
generados sobrevividos
28,92%
73,43%
27,76%
76,91%
43,32%
82,47%
page 65
page 66
Sociabilidad
Sociabilidad
0,75
0,5
0,25
Individuos Turnos
generados sobrevividos
69,86%
83,93%
23,94%
43,57%
6,20%
24,27%
page 67
Estos resultados nos permiten afirmar que, en el mbito de este estudio, una alta
sociabilidad mejor sustancialmente las posibilidades de supervivencia de una especie. Se
puede observar, tanto por el porcentaje de individuos generados como por la longevidad
de la especie, que la interaccin entre los miembros de la misma es bsica para sostenerse
en el entorno proporcionado para la simulacin. El aislamiento de los individuos de la
tercera especie, como resultado de su baja sociabilidad, les llev a no encontrar casi
page 68
nunca parejas con las que reproducirse, siendo as difcil para ellos transmitir sus genes a
generaciones futuras y resultando finalmente en la extincin.
5.2.2.5.
Pereza
Todas las acciones posibles que puede realizar un individuo se pueden ver
impedidas, en un momento dado, por la pereza. Un valor alto hara que, frecuentemente,
los individuos permaneciesen inmviles, sin hacer nada. Esta inactividad se podra ver
interrumpida por la activacin de alguna alarma. Dicho de otra manera: los individuos
actuaran slo cuando fuese necesario.
Una ventaja que tendra este comportamiento sera la gestin de las energas de los
individuos. Si se esforzasen demasiado, la fatiga podra impedirles moverse cuando
necesitasen de verdad alimentarse o huir de un depredador, entre otros posibles casos.
Por supuesto, adems de otros parmetros del individuo, las situaciones
particulares influiran en la efectividad de esta estrategia. En cualquier caso, para esta
prueba nos basamos en 3 posibles valores para el parmetro mencionado: alto, medio y
bajo. Los resultados conseguidos con tales configuraciones se muestran en la siguiente
tabla:
Especie
Bichos
Lemmings
Critters
Pereza
0,75
0,5
0,25
Individuos Turnos
generados sobrevividos
32,05%
67,05%
36,89%
67,90%
31,06%
62,28%
page 69
Los valores obtenidos por las tres especies son demasiado parejos como para
decantarse por una configuracin especfica. As pues, en este estudio no podemos
concluir que el valor de la pereza tenga un impacto significativo en la supervivencia de
los animales que pueblan el mundo establecido para la simulacin.
page 70
5.2.2.6.
Liderazgo
Liderazgo
0,75
0,5
0,25
Individuos Turnos
generados sobrevividos
37,61%
88,08%
29,36%
71,85%
33,04%
76,40%
page 71
Como era de esperar, los resultados de esta prueba no son para nada concluyentes.
Hara falta un estudio ms complejo, que envolviese tanto la sociabilidad como otros
factores, para determinar la incidencia de los posibles valores iniciales para el liderazgo
de los individuos.
page 72
5.2.2.7.
Valenta
page 73
Especie
Bichos
Lemmings
Critters
Valenta
0,75
0,5
0,25
Individuos Turnos
generados sobrevividos
40,60%
72,85%
28,47%
53,69%
30,93%
82,01%
En vista de estos resultados, es difcil decantarse por una de las opciones dadas.
Parece, sin embargo, que la decisin se ve recompensada frente a la duda; los valores
page 74
extremos (alto y bajo) resultan favorecidos frente al valor medio, siendo la especie con un
comportamiento ms inconsistente la que tiene menos posibilidades de sobrevivir.
page 75
6 Conclusiones y futuro
La intencin de este proyecto era disear e implementar un simulador en tres
dimensiones que representase con cierta fidelidad un ecosistema, de una manera vistosa.
Ambos objetivos fueron cumplidos satisfactoriamente, dado que se consigui una
aplicacin vistosa, adems de unos resultados coherentes.
Se consigui implementar un sistema multiagente en el que conviviesen
individuos de distintas especies, interactuando con entidades vegetales colocadas en su
entorno, adems de entre s mismos. Este tipo de interacciones se dio tanto en casos de
competencia como de colaboracin, como se daran en un ecosistema real.
A lo largo de la experimentacin se pudieron observar hechos interesantes. Al
principio, las especies perecan de manera demasiado rpida, por lo que estudiamos las
posibles causas de una mortalidad tan elevada. Al observar que la mayora moran por
hambre, nos dimos cuenta de que debamos incrementar la presencia de la vegetacin en
el mundo. De esta manera, los individuos vivan lo suficiente para relacionarse con otros
de su misma especie, y as dar lugar a nueva generaciones.
Posteriormente, nos llam la atencin el hecho de que, para sobrevivir, los
individuos de una misma especie se agrupaban en nichos. Dichos grupos se formaban
siempre en torno a un bosque o cmulo de entidades vegetales, lo que podramos
considerar un oasis de recursos. Dichas agrupaciones favorecan las tareas de
reproduccin de los individuos, adems de contar con ventajas como la vacilacin de
posibles depredadores a acercarse al grupo, ya que entre ellos puede haber un individuo
con una fuerza elevada. De este aspecto podemos concluir que, por encima de los dems
parmetros, la sociabilidad tiene una impacto fundamental en las probabilidades de
supervivencia de una especie, como en el mundo real.
Sin embargo, la aproximacin pudo haber sido ms profunda, lo que quedara
fuera del mbito y la ambicin del proyecto, pero que deja una puerta abierta ante un
futuro desarrollo.
page 76
page 77