Ecological Models Summary

Long range models

Model Description
Discrete time There are \(N\) individuals, two individuals are chosen at each time-step and the occupant of the first replicates into the second according to its invasion rate.
Continuous time \(\begin{cases}\frac{\partial n_r}{\partial t}=n_r\cdot (n_s\cdot P_r - n_p \cdot P_p)\\ \frac{\partial n_s}{\partial t}=n_s\cdot (n_p\cdot P_s - n_r \cdot P_r)\\ \frac{\partial n_p}{\partial t}=n_p\cdot (n_r\cdot P_p - n_s \cdot P_s)\\ \end{cases}\)
Discrete time
(mean field recurrence relations)
\(\begin{cases} n_r[t+\Delta_t]=n_r[t] + \Delta_t \cdot n_r[t](n_s[t]P_r - n_p[t] P_p)\\ n_s[t+\Delta_t]=n_s[t] + \Delta_t \cdot n_s[t](n_p[t]P_s - n_r[t] P_r)\\ n_p[t+\Delta_t]=n_p[t] + \Delta_t \cdot n_p[t](n_r[t]P_p - n_s[t] P_s)\\ \end{cases}\)
Chemical reactions \(\begin{cases} R + S \xrightarrow{P_r} 2R\\ S + P \xrightarrow{P_s} 2S\\ P + R \xrightarrow{P_p} 2P\\ \end{cases}\)
PRISM CTMC ctmc
const double Pr = 0.2;
const double Ps = 0.5;
const double Pp = 0.3;
const int MAX = 100;
module RSP
r : [0..MAX] init 50;
s : [0..MAX] init 30;
[] r>0 & r<MAX & s>0 -> Pr*r*s : (r'=r+1) & (s'=s-1);
[] s>0 & s<MAX & (MAX-r-s)>0 -> Ps*s*(MAX-r-s) : (s'=s+1);
[] (MAX-r-s)>0 & (MAX-r-s)<MAX & r>0 -> Pp*(MAX-r-s)*r : (r'=r-1);
endmodule
Petri Net

Lattice models

Model Description
Frean and Abraham The \(N\) sites are taken to be sites in a periodic, rectangular lattice and each agent is activated once per time-step, in random order. During each activation, an agent competes with a randomly chosen neighboring agent. If the neighboring agent can be defeated, the agent wins the competition with a probability determined by the invasion rate. If the agent wins the competition, the neighboring agent is transformed into an individual of the same species of the winning agent.
Simultaneous activations The \(N\) sites are again taken to be sites in a periodic, rectangular lattice, but at each time step, all agents are activated simultaneously. During each activation, each agent competes with all its neighboring agents. In a three species system, if an agent is surrounded by at least three neighbors of a species that defeats it, the agent is converted into an individual of that species. Please note that invasion rates are not used in this model.
Reichenbach, Mobilia and Frey model In this model the \(N\) sites are taken to be sites in a periodic, rectangular lattice. Each patch can be occupied by one of the species or can be blank. Each tick, the following types of events happen at defined average rates: 1) Select event: Two random neighbors compete with each other; the losing patch becomes blank. 2) Reproduce event: Two random neighbors attempt to reproduce; if one of the neighbors is blank, it acquires the color of the other; nothing happens if neither neighbor is blank. 3) Swap event: Two random neighbors swap color; this event represents the organisms moving on the lattice.

Long range model simulations

