index.md 2.39 KB
Newer Older
Victor's avatar
Victor committed
1
2
# ABMEv.jl Documentation

Victor's avatar
Victor committed
3
4
5
6
7
This is a suite for simulating the evolutionary dynamics of a population in a multidimensional space. The population is modelled at the level of the individual - this suite hence falls in the realm of *Agent Based Modelling*.
The purpose of this package is to provide a numerical laboratory for evolutionary dynamics, supplying
- a flexible atomic structure of agents and underlying evolutionary space
- algorithms and update rules for the simulations
- analysis tools to investigate the simulations.
8

Victor's avatar
Victor committed
9
10
11
## Features
Agents consist of a set of traits in some combination of vector spaces. A vector space can represent for example a geographical landscape, or trait space. Spaces can be of any dimensions, discrete or continuous, bounded or unbounded. They can equally consist of graphs.
Vector spaces are used to define birth and death processes, as well as mutation processes.
12

Victor's avatar
Victor committed
13
## Getting started
Victor's avatar
Victor committed
14
```@repl
Victor's avatar
Victor committed
15
16
17
using ABMEv
```

Victor's avatar
Victor committed
18
19
## Tutorial
We strongly advise to have a look at the tutorial section.
Victor's avatar
Victor committed
20
21
22
23
24
25
26
27
28
29
30
```@contents
Pages = [
    "examples/delta_competition_example.md",
    "examples/changing_environment.md",
    "examples/sympatric_speciation.md",
    "examples/gradient_establishment.md",
    "examples/genetic_structure.md",
    ""
    ]
Depth = 2
```
Victor's avatar
Victor committed
31
32
## How it works
There general workflow to launch any simulation is the following
Victor's avatar
Victor committed
33

Victor's avatar
Victor committed
34
35
36
37
38
39
- [Define the combination of vector spaces you are interested in.](manual/space.md)
- Define birth and death function, that depend on agents position in the space
- Define mutation function
- [Define initial population state and time](manual/world)
- [Run the simulation according to some updating algorithm](manual/run_world.md)
- [Obtain a summary of the population state](manual/simulation.md)
Victor's avatar
Victor committed
40

Victor's avatar
Victor committed
41
42
43
44
45
### Available algorithms
As of now, three types of simulation algorithm can be used:
        - [Gillepsie](manual/gillepsie.md)
        - [Wright-Fisher](manual/wright_fisher.md)
        - [CFM](CFM.md)
Victor's avatar
Victor committed
46
47
48
49
50
51

## References
- [Champagnat and Ferriere founding article](https://linkinghub.elsevier.com/retrieve/pii/S0040580905001632)
- [Champagnat and Ferriere second article - 2008](https://www.tandfonline.com/doi/full/10.1080/15326340802437710)

## Similar packages:
Victor's avatar
Victor committed
52
[Agents.jl](https://juliadynamics.github.io/Agents.jl/) This package is oriented towards general ABM modelling, and miss many of the specificities of ABMEv.jl , such as vector spaces operations, update algorithm, and analysis tools.