Next Previous Contents

## 5. Alife & Complex Systems

Alife takes yet another approach to exploring the mysteries of intelligence. It has many aspects similar to EC and Connectionism, but takes these ideas and gives them a meta-level twist. Alife emphasizes the development of intelligence through emergent behavior of complex adaptive systems. Alife stresses the social or group based aspects of intelligence. It seeks to understand life and survival. By studying the behaviors of groups of 'beings' Alife seeks to discover the way intelligence or higher order activity emerges from seemingly simple individuals. Cellular Automata and Conway's Game of Life are probably the most commonly known applications of this field. Complex Systems (abbreviated CS) are very similar to alife in the way the are approached, just more general in definition (ie. alife is a type of complex system). Usually complex system software takes the form of a simulator.

## 5.1 Alife & CS class/code libraries

These are libraries of code or classes for use in programming within the artificial life field. They are not meant as stand alone applications, but rather as tools for building your own applications.

AgentFarms

  - Web site: www.agentfarms.net

  Agent Farms is a system for modelling and simulation of complex, multi-agent based systems. The system can be used for:

  - Creating models of multi-agent systems
  - Interactive and distributed simulation
  - Observation and visualisation of the simulation
  - Population modification and migration

Biome

  - Web site: sourceforge.net/projects/biome/

  Biome is a C++ library aimed at individual-based/agent-based simulations. It is somewhat similar to Swarm, EcoSim or Simex but tries to be more efficient and less monolithic without compromising object- oriented design. Currently there is an event based scheduling system, a C++ified Mersenne-Twister RNG, several general analysis classes, some Qt-based GUI classes, a very basic persistence/database framework (used also for parameter storage) and many other small useful things.

CAGE

  - Web site: www.alcyone.com/software/cage/

  CAGE is a fairy generic and complete cellular automaton simulation engine in Python. It supports both 1D and 2D automata, a variety of prepackaged rules, and the concept of "agents" which can move about independently on the map for implementing agent behavior.

Integrating Modelling Toolkit

  - Web site: sourceforge.net/projects/imt/

  The Integrating Modelling Toolkit (IMT) is a generic, comprehensive, and extensible set of abstractions allowing definition and use of interoperable model components. Modellers create an IMT "world" made of IMT "agents" that will perform each a particular phase of a modelling task. The core set of IMT agents can describe generic, modular, distributed model components, either native to the IMT or integrating existing simulation toolkits, specialized for tasks that range from simple calculation of functions in an interpreted language to spatially explicit simulation, model optimization, GIS analysis, visualization and advanced statistical analysis. IMT agents are designed to easily "glue" together in higher-level simulations integrating different modelling paradigms and toolkits. The IMT can be easily extended by users and developers through a convenient plug-in mechanism

MAML

  - Web site: www.maml.hu

  The current version of MAML is basically an extension to Objective-C (using the Swarm libraries). It consists of a couple of 'macro-keywords' that define the general structure of a simulation. The remaining must be filled with pure swarm-code. A MAML-to-Swarm (named xmc) compiler is also being developed which compiles the source code into a swarm application.

MASON

  - Web site: cs.gmu.edu/~eclab/projects/mason/

  MASON Stands for Multi-Agent Simulator Of Neighborhoods... or Networks... or something...

  MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.

SimWorld

  - Web site: www.nd.edu/~airolab/simworld/

  SimWorld is a free artificial life simulation (based on the free SimAgent toolkit developed by Aaron Sloman), which provides functionality for running different interacting agents and objects in a simulated, continuous environment. The agents are controlled by rules written in the powerful rule interpreter. New behaviors of agents can be defined without any programming knowledge.

Swarm

  - Web site: www.swarm.org/wiki/Swarm_main_page
  - FTP site: ftp.swarm.org/pub/swarm/

  The swarm Alife simulation kit. Swarm is a simulation environment which facilitates development and experimentation with simulations involving a large number of agents behaving and interacting within a dynamic environment. It consists of a collection of classes and libraries written in Objective-C and allows great flexibility in creating simulations and analyzing their results. It comes with three demos and good documentation.

## 5.2 Alife & CS software kits, applications, etc.

These are various applications, software kits, etc. meant for research in the field of artificial life. Their ease of use will vary, as they were designed to meet some particular research interest more than as an easy to use commercial package.

Achilles

  - Web site: achilles.sourceforge.net

  Achilles is an evolution simulation based on Larry Yaeger's PolyWorld. It uses Hebbian neural networks, and an extremely simplified physical model that allows virtual organisms to interact freely in a simulated environment.

AntWars

  - Web site: ant-wars.com

  Ant Wars is a competition which pits clever programs against each other to do battle and compete for food in virtual worlds. Each contestant is a species of ant, which can visualize only the world immediately around him and pheromones left by fellow and enemy ants. Using this information, the ant brain (a simple state machine) must guide the ant towards collecting food at his home ant hill, while fending off or attacking enemies.

  Clever use of pheromones and subtle behaviors can create large scale tactics such as raiding, defense, harvesting, and scouting when many ants cooperate.

