ALES: a platform for artificial life

John Daigle 12

Abstract: The Artificial Life Ecosystem Simulator (ALES) is a platform for the simulation and development of artificial life written in Java.The key difference between ALES and packages like SWARM and Breve is that the ALES system is inclusive of the environment as well as the objects in it. This paper presents a description of the ALES environment and presents a roadmap for future development.
Artificial Intelligence, Multi-Agent

1  Introduction

The field of artificial life (aLife) is the study of the principles of living systems. It borrows from biology, math, and modeling and simulation, and contributes back to those fields as well. In addition, the field of artificial life can con tribute to our understanding of Artificial Intelligence (AI) as well.

This paper describes a platform for the development of artificial living systems, the Automated Life Ecosystem Simulator (ALES). There are several such systems already in existence, which will be described in part two. Part three will describe the ALES sy stem itself.

1.1  Artificial Life is a field of AI

Artificial living systems must exhibit some behavior that is analogous to the behavior of biological systems. The simplest behavior of a living organism is staying alive, which is an enormously complex endeavor in the case of a larger system, such as a ve rtebrate. Some researchers have suggested that this provides a useful baseline for artificial intelligence; no system that does not self-preserve can be considered intelligent.[2] The tag phrase is that ``the dumbest smart thing you can do is st ay alive.''

Self-preservation requires that a system adapt to its environment in order to achieve a goal. A self-preserving system must have a preferred state and employ strategies to achieve that state. Adaptive agents are an important area of research in AI.[, ] Artificially Intelligent systems have to be expected to operate in environments where other approaches are ineffective. Some areas where AI is expected to be effective are image recognition, language recognition, and drug design. Each one of these areas i s difficult or impossible from a traditional computational standpoint. Many of the problems in these areas are of exponential complexity. Living systems, however, have developed good algorithms for dealing with these problems. Many living creatures are ve ry good at recognizing shapes; communicate through complex systems of sound and body language; and in the complex area of drug design, the vertebrate immune system excels at producing novel antibodies and matching them to specific antigens. Living systems manage these tasks through adaptive processes.

The intersection of artificial life and natural language provides an interesting group of case studies.[9] Natural language recognition is a field of great interest to AI researchers, but linguists are more interested in understanding natural la nguages. Both groups, however, have to recognize that a natural language is a very complex system. Not only that, but because of the relationship between language, learner, and community, it is a dynamic system. One direction of research is to examine nat ural languages such as English not in the context of the intelligence that creates them, but rather as a result of the living system that produces them.

This subtle shift in viewpoint leads to the conclusion that almost all forms of communication between living creatures contain aspects that are similar to natural language. At the simplest level, living cells communicate with each other through the transf er of chemicals. These chemicals communicate simple information about the environment; such as the presence of predators or food sources. More complex animals, such as insects, also communicate through chemical signals. However, there is more information in this communication. Bees, for example, are famous for their ability to communicate the specific location of flowers through ``dancing''. As the complexity of life increases, the complexity of communication increases. However, similarities carry from le vel to level.

By modeling the simplest levels of communication very accurately, we can create simple communication agents. Combining simple communication agents can create more complex communication agents. This bootstrapping approach may be the best way to develop com plex, meaningful information exchange in machines.

But is this complexity sufficient to lead to the semantic understanding that AI researchers seek? There is no reason to assume that it does not. If agents communicate through signals that seem meaningless to us, and yet elicit consistent and beneficial be haviors, what is the standard by which we decide that there is no semantic content to the communication? It isn't clear that any such standard exists. This evolutionary model of natural language as an emergent property of simpler signal communication is a s valid as any other model, and seems to be more successful in some respects.

1.2  Modeling is Reality

Specific tasks require adaptation, but changing environments also require adaptation. Wildberger[16] analyzes the field of Artificial Life in detail, discussing Genetic Algorithms, Cellular Automata, and SWARM systems. Wildberger concl udes with an analysis of how to use Artificial Life to effectively model the North American Power grid. He concludes that Artificial Life is a ``combination of methods for building discrete event simulations''. The strength of these techniques is their ab ility to produce reliable, strong models of complex and large systems.

