a lifespan-oriented experiment -- report 

A lifespan-directed experiment

Objective
I wanted to run a lifespan-directed environment. Lifespan depends on
energetic conditions; mainly on ability to find food. A general fitness
such as lifespan does not impose any restriction on creatures regarding how
to find food. I expected to see an improvement in the ability to move,
and ability to move in the direction of the food. I started with a creature
capable of simple swimming (I used water because it is easier to move).
I expected creatures will move faster, and be able to activey seek food
(using smell sensors). In this experiment none of these happened,
nonetheless I was able to identify some speciation and parasitism,
although quite rudimentary.

Conditions
50x50 world, water. Because I was interested in interactions, I set the
number of simulataneously simulated creatures to 4. Death is on.
For selection, only lifespan has non-zero weight (1). Genotype similarity
linear. 300 genotypes. Energetics: starting e. of stick: 100; e. of a
dead stick: 20; idle metabolism: 3/stick/100cyc; automatic feeding: 20;
ball energy; 250. f1 genotype.
(I wanted to enable destructive collisions, but I got Runtime errors.)

Initial genotype
RRFFX[ @G:0.662,* :-1.333]RFX[@G:0.802]MMMMX[|-1:-1.569][|-1:2.367,0:-0.294]rrSIXCXXrcfSI(RX)
A simple little swimmer, 7 sticks. It can swim at speed 0.0065. On average
it lives for 3992. If it does not find any food, it lives for 3333
(100/3*100). After eating one ball, it lives for 4523 ((7*100+250)/(7*3)*100).

Losing the ability to move
Instead of moving better, creatures lost their ability to move altogether.
The main reason for this is that moving around aimlessly is not more
advantageous than staying in one place. This seems paradoxical, but
the existence (appearance) of a food ball is equally likely in the current
position A and any other position B. This is because the placement of
the balls is completely random.
(Clarify when and where are balls placed.)

Other strategies
I observed two different 'strategies' for increasing lifespan without
moving. The first is being bigger, which means a higher probability of
touching a ball. The other is being smaller, which means lower
probability, but a higher lifespan in the lucky event of touching a ball,
because of reduced metabolic requirements. I observed both of these
strategies coexisting in the population.
As generations progressed, the big creatures evolved to be even bigger
(up to 80-100 sticks and more), which small ones stayed small.

Parasitism
Creatures leave an eatable corpse after dying. The amount of energy of
the corpse is proportional to the size, thus a bigger creature leaves more
energy. This benefits creatures which will live in the future -- all
of them. If creatures become big, they increase the overall energy
inflow of the system. This benefits other creatures, mainly other big
creatures, but also some small creatures. These small parasites have
some chance of hitting upon an energy ball, or a corpse of a big dead
creature. Observing the simulation shows that big creatures touch balls
frequently, but also big corpses (energy transfer from a previous
generation). Sometimes small creatures feed on a big corpse, in which
case they live for very long. I call this parasitism.

I ran about 4000 generations.
I have the genepool from every 100th gen.

.sim file and some resulting creatures below.

# created Fri Jul 21 13:22:23 2000
# by Framsticks simulator (30-May-00) [MS Windows]
sim_params:
model:1
oldneurons:0
capacity:300
delrule:0
descol:0
debug:0
AutoKill:1
cr_c:0
cr_life:1
cr_v:0
cr_gl:0
cr_nnsiz:0
cr_di:0
cr_vpos:0
cr_vvel:0
cr_norm:0
fitfun:0
fitm:2
fitma:5
enablestats:2
cr_simi:1
testvel:9
cr_energ:0
MaxCreated:4
p_nop:50
p_mut:40
p_xov:10
xov_mins:0
Energy0:100
grow:0
corpsen:20
e_meta:3
aging:0
em_stat:0
em_dyn:0
sun:0
feed:20
feede0:250
autosave:1
overwrite:0
filecomm:0
wrldtyp:0
wrldsiz:50
wrldmap:
wrldwat:8
wrldbnd:1
mut_str:5
mut_neu:10
mut_exmod:eE
mut_exrec:S
mut_exctl:
gm_repair:1
gm_xosegm:0
geno_f1_sm0:0.05
geno_f1_sm1:0.02
geno_f1_sm2:0.02
geno_f1_sm3:0.02
geno_f1_sm4:0.1
geno_f1_nm0:1
geno_f1_nm1:0.1
geno_f1_nm2:0.05
geno_f1_nm3:0.1
geno_f1_nm4:0.05
geno_f1_nm5:0.2
geno_f1_simNN:1
geno_f1_simSN:1
geno_f1_simSS:1
geno_f1_simNS:1
geno_f1_simStr:4
geno_f4_mut1add:0.2
geno_f4_mut1del:0.2
geno_f4_mutAdd2div:0.2
geno_f4_mutAdd2link:0.2
geno_f4_mutAdd2rep:0.1
genkonw0:1
genkonw1:0
genkonw2:0
genkonw3:0

Here are some genotypes from gen 4200