Model Parameters Species evolution
Discrete time \(N=1000\)
\(P_r=0.2\)
\(P_s=0.5\)
\(P_p=0.3\)
\(n_r^0=0.5\)
\(n_s^0=0.3\)
\(n_p^0=0.2\)
Discrete time \(N=1000\)
\(P_r=0.2\)
\(P_s=0.5\)
\(P_p=0.3\)
\(n_r^0=0.33\)
\(n_s^0=0.33\)
\(n_p^0=0.33\)
Continuous time \(N=\infty\)
\(P_r=0.2\)
\(P_s=0.5\)
\(P_p=0.3\)
\(n_r^0=0.5\)
\(n_s^0=0.3\)
\(n_p^0=0.2\)
Continuous time \(N=\infty\)
\(P_r=0.2\)
\(P_s=0.5\)
\(P_p=0.3\)
\(n_r^0=0.33\)
\(n_s^0=0.33\)
\(n_p^0=0.33\)
Discrete time
(mean field recurrence relations)
\(N=\infty\)
\(P_r=0.2\)
\(P_s=0.5\)
\(P_p=0.3\)
\(n_r^0=0.33\)
\(n_s^0=0.33\)
\(n_p^0=0.33\)
\(\Delta_t=1\)
Discrete time
(mean field recurrence relations)
\(N=\infty\)
\(P_r=0.2\)
\(P_s=0.5\)
\(P_p=0.3\)
\(n_r^0=0.33\)
\(n_s^0=0.33\)
\(n_p^0=0.33\)
\(\Delta_t=0.01\)
Stochastic simulation
of chemical reaction
\(P_r=0.2\)
\(P_s=0.5\)
\(P_p=0.3\)
\(R=50000\)
\(S=30000\)
\(P=20000\)
Stochastic simulation
of chemical reaction
\(P_r=0.2\)
\(P_s=0.5\)
\(P_p=0.3\)
\(R=50\)
\(S=30\)
\(P=20\)
Stochastic simulation
of chemical reaction
\(P_r=0.2\)
\(P_s=0.5\)
\(P_p=0.3\)
\(R=33\)
\(S=33\)
\(P=33\)

Lattice model simulations

Rules:

  • with \(3\) species: \(r>s\); \(s>p\); \(p>r\)
  • with \(4\) species: \(r>s\); \(s>p\); \(p>u\); \(u>r\); \((r,p)\) and \((s,u)\) do not compete
  • with \(5\) species: \(r>s,p\); \(s>p,u\); \(p>u,v\); \(u>v,r\); \(v>r,s\)