Avida

  - Web site: dllab.caltech.edu/avida/

  The computer program avida is an auto-adaptive genetic system designed primarily for use as a platform in Artificial Life research. The avida system is based on concepts similar to those employed by the tierra program, that is to say it is a population of self-reproducing strings with a Turing-complete genetic basis subjected to Poisson-random mutations. The population adapts to the combination of an intrinsic fitness landscape (self-reproduction) and an externally imposed (extrinsic) fitness function provided by the researcher. By studying this system, one can examine evolutionary adaptation, general traits of living systems (such as self-organization), and other issues pertaining to theoretical or evolutionary biology and dynamic systems.

breve

  - Web site: www.spiderland.org/breve/

  breve is a free software package which makes it easy to build 3D simulations of decentralized systems and artificial life. Users define the behaviors of agents in a 3D world and observe how they interact. breve includes physical simulation and collision detection so you can simulate realistic creatures, and an OpenGL display engine so you can visualize your simulated worlds.

BugsX

  - FTP site: http://surf.de.uu.net/zooland/download/packages/bugsx/

  Display and evolve biomorphs. It is a program which draws the biomorphs based on parametric plots of Fourier sine and cosine series and let's you play with them using the genetic algorithm.

Creatures Docking Station

  - Linux info: sylv.inkwell.com.ru

  This is a free version of the Creatures3 ALife game. It has fewer species and a small 'space-station' world, but can connect to other worlds over the internet and (if you have the windows version of the game) can connect to your C3 world. The game itself revolves around breeding and training the alife creatures, 'Norns'. Its strikes a pretty nice balance between fun and science, or so I'm told.

  (summary written by Steve Grand included below)

  The eponymous creatures in this computer game are called Norns, and the world's population of them at one stage hovered around the five million mark, making them more common than many familiar natural species. Each norn is composed of thousands of tiny simulated biological components, such as neurons, biochemicals, chemoreceptors, chemoemitters and genes. The norns' genes dictate how these components are assembled to make complete organisms, and the creatures' behaviour then emerges from the interactions of those parts, rather than being explicitly 'programmed in'.

  The norns are capable of learning about their environment, either by being shown things by their owners or through learning by their own mistakes. They must learn for themselves how to find food and how to interact with the many objects in their environment. They can interact with their owners, using simple language, and also with each other. They can form relationships and produce offspring, which inherit their neural and biochemical structure from their parents and are capable of open-ended evolution over time. They can fall prey to a variety of diseases (as well as genetic defects) and can be treated with appropriate medicines.

dblife & dblifelib

  - FTP site: ibiblio.org/pub/Linux/science/ai/life/

  dblife: Sources for a fancy Game of Life program for X11 (and curses). It is not meant to be incredibly fast (use xlife for that:-). But it IS meant to allow the easy editing and viewing of Life objects and has some powerful features. The related dblifelib package is a library of Life objects to use with the program.

  dblifelib: This is a library of interesting Life objects, including oscillators, spaceships, puffers, and other weird things. The related dblife package contains a Life program which can read the objects in the Library.

Drone

  - Web site: www.cscs.umich.edu/Software/Drone/

  Drone is a tool for automatically running batch jobs of a simulation program. It allows sweeps over arbitrary sets of parameters, as well as multiple runs for each parameter set, with a separate random seed for each run. The runs may be executed either on a single computer or over the Internet on a set of remote hosts. Drone is written in Expect (an extension to the Tcl scripting language) and runs under Unix. It was originally designed for use with the Swarm agent-based simulation framework, but Drone can be used with any simulation program that reads parameters from the command line or from an input file.

EcoLab

  - Web site: parallel.hpc.unsw.edu.au/rks/ecolab/

  EcoLab is a system that implements an abstract ecology model. It is written as a set of Tcl/Tk commands so that the model parameters can easily be changed on the fly by means of editing a script. The model itself is written in C++.

Game Of Life (GOL)

  - FTP site: ibiblio.org/pub/Linux/science/ai/life/

  GOL is a simulator for conway's game of life (a simple cellular automata), and other simple rule sets. The emphasis here is on speed and scale, in other words you can setup large and fast simulations.

gant

  - Web site: gant.sourceforge.net

  This project is an ANSI C++ implementation of the Generalized Langton Ant, which lives on a torus.

gLife

  - Web site: glife.sourceforge.net
  - SourceForge site: sourceforge.net/projects/glife/

  This program is similiar to "Conway's Game of Life" but yet it is very different. It takes "Conway's Game of Life" and applies it to a society (human society). This means there is a very different (and much larger) ruleset than in the original game. Things need to be taken into account such as the terrain, age, sex, culture, movement, etc

