SourceForge.net Logo

scen_single_pop: Homogeneous Single Species

Introduction

The scen_single_pop scenario is the simplest scenario available. There are three rules, each of which can be configured. The rules that each organism follows are:

Configuration File

The configuration file, without the comments, contains the following:

movement_circle: 3

reproduction: 0.20
repr_inhibit: 1
range: 20

dist_life: gsl_cdf_exponential_P
life_a: 500
life_b: 3
life_c: 7

Each parameter controls some part of the rules. The parameters and how their involvement in the rules is detailed below, but for quick reference, the configuration file lists the meaning of all the parameters.

Rules

The details of how the rules are used for each invidiual or organism x:

  1. The location of x at the next timestep is determined by selecting a point on a circle of radius movement_circle centered around the current location of x. The point is selected uniformly.
  2. For each x, the number of _other_ organisms at a distance less than range are calculated. This number is the number of organisms in proximity to x.
  3. The probability that x can potentially reproduce is:
  4. If the organism is selected to reproduce using the above probability, it will spawn a new organism nearby, UNLESS it dies first [1].
  5. The probability of an organism dying in the next timestep is F(x), where F is a cumulative distribution function of a selected probability density function specified by dist_life
  6. The parameters of the death cumulative distribution function are specified by life_a,life_b,life_c,..., and the meaning of each parameter is indicated in the configuration file

The distribution functions you can specify for the death CDF are, along with how to specify parameters:

Normal Distribution: gsl_cdf_gaussian_P

The normal distribution has a density on its support (all x):

f(x) = 1/(sqrt(2*p*s^2)*exp( -(x-m)^2/(2s^2) )

Where m is the mean and s^2 is the variance, and p is the constant pi. In the configuration file:

life_dist: gsl_cdf_gaussian_P
life_a: m
life_b: s^2

Exponential Distribution: gsl_cdf_exponential_P

The exponential distribution has a density on its support (x >= 0):

f(x) = (1/m)*exp( -(1/m)*x )

Where m is the mean. In the configuration file:

life_dist: gsl_cdf_exponential_P
life_a: m

Gamma Distribution: gsl_cdf_exponential_P

The gamma distribution has a density function on its support (x >= 0):

x^(k-1)*exp( -x/t )/( Gamma(k)*t^k )

Where t is sometimes called the scale and k the shape. In the configuration file:

life_dist: gsl_cdf_exponential_P
life_a: k
life_b: t

Student's t Distribution: gsl_cdf_tdist_P

The gamma distribution has a density function on its support (all x):

Gamma((f+1)/2)/[ sqrt(pf)*Gamma(f/2) ]*(1+x^2/f)^[ -(f+1)/2 ]

Where f > 0 is the degrees of freedom. In the configuration file:

life_dist: gsl_cdf_tdist_P
life_a: f

Please choose the parameters wisely as there is _no_ error checking on if the parameters make sense, and if you make a type you may cause unexpected and anomalous behaviour.


The 32x32 icons here are from the Tango Desktop Project. The logo was made in Inkscape and the website in Vim.