st_min_lifespan:3334
st_avg_lifespan:3915.52
st_max_lifespan:10714
st_min_velocity:0
st_avg_velocity:0.000100315
st_max_velocity:0.00327094
st_min_distance:0
st_avg_distance:0.219158
st_max_distance:2.64762

FmSIX[@ = :0.000]

(X[@ T :0.713,0 :1.676,T :-2.500])

rIX

(XXXXXRRRFFXMMXXIXMMSSXRRRFSXXXXXrXMMMiXSSIX[ 0:2.975][|-1:601.997]FXX[@G:-0.844]
XMXrSIXXaMMMXSSIX[ 0 :1.391][|*:1.898,1:-0.849]FXXXMXXaMMMMXXMXMMMMiXMSSIXXaMMMMX
XXIXMMSSXRRRFFSXXXXXrXMMMiXSSIX[ 0 :1.391][|-1:601.997,0 :-4.013]IXFX[@ 0 :0.059]
[ @G:-0.946,0 :-370.967]XRFXMMMMXSSIX[ @0 :479.988][|*:-0.294,1 :981.135],FXXXMXX
aMMMMqXXMXaMMMXSSIX[ 0 :1.391][|*:1.898,1 :-0.849]FXXXMXXaMMMMXXMXaFIX[@ T :2.686
]X[|T:2.896]MMXiXSSIX[ 0 :1.391][|-1:601.997,0:-1.562,1 :1.777]XSSIX[ 0 :1.391]XX
aFIX[@ T :-3.223]X[@T:0.802]RMMMMiXSSIX[ 0 :1.391]X[ 1 :-1.716]XIXXMMSSXRRRFFXX,X
XrXMMX[@0:-4.892]MMMMiXMSSIXXaMMMMXXIXMMSSXRRRFFSXXXXXrXMMMiXSSIX[ 0 :1.391][|-1:
1.365,1 :-0.660],FXX[@G:1.126]XMXrSIXXXaX)

(q(,,RRRlaaaCFFX),XSIXXXmXXXXX,qXfIX)XmsXCFIX

(XXWXFFXSSXRRRFFSXXXXXrXSSXRRRFFXXXXrXrFMSSIIXXX[ 0 :-4.192],XMqXXMXLaMMMXSSIX[ 0
:1.391][|*:1.898,1 :-0.849]FXXXMXXaMMMMXXMXaFIX[@ T :2.686]X[|T:2.896]MMXiXSSIX[
0 :1.391][|-1:601.997,0:-1.562,1 :1.777]aMMMMXXXIXMMSSXRRRFFSXXXXXrXX[ / :-0.254]
XaXXXMXXaMMMMqXXMXLaMMMXSSIX[ 0 :1.391][|*:1.898,1 :-0.849]FXXXMXXaMMMMXXMXaFIX[@
T :2.686]X[|T:2.896]MMXiXSSIX[ 0 :1.391][|-1:601.997,0:-1.562,1 :1.777]XSSIX[ / :
1.391][|*:-2.016,1 :-4.613]XFXX[@G:-1.772]XMXrSIXXaX)

Forums: 

"Adam Rotaru" wrote in message > Losing the ability to
move
> I observed two different 'strategies' for increasing lifespan without
> moving. The first is being bigger, which means a higher probability of
> touching a ball.

Most of my experiments with lifespan fitness have resulted in this same type
of strategy. Grow and grow and you will always have some ball or creature to
feed upon. If I turned down the energy balls quantity or the energy from
corpse the creatures returned to 1 stick beings that simply did nothing.

Christian

Christian Rauh ÐÉÛÅÔ ×
ÓÏÏÂÝÅÎÉÉ:8n9l5c$5ho$1@net.frams.poznan.pl...
> "Adam Rotaru" wrote in message > Losing the ability to
> move
> > I observed two different 'strategies' for increasing lifespan without
> > moving. The first is being bigger, which means a higher probability of
> > touching a ball.
>
> Most of my experiments with lifespan fitness have resulted in this same
type
> of strategy. Grow and grow and you will always have some ball or creature
to
> feed upon. If I turned down the energy balls quantity or the energy from
> corpse the creatures returned to 1 stick beings that simply did nothing.
>
> Christian
Hi guys!

Why don't you turn on the destructive collision, I guess it would give less
advantages of beeing just big if someone run into this big creature.

Arthem

Hi Adam,

You need to make the energy balls more energetic, say 600-1000. So if the
creature senses one it can get to it while there is still a lot of energy
left.

The balls lose energy all the time, if they are to small, by the time a
creature gets to one it is almost gone.

Also, if the creatures are just moving randomly you need to provide many
energy balls. As the creatures become more directed you can reduce the
number to increase the selection pressure. If the creatures become very good
they also become immortal!

I hope this helps.

Cheers,

Ander

Hi evolvers;

I got a number of suggestions for my post, thanks.
I'm still trying different lifespan-oriented runs, but so
far was not able to see the emergence of active food seeking.

From: Jeff Weber

I would think that moving around amilessly would be more advantages. Even
though the food falls at random places, it stays there till found. So, if
one fram is just sitting waiting for food and another is wandering around
aimlessly then the moving fram has the chance of food landing on it + the
chance of running accross any food laying around.