Model Parameters Animation Species evolution
Frean and Abraham \(n\_species=3\)
\(N=200\cdot 200\)
\(P_r=0.33\)
\(P_s=0.33\)
\(P_p=0.33\)
\(n_r^0=0.33\)
\(n_s^0=0.33\)
\(n_p^0=0.33\)
Around step \(100\)
Frean and Abraham \(n\_species=3\)
\(N=200\cdot 200\)
\(P_r=0.1\)
\(P_s=0.1\)
\(P_p=0.8\)
\(n_r^0=0.1\)
\(n_s^0=0.8\)
\(n_p^0=0.1\)
Around step \(100\)
Frean and Abraham \(n\_species=3\)
\(N=200\cdot 200\)
\(P_r=0.05\)
\(P_s=0.475\)
\(P_p=0.475\)
\(n_r^0=0.475\)
\(n_s^0=0.475\)
\(n_p^0=0.05\)
Around step \(100\)
Frean and Abraham \(n\_species=3\)
\(N=200\cdot 200\)
\(P_r=0.05\)
\(P_s=0.5\)
\(P_p=0.3\)
\(n_r^0=0.5\)
\(n_s^0=0.3\)
\(n_p^0=0.05\)
\(increase\_r\_rate=\texttt{True}\)
Around step \(100\)
Simultaneous activations \(n\_species=3\)
\(N=200\cdot 200\)
\(n_r^0=0.33\)
\(n_s^0=0.33\)
\(n_p^0=0.33\)
Around step \(200\)
Simultaneous activations \(n\_species=3\)
\(N=200\cdot 200\)
\(n_r^0=0.2\)
\(n_s^0=0.4\)
\(n_p^0=0.4\)
Around step \(400\)
Simultaneous activations \(n\_species=3\)
\(N=200\cdot 200\)
\(n_r^0=0.1\)
\(n_s^0=0.4\)
\(n_p^0=0.5\)
Around step \(30\)
Simultaneous activations \(n\_species=4\)
\(N=200\cdot 200\)
\(n_r^0=0.25\)
\(n_s^0=0.25\)
\(n_p^0=0.25\)
\(n_u^0=0.25\)
Around step \(200\)
Simultaneous activations \(n\_species=5\)
\(N=200\cdot 200\)
\(n_r^0=0.2\)
\(n_s^0=0.2\)
\(n_p^0=0.2\)
\(n_u^0=0.2\)
\(n_v^0=0.2\)
Around step \(100\)
Reichenbach, Mobilia and Frey model \(n\_species=3\)
\(N=150\cdot 150\)
\(n_r^0=0.25\)
\(n_s^0=0.25\)
\(n_p^0=0.25\)
\(n_u^0=0.25\)
\(swap\_exp=-1\)
\(reproduce\_exp=0\)
\(select\_exp=0\)
Around step \(300\)
Reichenbach, Mobilia and Frey model \(n\_species=3\)
\(N=150\cdot 150\)
\(n_r^0=0.25\)
\(n_s^0=0.25\)
\(n_p^0=0.25\)
\(n_u^0=0.25\)
\(swap\_exp=0\)
\(reproduce\_exp=0\)
\(select\_exp=0\)
Around step \(300\)
Reichenbach, Mobilia and Frey model \(n\_species=3\)
\(N=150\cdot 150\)
\(n_r^0=0.25\)
\(n_s^0=0.25\)
\(n_p^0=0.25\)
\(n_u^0=0.25\)
\(swap\_exp=0.5\)
\(reproduce\_exp=0\)
\(select\_exp=0\)
Around step \(300\)
Reichenbach, Mobilia and Frey model \(n\_species=3\)
\(N=150\cdot 150\)
\(n_r^0=0.25\)
\(n_s^0=0.25\)
\(n_p^0=0.25\)
\(n_u^0=0.25\)
\(swap\_exp=1\)
\(reproduce\_exp=0\)
\(select\_exp=0\)
Around step \(300\)
Reichenbach, Mobilia and Frey model \(n\_species=3\)
\(N=100\cdot 100\)
\(n_r^0=0.25\)
\(n_s^0=0.25\)
\(n_p^0=0.25\)
\(n_u^0=0.25\)
\(swap\_exp=1\)
\(reproduce\_exp=-0.7\)
\(select\_exp=-0.7\)
Around step \(1000\)
Reichenbach, Mobilia and Frey model \(n\_species=4\)
\(N=150\cdot 150\)
\(n_r^0=0.2\)
\(n_s^0=0.2\)
\(n_p^0=0.2\)
\(n_u^0=0.2\)
\(swap\_exp=0\)
\(reproduce\_exp=0\)
\(select\_exp=0\)
Around step \(300\)
Reichenbach, Mobilia and Frey model \(n\_species=5\)
\(N=150\cdot 150\)
\(n_r^0=0.17\)
\(n_s^0=0.17\)
\(n_p^0=0.17\)
\(n_u^0=0.17\)
\(n_v^0=0.17\)
\(swap\_exp=0\)
\(reproduce\_exp=0\)
\(select\_exp=0\)
Around step \(300\)

Additional Experiments

Model Experiment
Discrete time
Continuous time
Discrete time
Lattice model,
Frean and Abraham
Lattice model,
Frean and Abraham

Stochastic Model Checking

