719 lines
28 KiB
HTML
719 lines
28 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
|
|
<TITLE>GNU/Linux AI & Alife HOWTO: Alife & Complex Systems</TITLE>
|
|
<LINK HREF="AI-Alife-HOWTO-6.html" REL=next>
|
|
<LINK HREF="AI-Alife-HOWTO-4.html" REL=previous>
|
|
<LINK HREF="AI-Alife-HOWTO.html#toc5" REL=contents>
|
|
</HEAD>
|
|
<BODY>
|
|
<A HREF="AI-Alife-HOWTO-6.html">Next</A>
|
|
<A HREF="AI-Alife-HOWTO-4.html">Previous</A>
|
|
<A HREF="AI-Alife-HOWTO.html#toc5">Contents</A>
|
|
<HR>
|
|
<H2><A NAME="Alife & Complex Systems"></A> <A NAME="s5">5.</A> <A HREF="AI-Alife-HOWTO.html#toc5">Alife & Complex Systems</A> </H2>
|
|
|
|
|
|
<P>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 <I>emergent</I> behavior of
|
|
<I>complex adaptive systems</I>. 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.</P>
|
|
|
|
|
|
<H2><A NAME="ss5.1">5.1</A> <A HREF="AI-Alife-HOWTO.html#toc5.1">Alife & CS class/code libraries</A>
|
|
</H2>
|
|
|
|
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<DL>
|
|
|
|
<P>
|
|
<A NAME="AgentFarms"></A> </P>
|
|
<DT><B>AgentFarms</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.agentfarms.net">http://www.agentfarms.net</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>Agent Farms is a system for modelling and simulation of complex,
|
|
multi-agent based systems. The system can be used for:
|
|
<UL>
|
|
<LI>Creating models of multi-agent systems</LI>
|
|
<LI>Interactive and distributed simulation</LI>
|
|
<LI>Observation and visualisation of the simulation</LI>
|
|
<LI>Population modification and migration</LI>
|
|
</UL>
|
|
</P>
|
|
|
|
<P>
|
|
<A NAME="Biome"></A> </P>
|
|
<DT><B>Biome</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://sourceforge.net/projects/biome/">http://sourceforge.net/projects/biome/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="CAGE"></A> </P>
|
|
<DT><B>CAGE</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.alcyone.com/software/cage/">http://www.alcyone.com/software/cage/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="Cellular"></A> </P>
|
|
<DT><B>Cellular</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://zhar.net/howto/homeless/cellular/">http://zhar.net/howto/homeless/cellular/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>The Cellular automata programming system consists of a compiler for the
|
|
Cellang cellular automata programming language, along with the
|
|
corresponding documentation, viewer, and various tools. Postscript
|
|
versions of the tutorial and language reference manual are available for
|
|
those wanting more detailed information. The most important
|
|
distinguishing features of Cellang, include support for:</P>
|
|
<P>
|
|
<UL>
|
|
<LI>any number of dimensions;</LI>
|
|
<LI>compile time specification of each dimensions size;
|
|
cell neighborhoods of any size (though bounded at compile time)
|
|
and shape;</LI>
|
|
<LI>positional and time dependent neighborhoods;</LI>
|
|
<LI>associating multiple values (fields), including arrays,
|
|
with each cell;</LI>
|
|
<LI>associating a potentially unbounded number of mobile
|
|
agents [ Agents are mobile entities based on a mechanism of
|
|
the same name in the Creatures system, developed by Ian
|
|
Stephenson (ian@ohm.york.ac.uk).] with each cell; and</LI>
|
|
<LI>local interactions only, since it is impossible to
|
|
construct automata that contain any global control or
|
|
references to global variables.</LI>
|
|
</UL>
|
|
</P>
|
|
|
|
<P>
|
|
<A NAME="Integrating Modelling Toolkit"></A> </P>
|
|
<DT><B>Integrating Modelling Toolkit</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://sourceforge.net/projects/imt/">sourceforge.net/projects/imt/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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</P>
|
|
|
|
<P>
|
|
<A NAME="MAML"></A> </P>
|
|
<DT><B>MAML</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.maml.hu/">http://www.maml.hu/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="MASON"></A> </P>
|
|
<DT><B>MASON</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://cs.gmu.edu/~eclab/projects/mason/">http://cs.gmu.edu/~eclab/projects/mason/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>MASON Stands for Multi-Agent Simulator Of Neighborhoods... or
|
|
Networks... or something...</P>
|
|
<P>MASON is a fast discrete-event multi-agent 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.</P>
|
|
|
|
<P>
|
|
<A NAME="SimWorld"></A> </P>
|
|
<DT><B>SimWorld</B><DD><P>
|
|
<UL>
|
|
<LI>Web site: http://www.nd.edu/ airolab/simworld/</LI>
|
|
<LI>New Web site?: http://hrilab.tufts.edu/</LI>
|
|
</UL>
|
|
</P>
|
|
<P>SimWorld is a free artificial life simulation (based on the free
|
|
<A HREF="AI-Alife-HOWTO-6.html#SimAgent">SimAgent</A>
|
|
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.</P>
|
|
|
|
<P>
|
|
<A NAME="Swarm"></A> </P>
|
|
<DT><B>Swarm</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.swarm.org/wiki/Swarm_main_page">www.swarm.org/wiki/Swarm_main_page</A></LI>
|
|
<LI>FTP site:
|
|
<A HREF="http://ftp.swarm.org/pub/swarm/">ftp.swarm.org/pub/swarm/</A></LI>
|
|
</UL>
|
|
</P>
|
|
|
|
<P>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. </P>
|
|
|
|
|
|
</DL>
|
|
</P>
|
|
|
|
|
|
|
|
<H2><A NAME="ss5.2">5.2</A> <A HREF="AI-Alife-HOWTO.html#toc5.2">Alife & CS software kits, applications, etc.</A>
|
|
</H2>
|
|
|
|
|
|
<P>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.</P>
|
|
<P>
|
|
<DL>
|
|
|
|
<P>
|
|
<A NAME="Achilles"></A> </P>
|
|
<DT><B>Achilles</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://achilles.sourceforge.net/">http://achilles.sourceforge.net/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="Avida"></A> </P>
|
|
<DT><B>Avida</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://avida.devosoft.org/">http://avida.devosoft.org/</A></LI>
|
|
<LI>Web site:
|
|
<A HREF="http://sourceforge.net/projects/avida/">http://sourceforge.net/projects/avida/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="Biogenesis"></A> </P>
|
|
<DT><B>Biogenesis</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://biogenesis.sourceforge.net/">http://biogenesis.sourceforge.net/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>Biogenesis is an artificial life program that simulates the processes
|
|
involved in the evolution of organisms. It shows colored segment based
|
|
organisms that mutate and evolve in a 2D environment. Biogenesis is
|
|
based on Primordial Life.</P>
|
|
|
|
<P>
|
|
<A NAME="breve"></A> </P>
|
|
<DT><B>breve</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.spiderland.org/breve/">www.spiderland.org/breve/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="BugsX"></A> </P>
|
|
<DT><B>BugsX</B><DD><P>
|
|
<UL>
|
|
<LI>FTP site:
|
|
<A HREF="https://github.com/porridge/bugsx">https://github.com/porridge/bugsx</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="Creatures Docking Station"></A> </P>
|
|
<DT><B>Creatures Docking Station</B><DD><P>
|
|
<UL>
|
|
<LI>Linux info:
|
|
<A HREF="http://www.creaturesdockingstation.com/">http://www.creaturesdockingstation.com/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
<P>(summary written by Steve Grand included below)</P>
|
|
<P>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'.</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="Critterding"></A> </P>
|
|
<DT><B>Critterding</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://critterding.sourceforge.net/">http://critterding.sourceforge.net/</A></LI>
|
|
<LI>Web site (telepathic-critterdrug):
|
|
<A HREF="http://m-net.arbornet.org/~flamoot/telepathic-critterdrug.html">http://m-net.arbornet.org/~flamoot/telepathic-critterdrug.html</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>Critterding is a "Petri dish" universe in 3D that demonstrates evolving
|
|
artificial life. Critters start out with completely random brains and
|
|
bodies, but will automatically start evolving into something with much
|
|
better survival skills. The lifeforms are placed in an artificial
|
|
environment where there neural net 'brains' can evolve.</P>
|
|
<P>Telepathic-critterdrug is a fork of Critterding introducing a
|
|
communications medium (called a retina) and psychoactive substances
|
|
that effect this retina.</P>
|
|
|
|
<P>
|
|
<A NAME="dblife-dblifelib"></A> </P>
|
|
<DT><B>dblife & dblifelib</B><DD><P>
|
|
<UL>
|
|
<LI>FTP site:
|
|
<A HREF="http://ibiblio.org/pub/Linux/science/ai/life/">ibiblio.org/pub/Linux/science/ai/life/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P><I>dblife:</I> 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.</P>
|
|
<P><I>dblifelib:</I> 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.</P>
|
|
|
|
<P>
|
|
<A NAME="Drone"></A> </P>
|
|
<DT><B>Drone</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.cscs.umich.edu/Software/Drone/">www.cscs.umich.edu/Software/Drone/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="EcoLab"></A> </P>
|
|
<DT><B>EcoLab</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://ecolab.sourceforge.net/">http://ecolab.sourceforge.net/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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++.</P>
|
|
|
|
<P>
|
|
<A NAME="Framsticks"></A> </P>
|
|
<DT><B>Framsticks</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.frams.alife.pl/">http://www.frams.alife.pl/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>Framsticks is a three-dimensional life simulation project. Both
|
|
mechanical structures ("bodies") and control systems ("brains") of
|
|
creatures are modeled. It is possible to design various kinds of
|
|
experiments, including simple optimization (by evolutionary
|
|
algorithms), co-evolution, open-ended and spontaneous evolution,
|
|
distinct gene pools and populations, diverse genotype/phenotype
|
|
mappings, and species/ecosystems modeling.</P>
|
|
|
|
<P>
|
|
<A NAME="Fluidiom"></A> </P>
|
|
<DT><B>Fluidiom</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://ostatic.com/fluidiom">http://ostatic.com/fluidiom</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>Evolutionary based alife platform. Has a game like feel which makes it
|
|
fun while still allowing for some interesting experimentation.</P>
|
|
<P>It takes a minimalist approach to spatial structure to make a body,
|
|
adds articulation in the form of muscles, and then lets evolution take
|
|
over to see if these bodies can learn to walk, run, crawl, or slither
|
|
from one place to the other.</P>
|
|
|
|
<P>
|
|
<A NAME="Game Of Life"></A> </P>
|
|
<DT><B>Game Of Life (GOL)</B><DD><P>
|
|
<UL>
|
|
<LI>FTP site:
|
|
<A HREF="http://ibiblio.org/pub/Linux/science/ai/life/">ibiblio.org/pub/Linux/science/ai/life/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="gant"></A> </P>
|
|
<DT><B>gant</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://gant.sourceforge.net/">gant.sourceforge.net</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>This project is an ANSI C++ implementation of the Generalized Langton
|
|
Ant, which lives on a torus.</P>
|
|
|
|
<P>
|
|
<A NAME="gLife"></A> </P>
|
|
<DT><B>gLife</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://glife.sourceforge.net/">glife.sourceforge.net</A></LI>
|
|
<LI>SourceForge site:
|
|
<A HREF="http://sourceforge.net/projects/glife/">sourceforge.net/projects/glife/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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)
|
|
rule set than in the original game. Things need to be taken into account
|
|
such as the terrain, age, sex, culture, movement, etc</P>
|
|
|
|
<P>
|
|
<A NAME="Golly"></A> </P>
|
|
<DT><B>Golly</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://golly.sourceforge.net/">golly.sourceforge.net</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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;</P>
|
|
<P>
|
|
<UL>
|
|
<LI>Reads RLE, Life 1.05/1.06, and macrocell formats.</LI>
|
|
<LI>Supports Wolfram's 1D rules.</LI>
|
|
<LI>Can paste in patterns from the clipboard. </LI>
|
|
<LI>Scriptable via Python.</LI>
|
|
</UL>
|
|
</P>
|
|
|
|
<P>
|
|
<A NAME="Langton's Ant"></A> </P>
|
|
<DT><B>Langton's Ant</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://theory.org/software/ant/">http://theory.org/software/ant/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="LEE"></A> </P>
|
|
<DT><B>LEE</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.informatics.indiana.edu/fil/LEE/">www.informatics.indiana.edu/fil/LEE/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="MATREM"></A> </P>
|
|
<DT><B>MATREM</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.romansland.nl/matrem/">http://www.romansland.nl/matrem/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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 life form. Their efforts are the
|
|
driving force behind the program.</P>
|
|
|
|
<P>
|
|
<A NAME="Nanopond"></A> </P>
|
|
<DT><B>Nanopond</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://adam.ierymenko.name/nanopond.shtml">http://adam.ierymenko.name/nanopond.shtml</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>Nanopond is a "corewar style" evolvable instruction set based virtual
|
|
machine written in C. It is similar in design to Tierra and Avida but
|
|
considerably smaller and simpler. Version 1.0 weights in at only 840
|
|
lines of C code, the majority of which are comments! It is very highly
|
|
optimized and supports simple color visualization using the SDL (Simple
|
|
Directmedia Layer) library.</P>
|
|
<P>More information can be learned by reading the Nanopond source code,
|
|
which is very well commented.</P>
|
|
|
|
<P>
|
|
<A NAME="Noble Ape"></A> </P>
|
|
<DT><B>Noble Ape</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.nobleape.com/sim/">www.nobleape.com/sim/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
<P>It features a number of autonomous simulation components including a
|
|
landscape simulation, biological simulation, weather simulation,
|
|
sentient creature (Noble Ape) simulation and a simple intelligent-agent
|
|
scripting language (ApeScript).</P>
|
|
<P>The code is currently (2007) used by Apple Inc and by INTEL for
|
|
processor optimization and performance tuning. Apple includes it with
|
|
their CHUD performance and debugging developer tool set.</P>
|
|
<P>
|
|
<A NAME="Polyworld"></A> </P>
|
|
<DT><B>Polyworld</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://sourceforge.net/projects/polyworld">http://sourceforge.net/projects/polyworld</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>PolyWorld is a computational ecology that I developed to explore issues
|
|
in Artificial Life. Simulated organisms reproduce sexually, fight and
|
|
kill and eat each other, eat the food that grows throughout the world,
|
|
and either develop successful strategies for survival or die. An
|
|
organism's entire behavioral suite (move, turn, attack, eat, mate,
|
|
light) is controlled by its neural network "brain". Each brain's
|
|
architecture--it's neural wiring diagram--is determined from its
|
|
genetic code, in terms of number, size, and composition of neural
|
|
clusters (excitatory and inhibitory neurons) and the types of
|
|
connections between those clusters (connection density and topological
|
|
mapping). Synaptic efficacy is modulated via Hebbian learning, so, in
|
|
principle, the organisms have the ability to learn during the course of
|
|
their lifetimes. The organisms perceive their world through a sense of
|
|
vision, provided by a computer graphic rendering of the world from each
|
|
organism's point of view. The organisms' physiologies are also encoded
|
|
genetically, so both brain and body, and thus all components of
|
|
behavior, evolve over multiple generations. A variety of "species",
|
|
with varying individual and group survival strategies have emerged in
|
|
various simulations, displaying such complex ethological behaviors as
|
|
swarming/flocking, foraging, and attack avoidance.</P>
|
|
|
|
<P>
|
|
<A NAME="POSES++"></A> </P>
|
|
<DT><B>POSES++</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.gpc.de/e_poses.html">http://www.gpc.de/e_poses.html</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="Tierra"></A> </P>
|
|
<DT><B>Tierra</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://life.ou.edu/tierra/">http://life.ou.edu/tierra/</A></LI>
|
|
</UL>
|
|
</P>
|
|
|
|
<P>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 evolve-able. 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.</P>
|
|
|
|
<P>
|
|
<A NAME="Trend"></A> </P>
|
|
<DT><B>Trend</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://www.complex.iastate.edu/download/Trend/">www.complex.iastate.edu/download/Trend/</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
<P>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.</P>
|
|
<P>Also available is jTrend. A Java version of Trend.</P>
|
|
|
|
<P>
|
|
<A NAME="XLIFE"></A> </P>
|
|
<DT><B>XLIFE</B><DD><P>
|
|
<UL>
|
|
<LI>FTP site:
|
|
<A HREF="http://linux.maruhn.com/sec/xlife.html">http://linux.maruhn.com/sec/xlife.html</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>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.</P>
|
|
|
|
<P>
|
|
<A NAME="Xtoys"></A> </P>
|
|
<DT><B>Xtoys</B><DD><P>
|
|
<UL>
|
|
<LI>Web site:
|
|
<A HREF="http://thy.phy.bnl.gov/www/xtoys/xtoys.html">http://thy.phy.bnl.gov/www/xtoys/xtoys.html</A></LI>
|
|
</UL>
|
|
</P>
|
|
<P>xtoys contains a set of cellular automata simulators for X windows.
|
|
Programs included are:
|
|
<UL>
|
|
<LI> xising --- a two dimensional Ising model simulator,</LI>
|
|
<LI> xpotts --- the two dimensional Potts model,</LI>
|
|
<LI> xautomalab --- a totalistic cellular automaton simulator,</LI>
|
|
<LI> xsand --- for the Bak, Tang, Wiesenfeld sandpile model,</LI>
|
|
<LI> xwaves --- demonstrates three different wave equations,</LI>
|
|
<LI> schrodinger --- play with the Scrodinger equation in an
|
|
adjustable potential.</LI>
|
|
</UL>
|
|
</P>
|
|
|
|
</DL>
|
|
</P>
|
|
|
|
<HR>
|
|
<A HREF="AI-Alife-HOWTO-6.html">Next</A>
|
|
<A HREF="AI-Alife-HOWTO-4.html">Previous</A>
|
|
<A HREF="AI-Alife-HOWTO.html#toc5">Contents</A>
|
|
</BODY>
|
|
</HTML>
|