logo

Lotka-Volterra Competition Model 📂Dynamics

Lotka-Volterra Competition Model

Overview

The Lotka-Volterra competition model is a model capable of explaining the Principle of Competitive Exclusion, particularly describing situations where two groups inhibit each other. For instance, it can be applied to the relationship between rabbits and sheep sharing the same pasture or to the massacres between two rival tribes.

Model1

x1˙=r1x1K1x1β12x2K1x2˙=r2x2K2x2β21x1K2 \begin{align*} \dot{x_{1}} =& r_{1} x_{1} {{ K_{1} - x_{1} - \beta_{12} x_{2} } \over { K_{1} }} \\ \dot{x_{2}} =& r_{2} x_{2} {{ K_{2} - x_{2} - \beta_{21} x_{1} } \over { K_{2} }} \end{align*}

Variables

  • x1(t)x_{1}(t): Represents the population of group x1x_{1} at time tt.
  • x2(t)x_{2}(t): Represents the population of group x2x_{2} at time tt.

Parameters

  • rk>0r_{k}>0: The intrinsic growth rate of xkx_{k}.
  • Kk>0K_{k}>0: The carrying capacity of the environment for xkx_{k}.
  • βij/Ki>0\beta_{ij} / K_{i} >0: The Competition Coefficient for xix_{i}.

Derivation

N˙=rKN(KN) \dot{N} = {{ r } \over { K }} N ( K - N)

Let’s start from the logistic growth model. Assume initially that both populations xkx_{k} grow at a reproduction rate of rk>0r_{k}>0 in the absence of predators and that their growth is limited by the carrying capacity KkK_{k} of the environment. This is not truly a system of equations, but it can be expressed as follows:

x1˙=r1K1x1(K1x1)x2˙=r2K2x2(K2x2) \begin{align*} \dot{x_{1}} =& {{ r_{1} } \over { K_{1} }} x_{1} \left( K_{1} - x_{1} \right) \\ \dot{x_{2}} =& {{ r_{2} } \over { K_{2} }} x_{2} \left( K_{2} - x_{2} \right) \end{align*}

To this, we want to add terms representing the harm that each group causes to the other. The force hindering the growth of the opponents should be proportional to the strength of one’s own group. Therefore, for some constant β>0\beta > 0, it can be expressed as follows:

x1˙=r1K1x1(K1x1βx2)x2˙=r2K2x2(K2x2βx1) \begin{align*} \dot{x_{1}} =& {{ r_{1} } \over { K_{1} }} x_{1} \left( K_{1} - x_{1} - \beta x_{2} \right) \\ \dot{x_{2}} =& {{ r_{2} } \over { K_{2} }} x_{2} \left( K_{2} - x_{2} - \beta x_{1} \right) \end{align*}

This means that the growth rate slows down due to checks from the rival group, even though the environmental capacity is not fully utilized. However, as the extent to which the two species affect each other may not be the same, specifying β\beta further completes the system as follows:

x1˙=r1K1x1(K1x1β12x2)x2˙=r2K2x2(K2x2β21x1) \begin{align*} \dot{x_{1}} =& {{ r_{1} } \over { K_{1} }} x_{1} \left( K_{1} - x_{1} - \beta_{12} x_{2} \right) \\ \dot{x_{2}} =& {{ r_{2} } \over { K_{2} }} x_{2} \left( K_{2} - x_{2} - \beta_{21} x_{1} \right) \end{align*}

Equilibrium Points

  • Deadlock (K1,0)(0,K2) \left( K_{1}, 0 \right) \\ \left( 0, K_{2} \right)

  • Stalemate when β12β211\beta_{12}\beta_{21} \ne 1 (K1β12K21β12β21,K2β21K11β21β12) \left( { { K_{1} - \beta_{12} K_{2} } \over { 1 - \beta_{12} \beta_{21} } }, { { K_{2} - \beta_{21} K_{1} } \over { 1 - \beta_{21} \beta_{12} } } \right)