Query Result
P=?[ F r=0 ] \(0.14\)
P=?[ F s=0 ] \(0.98\)
P=?[ F (MAX-r-s)=0 ] \(0.87\)
P=?[ F (r=70 & (F r=0)) ] \(0.14\)
P=?[ F (s=70 & (F s=0)) ] \(0.65\)
P=?[ F ((MAX-r-s)=70 & (F (MAX-r-s)=0)) ] \(0.29\)
P=?[ F (MAX-r-s)=0 & s=0 ] \(0.12\)
P=?[ F s=0 & r=0 ] \(0.02\)
P=?[ F r=0 & (MAX-r-s)=0 ] \(0.86\)
P=? [ F<time r=0 ]
P=? [ F<time s=0 ]
P=? [ F<time (MAX-r-s)=0 ]
P=? [F<time (r=0 | r=MAX | s=0) &
(s=0 | s=MAX | (MAX-r-s)=0) &
((MAX-r-s)=0 | (MAX-r-s)=MAX | r=0)]
P=? [ F=1 r>=x & r<x+10 ]
P=? [ F=1 s>=x & s<x+10 ]
P=? [ F=1 (MAX-r-s)>=x & (MAX-r-s)<x+10 ]

Petri Net Analysis

P-, T-invariants and Siphons

  • The Transition Matrix C (where rows are indexed by P, R, S and columns by Pp, Pr, Ps in this order) is \[C = \begin{bmatrix} 2 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 2 \end{bmatrix} - \begin{bmatrix} 1 & 0 & 1 \\ 1 & 1 & 0 \\ 0 & 1 & 1 \end{bmatrix}\]
  • \(x \cdot C = 0 \iff x=[1,1,1]\), x is a Place Invariant (the sum of the number of tokens in the places is equal to \(100\))
  • \(C \cdot y = 0 \iff y=[1,1,1]^t\), y is a Transition Invariant (applying the three transitions an equal number of times will not change the marking of the net)
  • \(\{P\}, \{R\}, \{S\}\) are minimal siphons (once a species goes extinct, it cannot be reintroduced in the system)
    • \(\bullet \{P\} = \{Pp\} \subseteq \{P\}\bullet =\{Pp, Ps\} \implies \{P\}\) is a siphon
    • \(\bullet \{R\} = \{Pr\} \subseteq \{R\}\bullet =\{Pr, Pp\} \implies \{R\}\) is a siphon
    • \(\bullet \{S\} = \{Ps\} \subseteq \{S\}\bullet =\{Ps, Pr\} \implies \{S\}\) is a siphon

Properties