Of course, some of the behavior that is simulated includes solving complex problems. Immune system simulators, for example, are very complex, intelligent systems that have to solve very difficult problems in a short period of time. Celada and Seiden [4] argue that the immune system is a real cognitive system. Their approach to understanding this cognitive system is to build a simulation model based on cellular automata. This model has been the source of much ongoing research.

The ImmSim system designed by Seiden and Celada has seen extensive use. In [3] Bernashi et al detail the use of a derivative simulator to model tumor growth and response to vaccines. This research uses the CImmSim program, an open source immune simulator in C, based on ImmSim. Through this research, the authors were able to validate in silico a theory of vaccination that would have been extremely expensive to produce in vitro. Thus, an artificial life a pproach led to novel information discovery through interaction with a cognitive model, which is a very promising result for this area.

It is worth noting that the only intelligence that we are really aware of is our own, that of living humans. There is a lot of discussion in philosophical circles about what intelligence is. From the computer science point of view, we must assume that it is not a mysterious and unknowable attribute of man, rather, our goal is to understand intelligence as a property of some algorithm. The particular barriers that AI research has consistently faced over the last 50 years suggest that this property is emerg ent, rather than explicit.[6] If intelligence is an emergent property of human animals, it is an emergent property of interconnected systems of living cells. Because of the complexity of these systems, formal models are often dependen t on simulation.[11] This simulation is the key research area of artificial life.

Finally, aLife algorithms are useful. Problems such as the TSP[13], and natural language processing[9] yield to aLife techniques. From genetic algorithms to immune algorithms and neural networks, metaphors from biology can be used to so lve difficult problems.[14] Modeling biology helps us to understand and extract these algorithms.

2  Other aLife Platforms

ALES is similar to a number of other Artificial life projects in scope and intent. This section outlines a few such systems.

2.1  Noble Ape

Tom Barbalet's Noble Ape project began in 1996 and has been in continuous development ever since.[1] It consists of a complete weather simulator, landscape simulator, cognitive model, and sentient behavior for groups of ``apes'' in an islan d environment. We drew inspiration from Noble Ape especially in system decomposition. The idea to build an xML for the ALES is a direct reflection on Barbalet's ApeScript language, which is meant to provide a higher level of access to the simulator for us ers. Barbalet's apes are impressive. However, because he directly models the cognitive function of the apes, we felt he was missing the opportunity to allow intelligence to emerge as a function of the interaction been elements.

Barbalet has been successful in compartmentalizing his simulation system. There is a component that can be used for other games ``noble warfare'', a weather system simulator, and an environment simulator. All of these tools have been used to build other s imulation systems. One example of a system based on Noble Ape is the Noble Ecology EcoSim, which is based on Noble Ape's environment simulator. This system was developed in rural Australia as part of a high school level biology class project in 1998, and remains in active use today. This illustrates part of the power of developing good platforms. In addition to serving a research mission, they can serve a strong pedagogical mission as well.

2.2  SWARM

The SWARM system was developed at the Santa Fe Institute, an educational institute dedicated to the study of complex systems. It is currently being developed at the University of Michigan's Center for the Study of Complex Systems.[15] The idea behind SWARM is that large groups of simple agents can produce complex behavior. The SWARM metaphor is widely employed in a large number of fields, giving support to the hypothesis that Artificial Life is a subfield of Artificial Intelligence. It is safe to say that the general paradigm of swarm computing has far outstripped the use of the SWARM simulation system.

One variety of the swarm approach is Ant Colony Optimization.[13]. The Ant Colony Optimization Algorithm and related Ant algorithms operate by having agents find solutions and then travel repeatedly over those solutions with modifications. Good r esults have been reported for the Traveling Salesman problem, where the ants find an optimum solution as well as the best competing method, and for other problems such as vehicle routing. Difficult problems, such as database searching and grouping, have a lso been approached with ant algorithms.

Another variety of the swarm approach is Particle Swarm Optimization. Kadravach shows that particle swarms can be used as a basis for ad hoc networks of sensor systems.[8] This analysis, relying heavily on simulation, was developed for the pur pose of showing that autonomous collections of mobile sensors can self direct themselves to optimize their coverage area. This is a complex problem that must be solved in a changing environment, so the power of an aLife technique to adapt is crucial to a good solution.