Golly

  - Web site: golly.sourceforge.net

  An open source, cross-platform implementation of John Conway's Game of Life with an unbounded universe and capable of running patterns faster and further than ever before. It has many features such as;

  - Reads RLE, Life 1.05/1.06, and macrocell formats.
  - Supports Wolfram's 1D rules.
  - Can paste in patterns from the clipboard.
  - Scriptable via Python.

Langton's Ant

  - Web site: www.theory.org/software/ant/

  Langton's Ant is an example of a finite-state cellular automata. The ant (or ants) start out on a grid. Each cell is either black or white. If the ant is on a black square, it turns right 90 and moves forward one unit. If the ant is on a white square, it turns left 90 and moves forward one unit. And when the ant leaves a square, it inverts the color. The neat thing about Langton's Ant is that no matter what pattern field you start it out on, it eventually builds a "road," which is a series of 117 steps that repeat indefinitely, each time leaving the ant displaced one pixel vertically and horizontally.

LEE

  - Web site: www.informatics.indiana.edu/fil/LEE/

  LEE (Latent Energy Environments) is both an Alife model and a software tool to be used for simulations within the framework of that model. We hope that LEE will help understand a broad range of issues in theoretical, behavioral, and evolutionary biology. The LEE tool described here consists of approximately 7,000 lines of C code and runs in both Unix and Macintosh platforms.

MATREM

  - Web site: www.phys.uu.nl/~romans/

  Matrem is a computer program that simulates life. It belongs to the emerging science of "artificial life", which studies evolution and complex systems in general by simulation. Matrem is also a game, where players compete to create the fittest lifeform. Their efforts are the driving force behind the program.

Noble Ape

  - Web site: www.nobleape.com/sim/

  The Noble Ape Simulation has been developed (as the Nervana Simulation) since 1996. The aim of the simulation is to create a detailed biological environment and a cognitive simulation. The Simulation is intended as a palette for open source development. It provides a stable means of simulating large scale environments and cognitive processes.

  For MacOS Classic and X, with Java, Windows and Linux(Motif) versions in beta. Features a non-polygonal graphics engine (Ocelot) and a command-line version

POSES++

  - Web site: www.gpc.de/eindex.html

  The POSES++ software tool supports the development and simulation of models. Regarding the simulation technique models are suitable reproductions of real or planned systems for their simulative investigation.

  In all industrial sectors or branches POSES++ can model and simulate any arbitrary system which is based on a discrete and discontinuous behaviour. Also continuous systems can mostly be handled like discrete systems e.g., by quantity discretion and batch processing.

Tierra

  - Web site: www.his.atr.jp/~ray/tierra/

  Tierra's written in the C programming language. This source code creates a virtual computer and its operating system, whose architecture has been designed in such a way that the executable machine codes are evolvable. This means that the machine code can be mutated (by flipping bits at random) or recombined (by swapping segments of code between algorithms), and the resulting code remains functional enough of the time for natural (or presumably artificial) selection to be able to improve the code over time.

Trend

  - Web site: www.complex.iastate.edu/download/Trend/

  Trend is a general purpose cellular automata simulation environment with an integrated high level language compiler, a beautiful graphical user interface, and a fast, three stage cached simulation engine. This is the simulation system that was used to discover the first emergent self-replicating cellular automata rule set, and the first problem solving self-replication loop.

  Since its simulator is very flexible with regard to cellular space sizes, cell structures, neighborhood structures and cellular automata rules, Trend can simulate almost all one or two-dimensional cellular automata models. It also has a smart backtracking feature which simplifies rule set development a lot by allowing users to go back to a previous stage of simulation! With other advanced features, Trend is probably the most easy to use 2-dimensional cellular automata simulator.

  Also available is jTrend. A Java version of Trend.

XLIFE

  - FTP site: surf.de.uu.net/zooland/download/packages/xlife/

  This program will evolve patterns for John Horton Conway's game of Life. It will also handle general cellular automata with the orthogonal neighborhood and up to 8 states (it's possible to recompile for more states, but very expensive in memory). Transition rules and sample patterns are provided for the 8-state automaton of E. F. Codd, the Wireworld automaton, and a whole class of `Prisoner's Dilemma' games.

Xtoys

  - Web site: thy.phy.bnl.gov/www/xtoys/xtoys.html

  xtoys contains a set of cellular automata simulators for X windows. Programs included are:

  - xising --- a two dimensional Ising model simulator,
  - xpotts --- the two dimensional Potts model,
  - xautomalab --- a totalistic cellular automaton simulator,
  - xsand --- for the Bak, Tang, Wiesenfeld sandpile model,
  - xwaves --- demonstrates three different wave equations,
  - schrodinger --- play with the Scrodinger equation in an adjustable potential.

Next Previous Contents