Difference between revisions of "Fisp00"

From Simulace.info
Jump to: navigation, search
(Created page with "== Primordial soup simulation == This problem is partly inspired by theory of "Primordial soup", partly by modern things such as agar.io game and partly by Swimbots simulatio...")
 
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Primordial soup simulation ==
+
== Simple ecosystem simulation ==
  
 
This problem is partly inspired by theory of "Primordial soup", partly by modern things such as agar.io game and partly by Swimbots simulation.
 
This problem is partly inspired by theory of "Primordial soup", partly by modern things such as agar.io game and partly by Swimbots simulation.
  
The primordial soup was a term created by Alexander Oparin in his theory of origin of the life on Earth. This theory states that there were just chemical elements which, under pressure and exposed to various energies (electrical discharges, high temperature), formed monomers, polymers and, in the end, live organisms. (TODO cite)
+
The primordial soup was a term created by Alexander Oparin in his theory of origin of the life on Earth. This theory states that there were just chemical elements which, under pressure and exposed to various energies (electrical discharges, high temperature), formed monomers, polymers and, in the end, live organisms. ( https://en.wikipedia.org/wiki/Primordial_soup )
  
 
Agar.io is a web-browser based game where the player controls his own cell. The cell can move, eject some of its matter and split itself in two. It can also absorb smaller cells which belong to other players. There is no particular goal in the game - just to, well, live long and prosper.
 
Agar.io is a web-browser based game where the player controls his own cell. The cell can move, eject some of its matter and split itself in two. It can also absorb smaller cells which belong to other players. There is no particular goal in the game - just to, well, live long and prosper.
Line 15: Line 15:
  
 
For purpose of our simulation we blended those three topics together and the result was a small artificial ecosystem which could have existed on the primeval Earth.
 
For purpose of our simulation we blended those three topics together and the result was a small artificial ecosystem which could have existed on the primeval Earth.
 +
 
The blend is as follows:
 
The blend is as follows:
 +
 
Oparin's primordial soup already evolved into single-cell organisms - algae and protozoa. Some of protozoa are herbivorous (can eat single-cell algae), some of them "carnivorous" (can eat other protozoa). More detailed information is given in the problem statement but main idea of our work is to simulate what happens in the pool as the time goes on. We are insterested in this, because we want to determine if such a closed ecosystem could actually exist - and if it could, what is its equilibrium (here we consider the pool as an actual small puddle of water with all those happy little creatures in it, separated from the "outside" world).
 
Oparin's primordial soup already evolved into single-cell organisms - algae and protozoa. Some of protozoa are herbivorous (can eat single-cell algae), some of them "carnivorous" (can eat other protozoa). More detailed information is given in the problem statement but main idea of our work is to simulate what happens in the pool as the time goes on. We are insterested in this, because we want to determine if such a closed ecosystem could actually exist - and if it could, what is its equilibrium (here we consider the pool as an actual small puddle of water with all those happy little creatures in it, separated from the "outside" world).
  
 
== Problem definition ==
 
== Problem definition ==
 +
 +
'''Name of simulation''': Simple ecosystem simulation
 +
 +
'''Class''': 4IT495 Simulace systémů (LS 2015/2016)
 +
 +
'''Author''': Petr Fišer
 +
 +
'''Type of model''': Multi-agent simulation
 +
 +
'''Modelling software''': NetLogo
 +
 +
----
  
 
We have three types of objects, algae (AL), herbivorous protozoa (HP) and carnivorous protozoa (CP).
 
We have three types of objects, algae (AL), herbivorous protozoa (HP) and carnivorous protozoa (CP).
 +
 
Basic properties:
 
Basic properties:
- Algae do not move, protozoa, on the other hand, do. They are not intelligent enough so they move randomly. Each protozoa has its movement speed (determined upon its creation) and a direction it is moving in. There is a 5% chance the direction changes.
 
- Algae emerge on their own.
 
- HP can eat algae.
 
- CP can eat HP and CP. If CP eats AL, it does not count as consuming food (the AL disappears though).
 
- If protozoa consumes food (algae or other protozoa) it grows by a size of food it has just consumed.
 
- Protozoa can eat only smaller food than they are.
 
- "Eating" happens when two objects touch.
 
  
- Size of the AL is always 1.
+
* Algae do not move, protozoa, on the other hand, do.
- Initial size (mass) of the HP is 3.
+
** They are not intelligent enough so they move randomly.
- Initial size (mass) of the CP is 5.
+
** Each protozoan has its movement speed (determined upon its creation) and a direction it is moving in.
 +
** There is a 5% chance the direction changes.
 +
* Algae emerge on their own.
 +
** Frequency of algae regrowth is adjustable.
 +
* HP can eat algae.
 +
* CP can eat HP and CP. If CP eats AL, it does not count as consuming food (the AL disappears though).
 +
* If protozoan consumes food (algae or other protozoa) it grows by a size of food it has just consumed.
 +
* Protozoa can eat only smaller food than they are.
 +
* "Eating" happens when two objects touch.
 +
 
 +
*Each object has a size.
 +
** Size of the AL is always 1.
 +
** Initial size (mass) of the HP is 3.
 +
** Initial size (mass) of the CP is 5.
  
 
Life of a protozoa:
 
Life of a protozoa:
- When moving around, protozoa consume energy. The bigger they are, the more energy they need. Therefore, the mass of a protozoa continually decreases by 0,25% (HP) and 0,5% (CP), respectively, but at least by 0.001.
+
* When moving around, protozoa consume energy.
- When protozoa has mass equal to zero, it dies.
+
** The bigger they are, the more energy they need. Therefore, the mass of a protozoa continually decreases by 0,25% (HP) and 0,5% (CP), respectively
- If protozoa grows beyond two times of its initial size, it can reproduce by spliting itself. Beyond two times of initial size, the chance of splitting is 25%. Beyond three times of inital size, the chance is 50%.
+
** Mass of protozoa decreases by at least by 0.001.
 +
** When two objects collide (touch), "eating" happens.
 +
** Two objects cannot overlay.
 +
** When the cannot eat it, they stop moving in the given direction.
 +
** If protozoan has mass equal to zero, it dies.
 +
* If protozoan grows beyond two times of its initial size, it can reproduce by spliting itself.
 +
** Beyond two times of initial size, the chance of splitting is 25%.
 +
** Beyond three times of inital size, the chance is 50%.
 +
** New protozoan does inherit speed atribute from its parent.
  
 
Starting conditions:
 
Starting conditions:
A puddle of water with starting amount of AL, HP and CP scattered around. Those amounts need to be adjustable.
+
* A puddle of water with starting amount of AL, HP and CP scattered around. Those amounts need to be adjustable.
Algae regrows (adjustable frequency).
+
* Algae regrows (adjustable frequency).
  
 
== Goal ==
 
== Goal ==
  
Observe evolution of the ecosystem as a whole in order to determine if it is able to survive in the long run. If it is, then determine for which values of starting parameters (and algae regrowth frequency) there is an equilibrium formed in the ecosystem.
+
Observe evolution of the ecosystem as a whole in order to determine if it is able to survive in the long run.
 +
If it is, then determine for which values of starting parameters there is an equilibrium formed in the ecosystem and determine ratios between count of algae,HP and CP respectively.
 +
 
 +
== Used method and software ==
 +
 
 +
Multi-agent simulation using NetLogo.
 +
 
 +
I really like how your proposal is elaborated. I just wonder if this isn't just a variant of the notorious predator-prey model. Please, could you describe the difference you see between your model and predator-prey? [[User:Tomáš|Tomáš]] ([[User talk:Tomáš|talk]]) 00:56, 29 April 2016 (CEST)
  
== Used method ==
+
I understand. Funny thing is the predator-prey model did not cross my mind. :)
 +