The SWARM system itself is a collection of objective-C libraries that can be used to create simulations. It has a large user base and has been used in a variety of simulation environments, particularly ecological simulation. This ``individual based'' broa d platform simulation environment is very close to what we wanted to accomplish with ALES.

Some difficulties with SWARM, however, are that the objective-C code is not very cross platform. A recent Java based initiative in the SWARM community seems to address these issues. While swarm algorithms may be more popular than the SWARM system, it is i mportant to remember that the origin of this powerful AI technique is in an artificial life simulation system.

2.3  Breve

By far the most entertaining and easiest to understand of the artificial life platforms studied, breve is a multi-agent simulation engine that produces high quality simulations in 3d, and has built in functions for genetic algorithms, swarming behavior, g ravity and repulsion, and more. Breve uses a scripting language, steve, to produce specific simulations, and alterations can be made quickly and easily.[10]

Breve has seen use in universities as a teaching tool for both basic programming and for teaching artificial intelligence. It also is being used to simulate neural networks, investigate human learning, and study molecular simulations.

The most obviously AI related use of breve is the Quidditch Simulator.[5] This breve application creates competing teams of agents playing a game from the popular Harry Potter books. These agents compete in successive rounds of co mpetitive play, with a genetic algorithm choosing the best players and behaviors to move forward. Game performance improves over time. The Quidditch simulation is an excellent example of combining techniques. Swarm algorithms are used to deal with basic b ehaviors, collision avoidance and other simulation concepts play a very strong role, and the entire structure is controlled by genetic algorithms. The behavior of the simulation is competitive with the results from roboSoccer.

3  ALES

The Artificial Life Ecosystem Simulator is an open source platform for the development of artificial life, developed by Michael Balaun, Larry Eisenstein, Ed Bullwinkel, and myself at Georgia State University. ALES models single celled life forms, which we call creatures, in a drop of water. It is meant to be a platform to test simple interaction rules between life forms and their environment, as well as evolutionary algorithms and immune algorithms.[12] Our purpose was to create a system that m et several design goals. First, we wanted the system to be fun to play with. Second, we wanted the system to be adaptive. Third, we wanted to build a system that was extensible.

The current system falls short of these design goals to some degree. It is certainly possible to tweak the system to make user interaction crucial. New creatures are not difficult to build once you understand the creature class and the behave function. An d the system does alter configuration constantly. The future roadmap is to include more swarming behaviors, more genetic algorithms, richer interactions, a meta or scripting language for extensibility, and a module for statistical reporting.3

3.1  System Decomposition

The ALES system is composed of a game subsystem, a file I/O subsystem, and a GUI subsystem. For our purposes, the file I/O and GUI subsystems can be ignored. The game subsystem is composed of two subsystems, the administrative subsystem and the object sub system. Administrative tasks include turn taking and updating the list of objects. The object subsystem is composed of the software agent and environment classes.

3.1.1  Administrative Subsystem

The administrative subsystem is composed of the ALES_Game, GameManager, the Animator, and the CreatureStore classes.

The GameManager class contains the working instances of the ALES_Game, ALES_Board, and CreatureStore classes. It also starts the global clock for the simulation. All access to the board or CreatureStore is done throug h the GameManager.

The CreatureStore is a data structure designed to hold Creatures. The class implements a synchronized list and has a GameManager member. There are several extensions to the standard access methods for a list that are important t o the ALES system. One is the GetNeighborhood() function, which allows the return of subsets of the list based on physical distance from a particular node. The concept of a neighborhood is important to each of the aLife algorithms described so fa r, particularly swarm algorithms. The algorithm that we use in ALES is O(n) and extremely simple, due to the use of the CreatureStore data structure.

This allows creature behavior to alter depending on the proximity. For example, the Terramecium class creature will move away from an instance of Quadidium towards an instance of YellowAlgae. Proximity is also important in determining when a creature can eat another creature. The emptyStore() method is a boolean method that returns true if the list size is equal to one, needed because a list always contains the creature requesting the size of the list. Finally, an iterative method RemoveD ead() does exactly what it says, every turn.

