Sunteți pe pagina 1din 12

Artifical Live

First project
Sex Separation
Dan Erusalimchik (id:314343740, yeda@cs.biu.ac.il)
Ori Cohen (id:036415875, orioric@gmail.com)

Department of Computer Science


Bar Ilan University
Ramat Gan, Israel

20.11.2007

Contents
1 Introduction 2

2 Thesis 2

3 Models 2
3.1 Basic model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.1 Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.2 Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 First Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3.1 Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.5 Additional Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.5.1 Agent changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.5.2 Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.6 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.8 A More Simplistic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.8.1 Agent changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.9 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Conclusions 10

References 10

Appendix 1 — the GUI 11

1
1 Introduction
It is well known that all the animals in the world separate into to two sexes and it seems that every species
do have two kinds, a female and a male1 . There are two sexes not one or three, even a hermaphroditic is
not an exception because this organism needs Two kinds of cells for the process of procreation. This is
a fact not just for animals, but also in plants. There is an organism that do not relate to any species and
they procreate by dividing each other, in this paper we will discuss the procreation process, where two
partners are needed. We already know that this happens in real life as we only have a male and a female.
Our work is based on the thesis why this separation occurs. When we did our literature survey we
found that the same idea is mentioned in "The Selfish Gene" by Richard Dawkin [1]. The initial idea for
this project was inspired by the his book, but model is a simplistic model. Hence we can’t think of it in
the same way of Docking’s model.
Throughout the process of our research we wanted to build a social model of primitive organism with
the help of a multi agent environment in net logo2 .
We will show a few experiments, trying to prove empirically that the thesis is true with a primitive
organism in an environment model. The construction of the primitive organism model in an environment
that resembles a real life environment is non direct proof that the evolution process would not have
happened in a different version of species separation.

2 Thesis
We assume that procreation of an organism demands two individuals that need a physical contact. In
other words the birth of a new organism needs to happen with a physical contact of two parents. The
need for both parents is something we do not need to prove and is beyond the scope of our work.
Therefore the automatic separation of organism into two groups (sexes) happens due to the following
physical factors:

1. The relation between weight and the speed of an agent. Where heavy agents are slower than lighter
ones.

2. The existence of a weight threshold for the two parents. Example: the amount of biological mate-
rial needed for birth to actually happen in real life.

The motivation for these demands is taken from the basic example of a light and fast therefore mobile
sperm and a heavy and slower egg.

3 Models
We will introduce several models, from the basic up to the most satisfying and complex model. the
evolution of these models will be shown in several examples.
1
We are not biologics by profession, so that may not be all true.There may be a third sex out there, but even this fact doesn’t
pose as problem and we can continue our work, because we only need biological facts for illustration purposes of our results
2
Netlogo is multi-threading application based on the logo language and logo is a lisp variant. In our project we use ver-
sion 3.1.4.

2
3.1 Basic model
At Beginning there are a lot of agents, whitch are randomly generated (see Fig.3.1). The agents present
all sexual groups.

Figure 3.1: At the beginning we can see that the model equally and randomly chooses agents, there are
also enough agents from multiple kinds.

We will now present the following agent and environment attributes.

3.1.1 Agent
Agent Genotype Attributes. Attributes that belong to the genotype, attributes that do not change in
the life span of an agent.

Weight: It is an positive integer number less then the reproduction weight threshold. The Units of
weight are arbitrary. The weight reflects directly on the movement of the agent (Please look at the
environment variable in section 3.1.2).

Color: The color of an agent changes from deep blue to white all the way to red. This means that a bluer
agent is lighter and a redder agent is a heavier. While the middle weights are usually white.

Agent Phenotype Attributes. Those are attributes that change throughout the course of a lifetime.

Age: Is an integer number and represents the biological age of an agent, this means that it’s not just the
amount of cycles that the agent lives. In other words the age doesn’t depend only on the cycles,
but of other factors too.

Agent behavior features.

Life: In the first basic model one Age of an agent is a one cycle.

Death: An agent dies when his age is bigger than a predetermined threshold

Procreation process: If sum of two organism’s weight in the same cell is bigger than a predetermined
constant then a birth occurs and a number of children are born. We place those children in the cells
surrounding the parents.

3
The children’s weights are determined in the following way:
P (similartof ather) = P (similartomother) = 0.5.
Define parent the one that child similar to. Thus...
P (weight[child] = weight[parent] − 1) =
P (weight[child] = weight[parent]) =
P (weight[child] = weight[parent] + 1) = 31

