This page contains an applet which illustrates the dynamics of
the artificial life system Urdar accompanied by a tutorial and
a description of the system.
In order to run the applet you need to have
Java Runtime Environment
The origin and maintenance of biodiversity
has been a long standing question among ecologists. One of the
simplest ecological system where biodiversity emerges, and is stably
maintained, is in populations of E. coli
growing in a
homogeneous environment limited by a single resource, usually
glucose. The diversity is facilitated by cross-feeding (syntrophy),
where one strain partially degrades the limiting resource into a
secondary metabolite which is then utilised by a second strain. The
platform Urdar is aimed at investigating the evolution of cross-feeding, but not in
the context of a specific biological system, but instead we
extract and analyse the general principles governing systems where
cross-feeding might emerge.
Cross-feeding - The dynamics of cross-feeding can in general
terms be described by the figure below.
(iv) The reproduction probability P is an
increasing function defined by:
- The agents in the model digest binary strings by applying
CA-rules, transforming r to r'. To each such metabolic step we
can associate a difference in energy dE (visualised with dot-
ted lines). The reproduction of each agent depends on how much
it can decrease the energy of the binary string and oc- curs
with probability P(dE) (represented by the arrows on the left
hand side). The binary strings exist in a common pool which
they enter (and leave) at a rate gamma, as shown by the arrows on
the right hand side.
- This framework is very general and in Urdar we have made
the following choices:
- (i) The agents a are chosen to be nearest-neighbour
one-dimensional elementary cellular automata (CA),
one of the simplest notions of digital algorithms.
- (ii) The metabolites r are taken to be binary strings
- (iii) The energy function E is taken to be an
approximation of the Shannon entropy, which gives an estimate
of the amount of disorder a binary string contains,
associating a low entropy (low level of disorder)
with a high "energy" state of the string, i.e. we set E = 1 - s.
Implementation - The dynamics, depicted schematically
in the above figure, in the model during one update can be
described in the following way:
1. Each agent in the population picks randomly a resource
string rj from the resource pool R and transform it accord-
ingly to its CA-rule and then puts the transformed string back
into the resource pool.
2. The efficiency of the "metabolic process" just occurred
is evaluated by measuring the energy difference dE of the
string before and after the "digestion/transformation".
This is done by drawing a random number x uniformly between
0 and 1, and if P (dE) > x the agent reproduces.
3. With probability mu the offspring will be mutated uniformly to another CA-rule.
4. In order to keep energy flowing into the system, after
all agents have been updated,
a fraction gamma of the strings are replaced with high energy binary strings.
Dynamics - The growth rate of a species
(i.e. CA-rule) depends on how good it is at increasing the
disorder of the food-strings in the resource pool. This in
turn depends on the composition of the resources which is
determined by the totality of species present in the
system. Thus we see that the fitness of a species is not
easily defined and is contingent on the ecosystem as a
whole. This gives rise a large degree of species co-existence
as can be seen in the applet.
The applet illustrates a couple of basic features of the system
- Species distribution. This panel shows the time
evolution of the species frequencies. The number of species in
the system is 256 and the total population size sis kept at
constant value of 1024 individuals.
- Food strings. This illustrates a sample of the
binary strings in the resource pool. For high flow rates it is
dominated by ordered black strings, but for lower rates it
looks more like static.
- Cross-feeding network. A network view of the
cross-feeding dependencies between the species. A link
connects species A and B if the strings transformed by A have
subsequently been digested by B.
- Reproduction rate. This plots the rate at which
the agents reproduce. A maximum rate of 1 means that all
agents in the population divide every update.
- Ecosystem efficiency. By comparing the energy
level of the strings flowing in and out of the system we can
get a measure of how efficiently the system makes use of the
food strings. The ecosystem efficiency reaches its maximum if
all the possible energy has been extracted from the
Two parameters of the system can be controlled by the user:
the flow rate of food strings into the system and the mutation rate.