Yes, now I agree. It seems that I was quick to jump to the conclusion
that random wondering does not increase probability. It does, see
analysis below. OF course, non-random wandering (even if it's only a
little bit correlated to food) is better than random one.

> Maybe the energy cost of wandering outweighed the benefit and
> thats why your frams just didn't move.

Logical, but not true, as I set muscle work to be free
(static and dynamic muscle work consume 0 energy).

From Maciej:
> what about 'exclude receptors'?

Right! Without realizing, I exluded the possibility of smell sensors!

From: Ander Taylor
> You need to make the energy balls more energetic, say 600-1000. So if
> the creature senses one it can get to it while there is still a lot of
> energy left.

OK. I increased ball energy from 250 to 750.

> Also, if the creatures are just moving randomly you need to provide many
> energy balls. As the creatures become more directed you can reduce the
> number to increase the selection pressure.

I know. This is what I call 'incremental evolution'.
If the energy inflow rate would be constant, this reduction of available
food would be a direct result of creatures getting better. As they eat
more and more food, there is less and less available. So you have to be
more proficient to collect the same number of balls! (like a spiral)
Currently this is not the case, beacause if creatures are better and eat
more, balls are introduced more frequently, so the number of available
balls is always the same. In other words, a perfect food finder cannot
starve other creatures to death by eating all the balls.

> If the creatures become very good they also become immortal!

Again, this would not be the case if the rate new balls are introduced
was constant, and not depend on the rate of balls being eaten.

> Try adding a selection weight for distance or veloctity and see
> if that helps.

I am curious what sort of creatures emerge is the only selection
criteria is lifespan (~ ability to find energy).
I sort of expert moving to be part of it, but if I include speed in the
fitness, that's not interesting. No surprise moving emerges if you select
explicitely for it!

Proabability analysis.
Assume 10x10=100 squares, 20 balls, and a creature occupying 1 square,
living for 2 timesteps. The chance of a ball being in the square the
creature occupies is 20/100 = 0.20. If there is no ball, there will be no
ball in the second time step either. If there is one, it will be eaten,
and a new one is introduced to a random location.
If the creature does not move, it's chance of getting a ball in the same
square is 1/100. This leads to a total estimated number of balls eaten:
0*80/100 + 1*20/100*99/100 + 2*20/100*1/100 = 0.202.
On the other hand, it it does move to another square, the prob. of
finding food there is 19/100 (old balls) + 1/100 (the new ball) = 20/100.
The estimated number of balls eaten in this case is:
0*80/100*79/99 + 1*80/100*20/99 + 1*20/100*80/100 + 2*20/100*20/100 =
0.401616,
almost twice as big.

cheers,
adam

Maciej Komosinski's picture

> > If the creatures become very good they also become immortal!
>
> Again, this would not be the case if the rate new balls are introduced
> was constant, and not depend on the rate of balls being eaten.

Then have a look at the 'aging time' parameter.

MacKo

"Ander Taylor" wrote
>
> You need to make the energy balls more energetic, say 600-1000. So if the
> creature senses one it can get to it while there is still a lot of energy
> left.
>
> The balls lose energy all the time, if they are to small, by the time a
> creature gets to one it is almost gone.

What about a parameter for the amount of energy that a ball loses. Because
if I make balls with a lot of energy my giant beings wait for one to appear
close and feed on it and since the energy is so big it has enough to simply
wait for another one of these random events and suck the next full energy
ball.

Christian

It may be that there needs to be a way to simulated some sort of preydation
ie if you sit still you are much more likely to die.

Try adding a selection weight for distance or veloctity and see if that
helps.

Or as you say having a way to control the energy loss from the balls would
force creatures to move to them.

Ander

Christian Rauh wrote in message
news:8n9l9j$5hp$1@net.frams.poznan.pl...
> "Ander Taylor" wrote
> >
> > You need to make the energy balls more energetic, say 600-1000. So if
the
> > creature senses one it can get to it while there is still a lot of
energy
> > left.
> >
> > The balls lose energy all the time, if they are to small, by the time a
> > creature gets to one it is almost gone.
>
> What about a parameter for the amount of energy that a ball loses. Because
> if I make balls with a lot of energy my giant beings wait for one to
appear
> close and feed on it and since the energy is so big it has enough to
simply
> wait for another one of these random events and suck the next full energy
> ball.
>
> Christian
>
>

Instead of moving better, creatures lost their ability to move altogether.
The main reason for this is that moving around aimlessly is not more
advantageous than staying in one place. This seems paradoxical, but
the existence (appearance) of a food ball is equally likely in the current
position A and any other position B. This is because the placement of
the balls is completely random.

I would think that moving around amilessly would be more advantages. Even
though the food falls at random places, it stays there till found. So, if
one fram is just sitting waiting for food and another is wandering around
aimlessly then the moving fram has the chance of food landing on it + the
chance of running accross any food laying around.
Maybe the energy cost of wandering outweighed the benefit and thats why your
frams just didn't move.

Cool experiment though.

jw