My proposal in comparison with https://en.wikipedia.org/wiki/Lotka–Volterra_equations#Physical_meaning_of_the_equations :
 +
* The prey population finds ample food at all times. '''-- Generally not true in my model as the food supply depends on the position of agents. Agents also move randomly and cannot overlap. Therefore I expect that even if there is plenty of food, it may not be possible for agent to get to it.'''
 +
* The food supply of the predator population depends entirely on the size of the prey population. '''-- Not true. Because if carnivorous protozoan collides with algae, it eats them (but does not gain weight). So, number of algae for herbivores does not depend only on regrowth, but also on the population of carnivores. In can be also be put as there is a competition for food between two species (moreover for one of them is true that they consume food but do not gain weight) which themselves are predator and prey. This is clear difference between predator-prey model because it mainly works with two species in predator-prey situation, not threee and not on a mixup of more predator-prey relations.'''
 +
* The rate of change of population is proportional to its size. '''-- May not be true. Depends on particular sizes of members of population. If we put "size" as some value of combined weights, then we can have size=50 for population which has 50 members of size 1 and such population will probably die out. Or we can have two members of size 25 which both have a 50% chance of splitting. There may be a function which depicts that but currently I do not see either "if" or "how" it is.'''
 +
* During the process, the environment does not change in favour of one species and genetic adaptation is inconsequential.
 +