In the Lotka-Volterra competition model, non-trivial equilibrium points consist of circumstances where a deadlock or stalemate occurs.

  • A deadlock implies that in the competition between the two groups, one group completely eradicates the other, following the logistic growth model.
  • A stalemate means that both groups are perfectly matched in strength, achieving a balance and coexistence. An interesting aspect in the formula is that the parameters intended during the modeling phase transparently affect the coordinates of the equilibrium points.
  • However, these expressions are used for explanation in this post and not widely used.

Existence

0=r1K1x1(K1x1β12x2)0=r2K2x2(K2x2β21x1) \begin{align*} 0 =& {{ r_{1} } \over { K_{1} }} x_{1} \left( K_{1} - x_{1} - \beta_{12} x_{2} \right) \\ 0 =& {{ r_{2} } \over { K_{2} }} x_{2} \left( K_{2} - x_{2} - \beta_{21} x_{1} \right) \end{align*}

Let’s find the equilibrium points satisfying this.

Deadlock

Without loss of generality, assuming x10,x2=0x_{1} \ne 0, x_{2} = 0,

0=r1K1x1(K1x1)0=0 \begin{align*} 0 =& {{ r_{1} } \over { K_{1} }} x_{1} \left( K_{1} - x_{1} \right) \\ 0 =& 0 \end{align*}

we simply obtain the equilibrium point (K1,0)\left( K_{1}, 0 \right). Similarly, (0,K2)\left( 0, K_{2} \right) can be found.

Stalemate

Assuming x10,x20x_{1} \ne 0, x_{2} \ne 0 now, from the first equation we take x1x_{1}, from the second x2x_{2}, and then by eliminating the multiplied constants we simplify as follows:

0=K1x1β12x20=K2x2β21x1 \begin{align*} 0 =& K_{1} - x_{1} - \beta_{12} x_{2} \\ 0 =& K_{2} - x_{2} - \beta_{21} x_{1} \end{align*}

Finding solutions to this system of equations is similar to finding the intersection of two lines.

Moving the variables from the right side to the left side and expressing it in matrix form yields:

[1β12β211][x1x2]=[K1K2] \begin{bmatrix} 1 & \beta_{12} \\ \beta_{21} & 1 \end{bmatrix} \begin{bmatrix} x_{1} \\ x_{2} \end{bmatrix} = \begin{bmatrix} K_{1} \\ K_{2} \end{bmatrix}

If β12β211\beta_{12}\beta_{21} \ne 1, an inverse matrix exists, and

[1β12β211]1=11β12β21[1β12β211] \begin{bmatrix} 1 & \beta_{12} \\ \beta_{21} & 1 \end{bmatrix}^{-1} = { { 1 } \over { 1 - \beta_{12} \beta_{21} } } \begin{bmatrix} 1 & - \beta_{12} \\ - \beta_{21} & 1 \end{bmatrix}

hence,

[x1x2]=11β12β21[1β12β211][K1K2] \begin{bmatrix} x_{1} \\ x_{2} \end{bmatrix} = { { 1 } \over { 1 - \beta_{12} \beta_{21} } } \begin{bmatrix} 1 & - \beta_{12} \\ - \beta_{21} & 1 \end{bmatrix} \begin{bmatrix} K_{1} \\ K_{2} \end{bmatrix}

Stability

x1[r1x1K1x1β12x2K1]=r1K1(K12x1β12x2)x2[r1x1K1x1β12x2K1]=r1K1β12x1x1[r2x2K2x2β21x1K2]=r2K2β21x2x2[r2x2K2x2β21x1K2]=r2K2(K22x2β21x1) { { \partial } \over { \partial x_{1} } } \left[ r_{1} x_{1} {{ K_{1} - x_{1} - \beta_{12} x_{2} } \over { K_{1} }} \right] = { { r_{1} } \over { K_{1} } } \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} \right) \\ { { \partial } \over { \partial x_{2} } } \left[ r_{1} x_{1} {{ K_{1} - x_{1} - \beta_{12} x_{2} } \over { K_{1} }} \right] = - { { r_{1} } \over { K_{1} } } \beta_{12} x_{1} \\ { { \partial } \over { \partial x_{1} } } \left[ r_{2} x_{2} {{ K_{2} - x_{2} - \beta_{21} x_{1} } \over { K_{2} }} \right] = - { { r_{2} } \over { K_{2} } } \beta_{21} x_{2} \\ { { \partial } \over { \partial x_{2} } } \left[ r_{2} x_{2} {{ K_{2} - x_{2} - \beta_{21} x_{1} } \over { K_{2} }} \right] = { { r_{2} } \over { K_{2} } } \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} \right)