The Animator class animates the game. It is actually much more of a game manager than the GameManager class, because the call for each creature to go through its behaviors is in the Animator class. The animator class repeats Algorithm efanimate while the game runs. AnimationLoop [1] game is running update game clock each creature in creature store creature::Behave(current time) each creature get the current location draw the creature remove dead creatures

The ALES_Game class simply constructs the board by setting the initial conditions of the simulation. Initial conditions include the initial values for Oxygen, Nutrients, and Alkalinity, and the number, position, and type of the initial creature set. For these runs, we chose a sampling of creatures described in Table I, and Oxygen and Nutrient levels beginning at maximum.

3.1.2  Object Subsystem

The object subsystem is composed of the Creature, and ALES_Board classes, as well as the Creaturzoan abstract subclass and various subclasses of Creature.

The ALES_Board is the representation of the environment. In contains three parameters, Oxygen, Nutrients, and Alkalinity. These values can be raised or lowered by either other classes in the simulation or by the user through the UI. The heart of the simulation is the interaction between the board and the various creatures.

The Creature class is the superclass from which all creatures in the simulation are derived. Various abstract concepts, such as age and health, are specified in the Creature class. Methods exist for evoking behaviors such as cloning, mov ing, eating, and interacting with the board through methods symbolizing respiration, ingestion or excretion. Subclasses and abstract classes of Creature handle specific behaviors unique to particular creatures. For example, the Terramecium and Qu adidium classes are both derived from the Creaturzoan abstract class, a subclass of Creature. Creaturzoan has the method FoodSource (Algorithm 2), which is not a part of Creature. Creaturzoans are creatures that c onsume other creatures. The CreaturZoan class has a number of specific methods, such as breathe and move, that are not available to Creature class objects in general.

FoodSource Called with a tiny neighborhood of CreatureStore, cs cs::emptyStore() false int closest Creature foodSource boolean eatThat false cs::hasNext() hasNext iterates through the CreatureStore Creature c next Creature in Store this creature can eat c eatThat true int distance distance from this Creature to c distance < closest closest distance foodSource c eatThat inform foodSource it has been consumed (this will trigger its death) increase the energy of this Creature true false

Both creatures call the method with different parameters. Terramecium eat YellowAlgae, Quadidium eat Terramecium, and Quadidium can sense to a greater range than Terramecium. The construction of the FoodSource algorithm should make it easy to cre ate new classes with different eating behaviors, that integrate well with current classes. The design goal of ALES is to eventually atomize all behaviors to the degree that creature behavior and design can be handled by a scripting language that is extern al to the simulation itself.

3.2  ALES Behavior

Attempts to run the simulation with three or more classes met with little success. It was too difficult to balance the needs of the various creatures in order to find some basic rules for behavior. It was decided to scrap a carnivore class and simply try to work with a simpler simulation involving feedback between a smaller number of classes.

The interaction between classes that is most important is the interaction between creatures and the board. Creatures can lower or raise different board characteristics. This creates a powerful feedback mechanism. The test that is currently being run is to attempt to find an equilibrium state with two creatures and two parameters. Table I shows the parameters of the simulation. Initial conditions are not overly important, as the simulation will evolve to a final state based primarily on die back numbers.


Table 1: Simulation Classes


Class Attributes
ALES_Board contains Oxygen
  contains Nutrients
Yellow Algae Increases Oxygen
  Requires Nutrients
  Increases Nutrients on Death
Terramecium Requires Oxygen
  Consumes Yellow Algae
  Increases Nutrients on Death

What we do notice when we run the simulation is that there is a period near the beginning of each simulation where there is a definite resonance that develops between the board and the algae. The algae develop a successful rate of reproduction and death, that is, their population develops, then crashes, then redevelops, then crashes again. The Terramecium, on the other hand, continue to expand their population, eating algae, until the algae population can no longer recover. At that point the oxygen begins to dip precipitously and the entire board goes extinct. This is an interesting effect.

Attempts have been made to modify the game conditions to achieve stability but have so far met with no success. The main problem is the stubborn refusal of the Terramecium class creatures to die. They continued to live even when there were no rem aining plants to produce oxygen for them. This was traced to a few lines of test code in the original GameManager that not been documented. Once the oxygen ``leak'' was found and fixed, we had an improvement in creature behavior, but still no equilibrium.