* Predators have limitless appetite.
  
Multi-agent simulation using (probably) NetLogo. Collisions could be evaluated by reusing GasLab ( http://ccl.northwestern.edu/netlogo/models/GasLabCircularParticles ) model funcionality. I'm still not sure about the NetLogo though...
+
'''Approved.''' [[User:Tomáš|Tomáš]] ([[User talk:Tomáš|talk]]) 01:35, 2 May 2016 (CEST)

Latest revision as of 00:35, 2 May 2016

Simple ecosystem simulation

This problem is partly inspired by theory of "Primordial soup", partly by modern things such as agar.io game and partly by Swimbots simulation.

The primordial soup was a term created by Alexander Oparin in his theory of origin of the life on Earth. This theory states that there were just chemical elements which, under pressure and exposed to various energies (electrical discharges, high temperature), formed monomers, polymers and, in the end, live organisms. ( https://en.wikipedia.org/wiki/Primordial_soup )

Agar.io is a web-browser based game where the player controls his own cell. The cell can move, eject some of its matter and split itself in two. It can also absorb smaller cells which belong to other players. There is no particular goal in the game - just to, well, live long and prosper.

Swimbots is a simulation of the "gene pool" and originally was created as an answer to the statement of Richard Dawkins that:

"The very idea of a gene pool has no meaning if there is no sex. 'Gene Pool' is a persuasive metaphor because the genes of a sexual population are being continually mixed and diffused, as if in a liquid. Bring in the time dimension, and the pool becomes a river, flowing through geological time..." -Richard Dawkins, The Ancestor's Tale, page 432

Therefore swimbots are simulation where agents can move around in a "pool" and have two basic goals - 1) to eat and 2) to reproduce. Everything else emerges on its own during the simulation. Official web of the Swimbots is www.swimbots.com (TODO link) where the complete simulation app can be downloaded.

For purpose of our simulation we blended those three topics together and the result was a small artificial ecosystem which could have existed on the primeval Earth.

The blend is as follows:

Oparin's primordial soup already evolved into single-cell organisms - algae and protozoa. Some of protozoa are herbivorous (can eat single-cell algae), some of them "carnivorous" (can eat other protozoa). More detailed information is given in the problem statement but main idea of our work is to simulate what happens in the pool as the time goes on. We are insterested in this, because we want to determine if such a closed ecosystem could actually exist - and if it could, what is its equilibrium (here we consider the pool as an actual small puddle of water with all those happy little creatures in it, separated from the "outside" world).

Problem definition

Name of simulation: Simple ecosystem simulation

Class: 4IT495 Simulace systémů (LS 2015/2016)

