simulación animada de un ecosistema natural basada en

Anuncio
SIMULACIÓN ANIMADA DE UN ECOSISTEMA NATURAL BASADA EN TÉCNICAS
AVANZADAS DE INTELIGENCIA ARTIFICIAL
Autor: Rodríguez-Pina Aldama, Daniel.
Director: Olivas Varela, José Ángel.
Entidad Colaboradora: ICAI – Universidad Pontificia Comillas
RESUMEN DEL PROYECTO
Un ecosistema es una unidad natural formado por plantas, animales y microorganismos que
funciona bajo sus efectos, todo ello sujeto a los factores del medio ambiente. Los organismos
reciben como entrada continuamente un conjunto de información tras relacionarse con
algunos de los elementos que constituyen el ambiente en el que estos habitan. Los
ecosistemas describen cualquier situación donde hay relación entre organismos y su ambiente.
Tras el estudio de los ecosistemas se concluye que en un momento de equilibrio cualquier
aparición o introducción de nuevos elementos en un ecosistema normalmente tiende a tener
un efecto de ruptura brusca. A veces, esto puede llevar al desplome ecológico, en otras
palabras, a la muerte de muchas especies que pertenecen al ecosistema en cuestión. A
menudo, sin embargo, los ecosistemas tienen la habilidad de sobrevivir a un momento de
ruptura brusca.
El objetivo del proyecto es la creación de un programa informático que simule de forma
animada un ecosistema natural que siga las reglas descritas. Esta simulación informática es un
modelado de una situación real para ser estudiada. Cambiando las variables del modelo, se
pueden hacer predicciones acerca del comportamiento del ecosistema. De esta forma se
pueden conocer las reacciones sin que repercutan en el mundo real.
La aplicación que nos ocupa se conoce con el nombre de ecosimulación al ser una simulación
de un ecosistema.
Tras el proceso de elección de los datos y supuestos iniciales, se pueden probar todo tipo de
situaciones posibles y problemas que tras su ejecución se espera den unos resultados similares
a lo que podría suceder en un ecosistema presente en el mundo real. Existe una relación
directa entre la exactitud de los resultados obtenidos y como de real es el escenario. Mientras
más reglas de un ecosistema se consigan implementar, más se podrá confiar en los resultados
finales que se obtengan.
En la actualidad, gracias a la potencia de los ordenadores y la existencia de lenguajes que
ofrecen la capacidad de crear escenarios complejos, la realización de este tipo de simulaciones
es más viable.
En el proceso de implementación de la simulación, se han creado distintos agentes que van a
interactuar entre sí. Estos agentes son animales y plantas, dotados de comportamientos reales
y dejados en “libertad”.
Para conseguir lo anterior se utiliza la Inteligencia Artificial que pone a nuestra disposición,
multitud de técnicas que han servido para lograr este fin. Gran parte del esfuerzo se basa en
implementar todas esas técnicas y conseguir que satisfactoriamente los agentes se relacionen
entre sí. Como por ejemplo, técnicas de búsqueda heurística o técnicas de matemática
borrosa, usadas para solucionar momentos de incertidumbre que se producen durante la
simulación.
Se entiende por agentes, no solo los animales y plantas, sino también otros muchos posibles
objetos sin vida. El ser humano es un importante agente a tener en cuenta y tiene un
importante papel en la aplicación de simulación.
La simulación se basa en un entorno donde coexisten múltiples tipos de animales y plantas.
Cada animal y planta es un agente propio, individual y con características propias que
descienden de su tipo.
Trabajando con la aplicación se pueden crear simulaciones desde cero, donde el usuario
introduce el tipo de animal y elige en qué parte del mundo crearlos. También se da la opción
de definir macros, empezar la simulación con determinados animales de cada tipo. O
finalmente pasar a la generación aleatoria.
En cada momento el usuario puede decidir dinámicamente añadir nuevos agentes al sistema,
que entrarán a formar parte de éste en tiempo real. Otra característica es que la velocidad de
simulación se puede ajustar. Todo esto es posible gracias al motor gráfico que se ha creado
para la aplicación.
Dada la posibilidad de crear macros, el usuario puede definir una serie de parámetros de inicio
para una simulación y guardarlos. Todos estos macros pueden ser reutilizados para su uso en
cualquier otra simulación.
Toda la información de las simulaciones se guarda en una base de datos situada en el portal
“www.ecosimulacion.es”. El portal es una parte importante del proyecto ya que es el lugar
donde el usuario puede estudiar todas las simulaciones que se han producido. El motor de
gráficas genera una serie de informes completos, con toda la información necesaria que el
usuario necesita para estudiar las simulaciones, una vez terminadas. Otra de las opciones que
permite el portal ecosimulación, es ver todos los macros que se han definido.
El portal web es también el lugar donde se pueden encontrar todas las aplicaciones del
proyecto.
Para el desarrollo se ha seguido una metodología de tipo evolutiva. En un ciclo evolutivo se
diferencian 5 fases distintas; requerimientos, análisis, diseño, implementación y pruebas. La
diferencia es que estas fases se repiten varias veces. Es importante prestar mucha atención en
el apartado de pruebas de cada fase. Todos los errores que se descubran deben de ser llevados
como requerimientos a la fase siguiente. Así se asegura la calidad del producto final.
El proyecto se ha realizado en dos ciclos distintos que siguen la metodología descrita. En el
primero se ha trabajado con los requisitos y objetivos primarios. Por otro lado, el segundo ciclo
ha estado orientado a añadir toda la funcionalidad que ha dado tiempo respecto a la
planificación realizada. De esta forma se ha buscado implementar una base funcional que
cumpliera con todas las necesidades principales y a partir de entonces utilizar el tiempo
restante para trabajar en todos aquellos objetivos secundarios que se definieron.
Para el desarrollo del proyecto se han seguido los siguientes pasos:
1. Análisis de simulaciones existentes
2. Estudio de los ecosistemas
3. Estudio de los agentes, la búsqueda e implementación de los sentidos
4. Diseño del modelo de simulación
5. Diseño del interfaz grafico
6. Implementación del simulador
7. Estudio e implementación del motor de estadísticas
8. Implementación del motor de Macros
9. Integración de todas las aplicaciones
10. Preparación de los escenarios de pruebas
11. Análisis de los resultados de la simulación
Además de la simulación realizada y del portal de estadísticas descrito se han implementado
otras dos aplicaciones más. La primera de ellas es la aplicación visual de búsqueda que ha
servido para estudiar los distintos algoritmos de búsqueda heurística que existen para luego
elegir aquel que mejor se adecúa a los conceptos de la simulación.
La segunda aplicación se conoce como el juego de los zombis. Esta pequeña simulación en
forma de juego ha servido para desarrollar la implementación de los sentidos. Estos algoritmos
sirven para su implementación en los agentes. Los algoritmos de los sentidos son complejos y
por tanto esta aplicación ha ayudado en el diseño.
Por tanto se ha logrado implementar un paquete de simulación completo, finalmente
compuesto por distintas aplicaciones. Todas ellas sencillas de usar y accesibles desde el portal
web. Esto ha sido posible, en parte, gracias a una correcta planificación del trabajo.
ABSTRACT
An ecosystem is a natural unit consisting of all plants, animals and micro-organisms in an area
functioning together with all of the non-living physical factors of the environment. The
inhabitants of an ecosystem receive as entrance continuously an assembly of information after
relations with some of the elements that constitute the environment in which they inhabit.
The ecosystem describes any situation where there is relation between agents and their
environment.
After the study of the ecosystems it was concluded that when an external element was
introduced to the ecosystem the equilibrium was disturbed. At times, this could lead to the
collapse of the system, in other words to the death of many species that belong to the
ecosystem. Though oftentimes, the ecosystems have a way of surviving this disruption
The objective of the project is the creation of a data processing program that is a simulation of
a natural ecosystem including animation and based on the rules described above. This data
processing simulation is based on a real situation which is going to be studied. Changing the
model variables and predictions about the behavior of the ecosystem can be done. In this way
the reactions can be predicted without affecting the real world.
The application is known with the name of ecosimulación since it is a simulation of an
ecosystem.
After obtaining the data and initial information, it is possible to study all kinds of situations
that can be potentially tested. After its execution those results can be expected to be similar to
those that would happen in the real world. A direct relation exists among the accuracy of the
results obtained and how real the setting is. The more rules of the ecosystem that are
implemented, the more we can trust the final results obtained.
Currently, thanks to the power of computers and the existence of languages that offer the
complex capacity to create settings, the execution of this type of simulations is simpler.
During the process of implementing the simulation different agents have been created that are
going to interact amongst themselves. These agents are animals and plants, and mimic realtime behavior of the same.
For these objectives to be accomplished, Artificial Intelligence is utilized. It makes available a
multitude of techniques that has been used to achieve this end. A huge amount of effort is
focused on implementing all those techniques to obtain a satisfactory relation between the
agents. As for example heuristic search or different fuzzy logic techniques, use to solve
moments of uncertainty that are produced during the simulation.
It has to be understood that agents are not only the animals and plants but also the other
possible inanimate objects. It should be kept in mind that the human being is also an agent
with an important role in the application of the simulation.
The simulation is based on an environment where multiple types of animals and plants
coexist. Each animal and plant is an individual agent with its own characteristics.
When working with the application, simulations can be created from scratch. The user
introduces the type of agent and chooses its position in the layout of the simulation. There is
also available the option to define a macros system, i.e. to begin the simulation with a
determined number of animals of each type. Or finally the user can choose to start by
‘random generation’.
At any moment the user can decide to dynamically add new agents to the system that will
become a part of this real-time environment. Another characteristic is that the speed of
simulation can be adjusted. The user can decide to increase or decrease the speed at any
time. All this is possible thanks to the graphic engine that has been created for the application.
Given the possibility to create macros, the user can define a series of starting parameter for
the simulation and save them. These macros can then be reused for other simulations.
All the information of the simulations is kept in a database situated in the
“www.ecosimulacion.es” server. This server is an important part of the project since it is the
place where the user can study all the simulations that have been produced. The graphics
engine generates a series of complete reports with all the necessary information that the user
can use to study the simulations once finished. Another option that the server permits is to
view all the macros that have been defined.
The server is also the place where all the project applications can be found.
For the development of this project an evolutionary methodology has been followed. In this
methodology there are 5 different stages; requests, analysis, design, implementation and
testing. The difference is that these stages are repeated several times. In the first phase a
functional skeleton has been obtained, that has been used in the following phases. It is
important to pay close attention to the testing of each stage. All the discovered errors should
be carried as requests to the following stage. Thus the quality of the final product is assured.
The project has been carried out in two different cycles based on the methodology described.
In the first one the requirements and primary objectives have been accomplished. In the
second cycle all the functionalities are added with extra time according to plan. In this way the
functional base has been implemented, with the ability to accomplish all the main
requirements and then utilize the extra time to add all the secondary objectives that were
defined.
For the development of the project the following steps have been followed:
1. Analysis of existing simulations
2. Study of the ecosystems
3. Study of the agents, the search and implementation of the senses
4. Design of the simulation model
5. Design of the GUIs
6. Implementation of the simulation model
7. Study and implementation of the statistics engine
8. Implementation of the Macros engine
9. Integration of all the applications
10. Preparation of the test settings
11. Analysis of the simulation results
Besides the simulation which was carried out and the statistics engine described above, two
more applications have been implemented. The first one is a visual application for searching
that has served to investigate the different heuristics search algorithms that exist. This was
also useful in order to choose which one is better adapted to the concepts of the simulation.
The other application that has been implemented is known as the zombies’ game. This
application implemented as a game has served to develop the implementation of the senses.
These algorithms serve have been used in all the simulation agents. The algorithms of the
senses are complex and therefore this application has helped in the design.
To sum up, a simulation package has been designed, all of it composed by many different
applications. These are public and stored in the project website. All this work has been
possible, partly, to a correct planning of the work.
Descargar