The primary method of controlling the population of each creature is the state of the current board. The rule for creature reproduction is simply that the creature draws a random number on some modulo, and if that number is less than the elapsed time sinc e the creature last moved, the creature clones. In order to slow population growth as the population gets larger, the modulo increases as some other condition changes. A very simple algorithm would be to multiply a constant c by the CreatureStor e::size, which would result in a simple linear decrease in reproductive frequency versus the number of creatures in the environment.

The method that was employed in the design of the YellowAlgae class was to tie their life cycle to the Nutrient level of the board. When that level is high, the reproductive modulo is low, according to equation
cloneThreshold = 9000-


N
10



    (1)
where N is the nutrient level. The same method, using a larger constant and dividing the Oxygen level by 10, was used to control Terramecium reproductivity.

Death in the YellowAlgae class is abrupt, when the nutrient level drops below a certain point, a YellowAlgae begins to die. Because the death raises the nutrient level, a cycle develops of population growth and crash. In the Terramecium class, an accelera tion occurs. As the oxygen level gets lower, the Terramecium's health gets dropped by progressively larger amounts each turn, until that variable reaches a point where the Creature simply dies. However, even this accelerated sickening is not causing wides pread die outs in the simulation, so an alternate approach must be tried.

What we learn from this is that initial conditions are important, but not as important as the balance between feedback mechanisms. A seemingly simple problem of four variables yields no easy answer once we introduce random population growth. Also, our in ability to find a balancing point indicates that there needs to be a more dynamic means of adjusting the parameters of the simulation in order to look for patterns. However, as proof of concept we are starting to see some emergent and even intelligent beh avior on the part of the simulation as a whole, which is the goal.

3.3  Future Work

ALES is a promising start. The interaction between creatures and the environment is astonishingly dynamic and lifelike. However, compared to other contemporary aLife platforms, ALES is admittedly somewhat primitive.

What ALES has that the other platforms lack is a strong relationship between the creatures and the environment as a whole. This perhaps gives us a strong advantage. We can use ALES to research dynamic systems, rather than dynamic algorithms, and work with important concepts such as environmental learning and environmental feedback. In our current simulations, we see a pattern developing where one class dominates the simulation, leading to the eventual extinction of the entire board. It would be relatively simple to modify the simulation to add a third creature to regulate the second creature. This addition would be a step closer to simulating a system like the immune system, where some parts act as defenders of the system as a whole.

We also see certain emergent behaviors in the simulator. Though there are no explicit controls, there are definite ``clumps'' of creatures that develop, and migratory patterns that emerge based on the simple eating and dying behaviors. Adding collision co ntrol and true swarming algorithms would benefit the simulation enormously. As already mentioned, of course, additional atomization of behavior, continued re-engineering into a more usefully decomposed system, and the addition of a scripting language woul d all be helpful.

Also, a genome for creatures would be an interesting addition. Essentially, the problem is to decompose ALL possible behaviors into simple classes. Then, the definition of each creature would be when they execute basic behaviors, to what stimulus. A very interesting problem would be to allow random string generation to actually modify both the parameters and the behaviors exhibited. The challenge is to find the correct system construction where it is possible to develop unanticipated creatures through evo lution. This would be a unique result.

4  Summary

The field of artificial life simulation has made important contributions to computer science. Cellular automata, Genetic Algorithms, and Swarm Algorithms are all valuable problem solving tools. In addition, the discrete event simulations enabled by aLife techniques are enhancing our understanding of natural systems, such as ecosystems, and manmade systems such as economies.

The Artificial Life Ecosystem Simulator seeks to fill a gap in aLife platforms by creating a symbiosis between simulated creatures and simulated environments that can be easily exploited by developers. In its current state the system shows promise, and as proof of concept works very well. However, it is clear that the construction of the system will need to be rethought if our intent is going to be realized.

Acknowledgment

The author would like to thank the rest of the original design team, Michael Balaun, Edward Bullwinkel, and Larry Eisenstein.

References