3.1.2 Environment
Environment defines a speed of agent, a linear dependency with an inverse proportion to the weight of
the agent.  
(maxW − weight)(maxS − minS )
int + minS
maxW − minW
Here minW , maxW , minS , maxS are minimum and maximum of weight and minimum and maximum
of speed consequently.

3.2 Results
We observe an exponential growth which causes a population burst as seen on Fig.3.2 We note that
agents do not divide into two species in a clear way and we actually see one species which is the middle
weighted species.

Figure 3.2: Exponential growth of population creates one group of a single agent — middle sex.

3.3 First Modification


3.3.1 Environment
We limited the environment’s population with a maximal number of individuals. If the number of indi-
viduals is bigger than a constant we randomly select agents for destruction. And we kill them until the
population is as the size we want it to be.

4
3.4 Results
We see an exponential growth that breaks at a certain predetermined point. The function is Y = constant
(see Fig.3.3). Our agents do not divide in to two species what we are observing here is that there is a
dominant group of just females. The agents are actually trying to reach the maximal number they are
allowed to.

Figure 3.3: An exponential grown that was artificially limited. Which gave us a dominant group of
females as described in the basic model, This might give some idea about what is actually happening in
china, where there are more boys these days.

3.5 Additional Modifications


We will not discuss all the additional changes separately because we added all the modifications together.
There is not much to say about each one, but there is a lot to say about them all together. Even though
we did not describe them separately we will talk about reason why we added each change.

3.5.1 Agent changes


Phenotype Attributes

Sexual Activity: An integer that ascends during sexual relations and grows with every cycle of the sys-
tem. When the activity is smaller than a certain threshold the agent does not practice sex. The
objective of this change is to give agents the possibility to get away from agents and to prevent
incest. Otherwise agents will have no incentive of moving away.

Age: An integer that depends not only on the system’s cycles but also on the number of children ( look
at behavior section 3.5.2) Its behavior is that the agent dies in probabilistic way.
The concepts is
if age[A] < age[B] then (Aded) < (Bded).
and formula is
if random(CSTold) < (age − hitchers · CSTold · 0.2) then die
Here: age is age of agent, hitchers is a number of children during all life, CSTold is a top limit
of age.
The change tries to achieve two goals:

5
• To prevent a sudden descent in population size after the first generation dies. This descent is
too strong and pushes even the most ordinary population out of balance which causes them
to die.
• To give priority for agents who have more children (religious families, ’hamulot’, fertile
families). It is a proven fact that in real life there are more cells that are replaced with new
and live cells with each birth. It is also a fact that sexual life is healthier for both sexes.

The biggest problem is preventing incest; we had to put a genetic mechanism and an external
problem mechanism in the form of diseases and viruses.

Genotype Attributes

DNA: It is included with along side the weight, it is made of 10 genes adding the weight we get 11 genes.
A gene: An Integer number between 0-100. The 10 genes are not active genes which means that
in this model they are not affecting the behavior of the model. DNA is just identification for the
model, like a serial number. In this way we can differentiate between any two agents.

The difference between agents is defined by :


v
u|DN A|
u X
t (DN AA + DN AB )2
i i
i=1

Here |DN A| is a number of genes and DANiα is a gene i-th of agent α.


Gene distance: Now we can talk about a family of agents that are genetically close to each in a con-
stant distance. To achieve this we calculated the child’s distance from his parent:
gene[child] = gene[f ather or mother] (+ or −) (1 or 0)

3.5.2 Environment
Epidemic virus: The termination of family members. This mechanism reminds a real virus, when a
virus adapts itself to a certain gene pool. Only those individuals or similar individuals will die.
The purpose of the epidemic is force the agents to be heterogenic. This means that agents will be
"forced" to search for a different partner which is not a family member. This is very primitive and
not very exact, but in our opinion this is similar to what happens in real life.

Speed: We entered a few alternative formulas to calculate speed (see Fig.3.4).


(maxW −weight)(maxS −minS )
1. linear: maxW −minW + minS

K
2. (maxS − minS ) K+weight−min W
+ minS − 5

K
3. (maxS − minS ) K+e(weight−minW ) −1
+ minS

6
Figure 3.4: These are the functions versions for weight to speed dependency.

3.6 Results
With these modifications we got what we wanted. During a long period of time we kept a stabile popu-
lation (see Fig.3.5) And when stabilized each individual independently they started to divide clearly into
two distinct groups. This was a constant result in every experiment we held.