Thus, the Jacobian is as follows:

J=[r1K1(K12x1β12x2)r1K1β12x1r2K2β21x2r2K2(K22x2β21x1)] J = \begin{bmatrix} { { r_{1} } \over { K_{1} } } \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} \right) & - { { r_{1} } \over { K_{1} } } \beta_{12} x_{1} \\ - { { r_{2} } \over { K_{2} } } \beta_{21} x_{2} & { { r_{2} } \over { K_{2} } } \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} \right) \end{bmatrix}

Deadlock

Without loss of generality, let’s consider only the case where (K1,0)\left( K_{1} , 0 \right).

[r1K1(K12x1β12x2)r1K1β12x1r2K2β21x2r2K2(K22x2β21x1)](K1,0)=[r1β12r10β21r2] \begin{bmatrix} { { r_{1} } \over { K_{1} } } \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} \right) & - { { r_{1} } \over { K_{1} } } \beta_{12} x_{1} \\ - { { r_{2} } \over { K_{2} } } \beta_{21} x_{2} & { { r_{2} } \over { K_{2} } } \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} \right) \end{bmatrix}_{\left( K_{1} , 0 \right)} = \begin{bmatrix} - r_{1} & - \beta_{12} r_{1} \\ 0 & - \beta_{21} r_{2} \end{bmatrix}

The eigenvalues are solutions of

det(JλI)=(r1λ)(β21r2λ)+r1β12=λ2+(r1+β21r2)+r1r2β21+r1β12=0 \begin{align*} \det \left( J - \lambda I \right) &= \left( - r_{1} - \lambda \right) \left( - \beta_{21} r_{2} - \lambda \right) + r_{1} \beta_{12} \\ =& \lambda^{2} + \left( r_{1} + \beta_{21} r_{2} \right) + r_{1} r_{2} \beta_{21} + r_{1} \beta_{12} \\ =& 0 \end{align*}

According to the quadratic formula, given that r1r_{1}, r2r_{2}, β12\beta_{12}, β21\beta_{21} are all positive, it’s impossible for the real part to be positive as the imaginary part or real root, if present, cannot compensate enough for (r1+β21r2)- \left( r_{1} + \beta_{21} r_{2} \right). Therefore, the real parts must be negative, making equilibrium points (K1,0)\left( K_{1} , 0 \right) and (0,K2)\left( 0, K_{2} \right) stable.

Stalemate

If (x1,x2)=(K1β12K21β12β21,K2β21K11β21β12)\left( x_{1}, x_{2} \right) = \left( { { K_{1} - \beta_{12} K_{2} } \over { 1 - \beta_{12} \beta_{21} } }, { { K_{2} - \beta_{21} K_{1} } \over { 1 - \beta_{21} \beta_{12} } } \right) then

K12x1β12x2=K1β12β21K12K1+2β12K2β12K2+β12β21K11β12β21=K12K1+2β12K2β12K21β12β21=K1+β12K21β12β21 \begin{align*} K_{1} - 2 x_{1} - \beta_{12} x_{2} =& { { K_{1} - \beta_{12} \beta_{21} K_{1} - 2 K_{1} + 2 \beta_{12} K_{2} - \beta_{12} K_{2} + \beta_{12} \beta_{21} K_{1} } \over { 1 - \beta_{12} \beta_{21} } } \\ =& { { K_{1} - 2 K_{1} + 2 \beta_{12} K_{2} - \beta_{12} K_{2} } \over { 1 - \beta_{12} \beta_{21} } } \\ =& { { - K_{1} + \beta_{12} K_{2} } \over { 1 - \beta_{12} \beta_{21} } } \end{align*}

