White Paper #1
GENESIS Project
Project Admin Team
mailto:genesis_proj@yahoo.com
http://www.oocities.org/genesis_proj/index.html
Keywords: Artificial life, genetic algorithms, neural networks,
distributed systems, adaptive agents, evolving behavior.
Preface
The GENESIS project is an idea realized by a small group of researchers and postgraduate students from Greece, with common interests in artificial intelligence, adaptive agents and distributed systems. Based in the concepts of A-life, our goal is to create a useful, modular, robust, distributed virtual environment which will be used for the deployment of various kinds of "intelligent" agents. Using a common framework for both environment and agents' basic architecture, we should be able to deploy different kinds of agents with the one and common goal of survival through genetic optimization and behavioral adaptation to the environment. Using various control schemes for each agent class, from genetic algorithms, neural networks, fuzzy rule set, even linear optimization, we should be able to observe the effectiveness of each method in a competitive environment.
The first section describes the basic concept and the motivation for
the project. The second section presents the detailed framework of the
work to be done, including the goals and basic development stages. The
third section presents some details regarding mainly the goals and directions
of the design of the virtual environment and a generic framework for future
agent implementations. The fourth section lists some of our current thoughts
about the way that the basic framework of the environment can be realized.
The essay closes with references to our current bibliography and links,
along with the naming of the basic components of the system.
1. Introduction
When the first Tierra system was implemented, everyone familiar with the concepts of A-life was thrilled with the idea of a complete virtual world for digital creatures trying to compete with each other. The basic idea was to create a virtual platform (virtual CPU) which would simulate the way that digital computers work. In order to allow the digital creatures to evolve from generation to generation, arbitrary changes in their running code were allowed. Some led to improvement, most led to crash, all inside the virtual machine so that the real computer system could run unaffected. There was only one problem: the digital creatures did not seem to behave in a "smart" way. That is their basic function was to run, mutate a little and then try to run again, hoping that the change improved the way they interact with their environment.
Of course only few were willing to let hundreds or maybe thousands of digital creatures consume the resources of any computer, just to see how good they will do after hours of execution time. After all, CPUs was not so powerful and so cheap as they are today. However, recent developments both in hardware and software engineering gives us the opportunity to try and develop "smart" agents. A smart agent need not be able to play chess like a grand master, or solve a complex resource allocation problem in a few microseconds. It just has to learn to behave in a way that allows it to live longer, consume less, avoid danger and spread it's genes wider through many offsprings. Of course none of this behavioral adaptation can be passed to it's offsprings, but the chances of his survival, and with it the survival of it's genotype, are dramatically improved. The ultimate goal is always to survive.
Starting off with these basic principles in mind, our team decided to
undertake a purely research project of developing a common platform for
a whole new genre of virtual worlds, exploiting the latest advances both
in implementation (programming languages, distributed computing) and in
the broad area of "intelligent" systems (genetic algorithms, neural computing,
evolving behavior, etc.).
2. Framework
2.1 Character
The GENESIS project is a purely academic work with research character and goals. The designs, code or results from this work cannot be used in any other way by any of the participants other than for the advance of science in a non-commercial way. All the people that work on this project will be more than happy to welcome any individual that wishes to take part and help any way he/she can. The project is just beginning and it would be a wonder if the current (small) group is gradually joined by users all over the world to create something wonderful. All work and ideas of the people working on the project is shared freely among them under the Mozilla Public License (MPL). The Mozilla Public License was adopted to cover issues of source code availability and modifications more efficiently than the GNU General Public License (GPL) and the Artistic License which were the original choice.
2.2 Goals
The motivation of a project like this is always the joy of creating and experimenting. However, a working system can be extremely useful in numerous areas, especially regarding the easy deployment of smart agents with modular control strategy.
The original goals set by the team are the following:
The second and third goal is of course the heart of the project for the near future. It's ok to watch the agents move around, conducting battles or sleeping during night-time, but the true usefulness of such a system is to test various control strategies for the agents, simple or complex, in order to make them behave in a "smart" way. Of course, the goal is not to create a super-intelligent agent which adapts perfectly because it has perfect information about the environment (temperature fluctuations, resources allocation, etc.) or it's enemies locations at any time. A successful control strategy should be efficient for a wide range of environments, using only local perceptual informations for the agent's current state.
The fourth and fifth goals are actually the search for the significance levels for both structural (genetic) and behavioral (adaptive) attributes of the agents. A successful behavior leads to structural propagation, but every offspring should create a behavioral model from scratch. What if some of the behavioral (adaptation) information could be passed through genes to the next generation? A semi-configured behavior for the specific environmental conditions gives a dramatic advantage to a newly born agent, as long as the environment stays the same. But for a highly dynamic environment how much of the ancestors' behavioral information is beneficial? The famous Balwin Effect suggests a whole new model of genetic evolution of organisms, but how and when can be (should be) used?
Finally, the ultimate goal is to create methods to design and implement agents that behave like real world organisms. That is no one has programmed the way that their behavior evolves as they try to adapt to the environment. They rather try to learn more and more about the environment that they live in and learn to behave optimally over time, like avoiding dangers or staying close to resource-rich locations. An agent like this should be able to adapt the whole design of it's control strategy, that is a self organized strategy, giving not just adaptive but evolving behavior. What a surprise to watch these little virtual creatures suddenly develop co-operative behavior never actually programmed or foreseen but the programmer...
2.3 Development plan
The GENESIS project has started and the initial design phase is currently under way since early June of 2000. The following plan is only an estimate of the distribution of work during the next months:
3. Design Goals
3.1 Characteristics of biological organisms
All living beings are characterized by several attributes which distinguishes them from non-living things:
3.2 Virtual entities design
The structure and functionality of virtual agents can be formulated in various ways, but the main issues here have to do with gene-based reproduction (reproduce) and self-contained resource management (metabolism). Also, a realizable agent should be able to communicate (sensitivity) and act (motion) in the environment only locally as in any real world biological system. All structural and functional attributes should be coded in the agent's genotype, but any information contained in the control strategy are part of the behavioral model and are volatile in regard with reproduction.
The most generic way to view an agent is like a state-transition, gene-based automaton. Each internal variable represents structural/functional or behavioral informations, while processes and interactions alter the agent's state. The system's memory is integrated into the control strategy and it is used to improve the way the agent acts, and it is updated both from external events (sensors) and it's own feedback. The whole entity is really a cell that gathers resources and uses them in an optimal way, in order to stay alive and reproduce as long as possible.
A virtual world can be modeled in minimal with some basic components:
4. Implementation Issues
Although the design is currently on an initial stage, some implementation issues are worth noticed because they might affect the way the final design goes. In this section we present some ideas regarding the model design and implementation of the virtual environment & resources, and some parameters about the design of the agent framework.
4.1 Environmental model
5. References
Here are some papers and links that will be used as guide for the system's design and implementation.
6. Appendix
This is the naming conventions that have been proposed so far for the
basic components of the system (subject of change).
Project name: | GENESIS |
Global environment: | VirCo |
Local environment: | VirEn |
Resource unit: | quark |
Energy unit: | quantum |
Repository unit: | gluon |
Agent/Entity | cell |
Male agent | m-cell |
Female agent | f-cell |
Last updated: 24-Jul-2000.
GENESIS Project
Project Admin Team
mailto:genesis_proj@yahoo.com
http://www.oocities.org/genesis_proj/index.html