Figure 3.5: The model represents the stable population without artificial limitation, We see that there is
a split between sexes. Fast and light or slow and fat.

3.7 Conclusions
In the model we presented a theory thatwas proved to be true. We can say that all the populations are
either over populated or have died quickly. Those who died did not divide in to two groups.
Manually limiting the population size did not give the results we needed. Only if a population has
self control on its growth its growth, we actually get a stable separation into two groups.
Even though we got the results we wanted, the extra complexity of the model (genetic mechanism
and epidemic deaths) did not feel right to us. Plus we also wanted to improve some of the formulas.

7
We decided to make another modification to our model to improve the results.

3.8 A More Simplistic Model


3.8.1 Agent changes
• The formula to calculate a probability of agent death was improved. The formula is represented in
chart 3.6.

Figure 3.6: Normalized version of age distribution generated by ages randomizer for life agent cycle

Randomly we select an agent and if age is above a constant we kill it. We can see that from ages
15 to 30 there is a bigger chance of dying.

• We removed the DNA mechanism and with it we removed the epidemic mechanism as well. In-
stead we added a new mechanism that resembles a eating behavior. If in the same cell there are
more than 2 individuals then the rest of the individuals are randomly selected and killed.

3.9 Results
After testing the new parameters we did not get a stable system, the population always died. Most of
the time the experiment had a population burst. We believe these things have a secondary meaning to
them. First of all the death of a population happens only after a very long period of time. Second if a
population burst happens, it only happens in the first few cycles of the experiment, which is why we only
look at stable systems.
This is why our models are effective enough to prove our thesis. The results clearly show that there
is a separation of two species where there aren’t any population bursts (see Fig.3.7).

8
Figure 3.7: the experiment’s results for the simplistic model. In every experiment we see a constant
reduction in the population but until the very end a long time (cycles) had passed. We also see a clear
separation of two species.

9
4 Conclusions
We have an empirical proof for the initial thesis that we made at the beginning of the research. There
is a clear separation to two species in a spontaneous way. In viable systems the cause of separation is a
relation between the weight of the agent to the speed of agent.
In addition to the empiric results the DNA mechanism worked because it killed big groups who were
in the same spot. For unknown reasons these groups represented individuals of the same family, those are
agents with close gene distance. because of this reason the diseases affected the experiments positively.
As proof, we successfully replaced the DNA mechanism to a more simplistic mechanism. It might be
strange but The sexual activity factor is a very strong factor over the size of the populations. Adding one
cycle into it actually kills the population instantly. Reducing one cycle from it actually causes constant
population burst.
We observed that the linear relation between weight and speed doesn’t work The most fitting function
was formula:
1
(maxS − minS ) + minS − 5
1 + weight − minW

References
[1] Richard Dawkins. The Selfish Gene. Oxford University Press, 1976.

10
Appendix 1 — the GUI
Here we show our application’s interface:

Figure 4.1: The Graphical User Interface of model semulator

GUI elements description

1. Setup button. Reset model state.

2. Go button. Run experiment.

3. Size of first generation.

4. Number of agents – population size – in current step.

5. Number of speed function.

6. Size of life area.

7. Step counter

8. Switch: if on then show labels with status near of each agent.

9. Show labels with status near 10 agents randomlly.

10. Chart of population size.

11. Chart of weight distribution. This is a main chart for this experiment.

12. Agents life area.

13. Minimal weight.

14. Maximal weight.

11
15. Start weight of agent. Non-active parameter, that changed to random weight.

16. Minimal speed of agent.

17. Maximal speed of agent.

18. Actual minimal weight of all agents from begining of experiment.

19. Actual maximal weight of all agents from begining of experiment.

20. Chart of weight standart deviation.

21. Life length — maximal bio-age of agent.

22. Distortion of age radnomizer function.

23. Maximal number of deads agents in each cycle from oldness.

24. Number of agents non sexual activity cycles.

25. Threshold of parents weight for reproduction.

26. Energy of agent. This is a constant coefficient of speed for all agents.

27. Max number of children (non usefull in the final model)

28. Number of children of one cuple from on reproduction.

29. Maximal number of dead agents from epidemic.

30. Epidemic mechanizm on or off.

31. DNA radius of family.

32. Constant for speed formula

33. Switch for speed formula

34. Limit of population size.

35. Population size limitation on or off.

36. Rate of mail and femail agents children.

37. Food in one life area cell.

38. Switch of food mechanism.

This Application is very intuitive and by just running several runs, it is possible to learn a great deal
about the experiment.

12

S-ar putea să vă placă și