Similarly,

K22x1β21x1=K2+β21K11β12β21 \begin{align*} K_{2} - 2 x_{1} - \beta_{21} x_{1} = { { - K_{2} + \beta_{21} K_{1} } \over { 1 - \beta_{12} \beta_{21} } } \end{align*}

The eigenvalues of the Jacobian will be solutions satisfying:

0=K1K2r1r2det[J(x1,x2)λI]=K1K2r1r2[(r1K1(K12x1β12x2)λ)(r2K2(K22x2β21x1)λ)r1r2K1K2β12β21x1x2]=K1K2r1r2[r1K1(K12x1β12x2K1r1λ)r2K2(K22x2β21x1K2r2λ)r1r2K1K2β12β21x1x2]=(K12x1β12x2K1r1λ)(K22x2β21x1K2r2λ)β12β21x1x2=K1K2r1r2λ2[K2r2(K12x1β12x2)+K1r1(K22x2β21x1)]λ+(K12x1β12x2)(K22x2β21x1)β12β21x1x2=K1K2r1r2λ2[K2r2K1+β12K21β12β21+K1r1K2+β21K11β12β21]λ+(K12x1β12x2)(K22x2β21x1)β12β21x1x2=K1K2r1r2λ21r1r2(1β12β21)[r1K1K2+r1β12K22r2K2K1+r2β21K12]λ+(K12x1β12x2)(K22x2β21x1)β12β21x1x2=K1K2r1r2λ2+1r1r2(1β12β21)[r1K2(K1β12K2)+r2K1(K2β21K1)]λ+K1+β12K21β12β21K2+β21K11β12β21β12β21x1x2 \begin{align*} 0 =& { { K_{1} K_{2} } \over { r_{1} r_{2} } } \det \left[ J_{\left( x_{1} , x_{2} \right)} - \lambda I \right] \\ =& { { K_{1} K_{2} } \over { r_{1} r_{2} } } \left[ \left( { { r_{1} } \over { K_{1} } } \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} \right) - \lambda \right) \left( { { r_{2} } \over { K_{2} } } \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} \right) - \lambda \right) - { { r_{1} r_{2} } \over { K_{1} K_{2} } } \beta_{12} \beta_{21} x_{1} x_{2} \right] \\ =& { { K_{1} K_{2} } \over { r_{1} r_{2} } } \left[ { { r_{1} } \over { K_{1} } } \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} - { { K_{1} } \over { r_{1} } } \lambda \right) { { r_{2} } \over { K_{2} } } \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} - { { K_{2} } \over { r_{2} } } \lambda \right) - { { r_{1} r_{2} } \over { K_{1} K_{2} } } \beta_{12} \beta_{21} x_{1} x_{2} \right] \\ =& \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} - { { K_{1} } \over { r_{1} } } \lambda \right) \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} - { { K_{2} } \over { r_{2} } } \lambda \right) - \beta_{12} \beta_{21} x_{1} x_{2} \\ =& { { K_{1} K_{2} } \over { r_{1} r_{2} } } \lambda^{2} - \left[ { { K_{2} } \over { r_{2} } } \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} \right) + { { K_{1} } \over { r_{1} } } \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} \right) \right] \lambda \\ & + \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} \right) \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} \right) - \beta_{12} \beta_{21} x_{1} x_{2} \\ =& { { K_{1} K_{2} } \over { r_{1} r_{2} } } \lambda^{2} - \left[ { { K_{2} } \over { r_{2} } } { { - K_{1} + \beta_{12} K_{2} } \over { 1 - \beta_{12} \beta_{21} } } + { { K_{1} } \over { r_{1} } } { { - K_{2} + \beta_{21} K_{1} } \over { 1 - \beta_{12} \beta_{21} } } \right] \lambda \\ & + \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} \right) \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} \right) - \beta_{12} \beta_{21} x_{1} x_{2} \\ =& { { K_{1} K_{2} } \over { r_{1} r_{2} } } \lambda^{2} - { { 1 } \over { r_{1} r_{2} \left( 1 - \beta_{12} \beta_{21} \right) } } \left[ - r_{1} K_{1} K_{2} + r_{1} \beta_{12} K_{2}^{2} - r_{2} K_{2} K_{1} + r_{2} \beta_{21} K_{1}^{2} \right] \lambda \\ & + \left( K_{1} - 2 x_{1} - \beta_{12} x_{2} \right) \left( K_{2} - 2 x_{2} - \beta_{21} x_{1} \right) - \beta_{12} \beta_{21} x_{1} x_{2} \\ =& { { K_{1} K_{2} } \over { r_{1} r_{2} } } \lambda^{2} + { { 1 } \over { r_{1} r_{2} \left( 1 - \beta_{12} \beta_{21} \right) } } \left[ r_{1} K_{2} \left( K_{1} - \beta_{12} K_{2} \right) + r_{2} K_{1} \left( K_{2} - \beta_{21} K_{1} \right) \right] \lambda \\ & + { { - K_{1} + \beta_{12} K_{2} } \over { 1 - \beta_{12} \beta_{21} } } { { - K_{2} + \beta_{21} K_{1} } \over { 1 - \beta_{12} \beta_{21} } } - \beta_{12} \beta_{21} x_{1} x_{2} \end{align*}