Abbreviation Name Description Status
PUR pure \(\forall x, y \in P \cup T : f (x, y) \neq 0 \implies f (y, x) = 0\), i.e. there are no two nodes, connected in both directions. This precludes read arcs. Then the net structure is fully represented by the incidence matrix, which is used for the calculation of the P- and T-invariants.
ORD ordinary \(\forall x, y \in P \cup T : f (x, y) \neq 0 \implies f (x, y) = 1\), i.e. all arc weights are equal to 1. This includes homogeneity. A non-ordinary Petri net cannot be live and 1-bounded at the same time.
HOM homogeneous \(\forall p \in P :t,t^{\prime} \in p• \implies f(p,t)=f(p,t^{\prime})\), i.e. all outgoing arcs of a given place have the same multiplicity.
NBM non blocking multiplicity A net has non-blocking multiplicity if \(\forall p \in P :•p \neq \emptyset \land min\{f(t,p)\vert \forall t \in •p\}\geq max\{f(p,t)\vert \forall t \in p•\}\), i.e. an input place causes blocking multiplicity. Otherwise, it must hold for each place: the minimum of the multiplicities of the incoming arcs is not less than the maximum of the multiplicities of the outgoing arcs.
CSV conservative A Petri net is conservative if \(\forall t \in T : \sum_{p \in •t} f(p,t) = \sum_{p \in t•} f(t,p)\) i.e. all transitions add exactly as many tokens to their postplaces as they subtract from their preplaces, or briefly, all transitions fire token-preservingly. A conservative Petri net is structurally bounded.
SCF structurally conflict free A Petri net is static (or structurally) conflict free if \(\forall t,t^{\prime} \in T :t \neq t^{\prime} \implies •t \cap •t^{\prime} = \emptyset\), i.e. there are no two transitions sharing a preplace. Transitions involved in a static conflict compete for the tokens on shared preplaces. Thus, static conflicts indicate situations where dynamic conflicts, i.e. nondeterministic choices, may occur in the system behaviour. However, it depends on the token situation whether a conflict does actually occur dynamically. There is no nondeterminism in SCF nets.
FT0 every transition has a pre-place \(\forall t: •t \neq \emptyset\)
TF0 every transition has a post-place \(\forall t: t• \neq \emptyset\)
FP0 every place has a pre-transition \(\forall p: •p \neq \emptyset\)
PF0 every place has a post-transition \(\forall p: p• \neq \emptyset\)
CON connected A Petri net is connected if it holds for every two nodes \(a\) and \(b\) that there is an undirected path between \(a\) and \(b\). Disconnected parts of a Petri net cannot influence each other, so they can usually be analyzed separately.
SC strongly connected A Petri net is strongly connected if it holds for every two nodes \(a\) and \(b\) that there is a directed path from \(a\) to \(b\). Strong connectedness involves connectedness and the absence of boundary nodes. It is a necessary condition for a Petri net to be live and bounded at the same time.
NC netclass The net structure class: 1) A Petri net is called State Machine (SM) if \(\forall t\in T :\vert •t \vert =\vert t•\vert \leq 1\), i.e. there are neither forward branching nor backward branching transitions. 2) A Petri net is called Synchronisation Graph (SG) if \(\forall p\in P :\vert •p\vert =\vert p•\vert \leq 1\), i.e. there are neither forward branching nor backward branching places. 3) A Petri net is called Extended Free Choice (EFC) if \(\forall p,q\in P:p• ∩q• =\emptyset \lor p• =q•\), i.e. transitions in conflict have identical sets of preplaces. 4) A Petri net is called Extended Simple (ES) if \(\forall p,q\in P:p• \cap q• =\emptyset \lor p• \subseteq q• \lor q• \subseteq p•\), i.e. every transition is involved in one conflict at most. 5) If the net does not comply to any of the introduced net structure classes, it is said to be not Extended Simple (nES). nES
RKTH rank theorem \(rank(IM) \neq \vert SCCS\vert - 1 \implies !RKTH\), i.e. if the rank of the incidence matrix is not equal to the number of strongly connected components (maximal sets of strongly connected nodes) minus one, then the rank theorem does not hold.
STP siphon trap property The siphon trap property holds if no siphons are bad. A siphon is called bad if it does not include a trap.
CPI covered by P-invariants A net is covered by P-invariants, shortly CPI, if every place belongs to a P-invariant.
CTI covered by T-invariants A net is covered by T-invariants, shortly CTI, if every transition belongs to a T-invariant.
SCTI strongly covered by T-invariants The two transitions modelling the two directions of a reversible reaction always make a minimal T-invariant and they are called trivial T-invariants. A net which is covered by nontrivial T-invariants is said to be strongly covered by T-invariants.
SB structurally bounded A net is structurally bounded if it is bounded for any initial marking
k-B k-bounded A place \(p\) is k-bounded (bounded for short) if there exists a positive integer number \(k\), which represents an upper bound for the number of tokens on this place in all reachable markings of the Petri net: \(\exists k \in \mathbb{N}_0 :\forall m\in [m_0⟩:m(p)\leq k\). A Petri net is k-bounded (bounded for short) if all its places are k-bounded. 100
DCF dynamically conflict free Dynamic conflict is a behavioral property which refers to a marking enabling two transitions, but the firing of one transition disables the other one. The occurrence of dynamic conflicts causes alternative (branching) system behavior, whereby the decision between these alternatives is taken nondeterministically.
DSt no dead state(s) True if the net does not have dead states (markings). 3
DTr no dead transition(s) If the net does not have dead transitions at the initial state.
LIV live A Petri net is live (strongly live) if each transition is live.
REV reversible A Petri net is reversible if the initial marking can be reached again from each reachable marking: \(\forall m \in [m_0⟩ : m_0 \in [m⟩\)