[1]
=2plus 43minus 4T. Barbalet. Noble ape: History. [Online]. Available: =0pt

[2]
R. K. Belew, ``Artificial life: A constructive lower bound for artificial intelligence,'' IEEE Expert: Intelligent Systems and Their Applications, vol. 6, no. 1, pp. 8--15, 1991.

[3]
F. Castiglione, F. Toschi, M. Bernaschi, S. Succi, R. Benedetti, B. Falini, and A. Liso, ``Computational modeling of the immune response to tumor antigens: implications for vaccination,'' in Decision and Control, 2004. CDC. 43rd IEEE Conference on, 2005.

[4]
F. Celada and P. Seiden, ``Modeling immune cognition,'' in Systems, Man, and Cybernetics, 1998. 1998 IEEE International Conference on, vol. 4, 1998, pp. 3787--3792.

[5]
R. Crawford-Marks, Spector, and J. Klein, ``Virtual witches and warlocks: A quidditch simulator and quidditch-playing teams coevolved via genetic programming,'' in Late-Breaking Papers of GECCO-2004, the Genetic and Evolutionary Computation Conference.1em plus 0.5em minus 0.4emInternational Society for Genetic and Evolutionary Computation, 2004.

[6]
D. Hofstadter, G�del, Escher, Bach: An Eternal Golden Braid, 1st ed.1em plus 0.5em minus 0.4emNew York, NY, USA: Vintage Books, 1979.

[7]
J. H. Holland and J. S. Reitman, ``Cognitive systems based on adaptive algorithms,'' SIGART Bull., no. 63, pp. 49--49, 1977.

[8]
B. A. Kadrovach and G. B. Lamont, ``A particle swarm model for swarm-based networked sensor systems,'' in SAC '02: Proceedings of the 2002 ACM symposium on Applied computing.1em plus 0.5em minus 0.4emNew York, NY, USA: ACM Press, 2002, pp. 918--924.

[9]
S. Kirby, ``Natural language from artificial life,'' Artif. Life, vol. 8, no. 2, pp. 185--215, 2002.

[10]
J. Klein, ``breve: a 3d environment for the simulation of decentralized systems and artificial life,'' in ICAL 2003: Proceedings of the eighth international conference on Artificial life.1em plus 0.5em minus 0.4emCambridge, MA, USA: MIT Press, 2003, pp. 329--334.

[11]
S. H. Kleinstein and P. E. Seiden, ``Simulating the immune system,'' IEEE MultiMedia, vol. 2, no. 4, pp. 69--77, 2000.

[12]
Z. Li, J. Wu, and Z. Mao, ``Application of artificial immune algorithm in the dynamic zoning of elevator traffic,'' in Intelligent Control and Automation, 2004. WCICA 2004. Fifth World Congress on, 2004.

[13]
P. Tarasewich and P. R. McMullen, ``Swarm intelligence: power in numbers,'' Commun. ACM, vol. 45, no. 8, pp. 62--67, 2002.

[14]
N. Toma, S. Endo, K. Yamada, and H. Miyagi, ``An immune optimization inspired by biological immune cell-cooperation for division-and-labor problem,'' in Computational Intelligence and Multimedia Applications, 2001. ICCIMA 2001. Proceedings. Fourth International Conference on, 2001.

[15]
Main page-swarmwiki. [Online]. Available: [15]

[16]
A. M. Wildberger, ``Introduction & overview of ``artificial life''...evolving intelligent agents for modeling & simulation,'' in WSC '96: Proceedings of the 28th conference on Winter simulation.1em plus 0.5em minus 0.4emNew York, NY, USA: ACM Press, 1996, pp. 161--168.

1
Prepared in fulfillment of the Research Paper requirement, CSC 6810, Spring 2006
2
Instructor: Dr. Yanqing Zhang, Georgia State University
3
Once challenge that the author had in rebuilding the ALES system was that not all of the original development team were available for input. This meant that there were large sections of code that may have been patched on for the original demo, but didn't fit the design specs, that needed to be hunted down and removed.

This document was translated from LATEX by HEVEA.
Contact me with questions:
John P. Daigle

Valid HTML 4.0 Transitional Valid CSS! Get Firefox! Creative Commons License