As seen in the formula, the parameters that most affect the stability of the equilibrium points are K1K_{1}, K2K_{2}, β12\beta_{12}, β21\beta_{21}, depending on whether KiK_{i} is greater or lesser than βijKj\beta_{ij} K_{j}. In an extreme case, if all βij\beta_{ij} are 00 such that there’s absolutely no competition, regardless of the opposing group, they will simply undergo individual logistic growth and converge to a stable equilibrium. However, if the competition is too severe, as soon as they diverge from the exact equilibrium, even slightly, the group with a slight advantage will try to annihilate the other. The term ‘instability’ fits perfectly in a mathematical expression. However, without knowing how the eigenvalues will be calculated based on the parameters, this equilibrium can be stable, unstable, or a saddle.

Example

x1˙=x1(3x12x2)x2˙=x2(2x2x1) \begin{align*} \dot{x_{1}} =& x_{1} \left( 3 - x_{1} - 2 x_{2} \right) \\ \dot{x_{2}} =& x_{2} \left( 2 - x_{2} - x_{1} \right) \end{align*}

The above system proposes the Lotka-Volterra competition model, considering x1x_{1} as rabbits and x2x_{2} as sheep. Although the two species don’t directly harm each other, it’s assumed they compete for food by sharing the same pasture. Since sheep are larger than rabbits, in terms of carrying capacity, rabbits are affected less by sheep than vice versa. The non-trivial solution of this system is as follows2.

(3,0)(0,2)(1,1) (3,0) \\ (0,2) \\ (1,1)

Especially for (1,1)(1,1), which becomes J(1,1)=[1211]J_{(1,1)}=\begin{bmatrix} -1 & -2 \\ -1 & -1 \end{bmatrix}, the eigenvalues are 1±2-1 \pm \sqrt{2}, containing both positive and negative, making it a saddle.

Visual Understanding

vector field gif

The animation above depicts the vector field of the example. Regardless of the starting point, trajectories towards the equilibrium points can be observed, among which (1,1)(1,1) is a saddle, causing the points near it to head towards stable equilibrium points (3,0)(3,0) or (0,2)(0,2). This implies that without achieving perfect coexistence from the start, if one side is even slightly advantageous, the balance will gradually tilt in its favor.

Limitations

In this model, the case where the two populations achieve balance and coexist accounts for only a single point in the vast first quadrant. Despite competition, this is exceedingly extreme; indeed, this stems from the overly simplistic nature of the current Lotka-Volterra competition model. Naturally, using this model alone to approach real-world problems is impractical.


  1. Allen. (2006). An Introduction to Mathematical Biology: p248. ↩︎

  2. Strogatz. (2015). Nonlinear Dynamics And Chaos: With Applications To Physics, Biology, Chemistry, And Engineering(2nd Edition): p157. ↩︎