Author: Petr Fišer

Type of model: Multi-agent simulation

Modelling software: NetLogo


We have three types of objects, algae (AL), herbivorous protozoa (HP) and carnivorous protozoa (CP).

Basic properties:

  • Algae do not move, protozoa, on the other hand, do.
    • They are not intelligent enough so they move randomly.
    • Each protozoan has its movement speed (determined upon its creation) and a direction it is moving in.
    • There is a 5% chance the direction changes.
  • Algae emerge on their own.
    • Frequency of algae regrowth is adjustable.
  • HP can eat algae.
  • CP can eat HP and CP. If CP eats AL, it does not count as consuming food (the AL disappears though).
  • If protozoan consumes food (algae or other protozoa) it grows by a size of food it has just consumed.
  • Protozoa can eat only smaller food than they are.
  • "Eating" happens when two objects touch.
  • Each object has a size.
    • Size of the AL is always 1.
    • Initial size (mass) of the HP is 3.
    • Initial size (mass) of the CP is 5.

Life of a protozoa:

  • When moving around, protozoa consume energy.
    • The bigger they are, the more energy they need. Therefore, the mass of a protozoa continually decreases by 0,25% (HP) and 0,5% (CP), respectively
    • Mass of protozoa decreases by at least by 0.001.
    • When two objects collide (touch), "eating" happens.
    • Two objects cannot overlay.
    • When the cannot eat it, they stop moving in the given direction.
    • If protozoan has mass equal to zero, it dies.
  • If protozoan grows beyond two times of its initial size, it can reproduce by spliting itself.
    • Beyond two times of initial size, the chance of splitting is 25%.
    • Beyond three times of inital size, the chance is 50%.
    • New protozoan does inherit speed atribute from its parent.

Starting conditions:

  • A puddle of water with starting amount of AL, HP and CP scattered around. Those amounts need to be adjustable.
  • Algae regrows (adjustable frequency).

Goal

Observe evolution of the ecosystem as a whole in order to determine if it is able to survive in the long run. If it is, then determine for which values of starting parameters there is an equilibrium formed in the ecosystem and determine ratios between count of algae,HP and CP respectively.

Used method and software

Multi-agent simulation using NetLogo.

I really like how your proposal is elaborated. I just wonder if this isn't just a variant of the notorious predator-prey model. Please, could you describe the difference you see between your model and predator-prey? Tomáš (talk) 00:56, 29 April 2016 (CEST)

I understand. Funny thing is the predator-prey model did not cross my mind. :) My proposal in comparison with https://en.wikipedia.org/wiki/Lotka–Volterra_equations#Physical_meaning_of_the_equations :

  • The prey population finds ample food at all times. -- Generally not true in my model as the food supply depends on the position of agents. Agents also move randomly and cannot overlap. Therefore I expect that even if there is plenty of food, it may not be possible for agent to get to it.
  • The food supply of the predator population depends entirely on the size of the prey population. -- Not true. Because if carnivorous protozoan collides with algae, it eats them (but does not gain weight). So, number of algae for herbivores does not depend only on regrowth, but also on the population of carnivores. In can be also be put as there is a competition for food between two species (moreover for one of them is true that they consume food but do not gain weight) which themselves are predator and prey. This is clear difference between predator-prey model because it mainly works with two species in predator-prey situation, not threee and not on a mixup of more predator-prey relations.
  • The rate of change of population is proportional to its size. -- May not be true. Depends on particular sizes of members of population. If we put "size" as some value of combined weights, then we can have size=50 for population which has 50 members of size 1 and such population will probably die out. Or we can have two members of size 25 which both have a 50% chance of splitting. There may be a function which depicts that but currently I do not see either "if" or "how" it is.
  • During the process, the environment does not change in favour of one species and genetic adaptation is inconsequential.
  • Predators have limitless appetite.

Approved. Tomáš (talk) 01:35, 2 May 2016 (CEST)