Talk:Lotka-Volterra equation
From Wikipedia, the free encyclopedia
Help! Can anyone give me the equations for Volterra-Lotka equations for three species.
What I'm talking about is
Fox eats Rabbit
Rabbit eats Carrot
Carrot eats sunlight (infinite supply of sunlight)
Sure, I can give lots of them. Let C, R, F denote mass of Carrots, number of Rabbits, and number of Foxes. For each of C, R, and F I will give several equations, increading in realisticness. All parameters are >= 0.
Carrot equation:
C1. C' = a - bR. This assumes the number of carrots is fixed ( they do not get killed, or propagate), a is the total growth due to sunlight, and b is how much is eaten by a rabbit.
C2. C' = aC - bR. This assumes a = p - d is the difference of the propagation rate and the 'old age' death rate for carrots. This implies unlimited exponential growth in the abscence of rabbits.
C3. C' = a ( 1 - C/maxC ) C - bR. This is called a 'logistic' equation, it assumes a 'maximum mass of carrots' called MaxC. This is appropriate in the likely event that you are dealing with a finite area for your ecology experiment. This ODE gives an 'S shaped curve', rapidly growing from 0, and slowly approaching 1. This is the best equation to use, unless you are looking for an easy equation. This ignores the effect that if carrots get low, the rabbits will have a hard time finding them. if you want to deal with that effect, see the F' equations below for ideas. In many situations, the foxes keep the rabbits from eating too many carrots.
Rabbit equations. Most Lotka-Volterra models use an absurd simple Rabbit - fox interaction term of R*F, which would indicate each fox eats a fixed proportion of all the rabbits. The only good thing about that is it leads to the simplest nonlinear term.
R1. R' = cR - d RF. This is the standard lame equation ( ignoring for the moment rabbit food).
R2. R' = R [ -e + f(C/R) ] / [ 1 + g(C/R) ] = R [ -eR + fC ] / [ R + gC ]. This is a pretty good equation for the rabbit food aspect, ignoring the foxes for the moment. Here -e indicates how fast rabbits starve if the ratio C/R goes to zero, and f/g indicates how fast rabbit population grows when there are plenty of carrots to go around. For a fixed f/g, you can fiddle with f and g to better fit whatever data you have.
R3. R' = R [ -eR + fC ] / [ R + gC ] - hF. Here we assume the foxes have no trouble finding rabbits, and each one eats h rabbits per unit time.
R4. R' = R [ -eR + fC ] / [ R + gC ] - hRF / [ kF + R ]. Here each fox eats h rabbits if there are plenty to go around, and 0 as the R/F ratio goes to zero. k is a free parameter to help fit whatever curve you thing is best.
F1 F' = F [ - m + pR ]. Traditional lame equation.
F2. F' = F [ -mF + pR ] / [ F + nR ]. Here -m is the death rate due to starvation when there are no rabbits around. p/n is the birth - (old age) death rate for well fed rabbits. p and n can be adjusted to fit whatever. For example, if you have a guess for what the R/F ratio is that keeps the Fox population constant, choose p so that m/p = stable(R/F).
equation summary: A good balance between reality and simplicity is
C' = a ( 1 - C/maxC ) C - bR R' = R [ -eR + fC ] / [ R + gC ] - hRF / [ kF + R ] F' = F [ -mF + pR ] / [ F + nR ]
Before working with this set of equations, simplify by 'scaling away parameters'. You can scale four paramiters (C, R, F, and time) which will allow you to eliminate 4 of the 11 parameters. The simplist is to measure C in units of maxC, so that maxC becomes 1. There are many ways to simplify the remaining equations. For example, letting replacing R with gR and F with (g/k)F removes the parameters in the denominators of the R' equation. Scaling time by a eliminates the a. This leads to ( the parameters will now have different values ):
C' = C ( 1 - C ) - b R R' = R [ -eR + fC ] / [ R + C ] - hRF / [ F + R ] F' = F [ -mF + pR ] / [ F + nR ]
Thus you have a three dimensional ODE with seven parameters.
The first step in the analysis is to find the (nontrivial) critical points, which are values of (C,R,F) where all right hand sides are zero.
This will require
R = C(1-C)/b, F = pR/m, [-eR + fC ] / [ R+C ] = hF / [F+R ].
subbing the second eqn into the third:
-eR + fC = [ hp / (m+p) ] [ R + C ].
subbing in the first equation:
(m+p) [ (bf-e)C + eC^2 ] = hp [ ( 1+b)C - C^2 ].
Dividing thru by C:
(m+p) [ (bf-e) + eC ] = hp [ ( 1+b) - C ]
which leads to
C = [ ( e - bf ) ( m + p ) + ( 1 + b ) hp ] / [ ( m + p ) e + hp ].
From this you can find R, and then F.
Obviously the parameters ( b,e,f,h,m,p ) will have to be such that C, R, and F are > 0. The parameter n does not affect the critical point. Interesting.
From this point on you will probably need computer assistance.
Next you classify this critical point. Find the three eigenvalues of the frechet derivative (this is a three by three matrix of partial derivatives) evaluated at the CP. If you are looking for a cyclical population situation, you probably need a complex conjugate pair with positive real part, or maybe a pure imaginary complex pair, and the third eigenvalue a positive real.
Finding the regions in (b,e,f,h,m,p) space where these two events happen would be nice, but likely involve a lot of UGLY work, maybe Monte Carlo simulation. (BTW be sure to use a GOOD random number generator. Contact me for advice. It might be a good time to find some realistic value ranges for b, e, f, h, m, n, and p.
Ralph Kelsey --132.235.14.20 08:08, 5 Nov 2004 (UTC)
Contents |
[edit] Discrete version
Is there a discrete version? I would expect it to be able to produce chaotic results.--Henrygb 16:35, 17 Mar 2005 (UTC)
I know the competetive version of the equations produce chaos in 4d and up systems. I've also run across papers indicating that higher dimensional systems will also produce period doubling and limit cycles. Vortmax 22:50, 2 December 2006 (UTC)
[edit] Analytic solution
There is only approximate solution revealed in this article. But what about strong analytic solution? I know (thanks for Maple) that it is expressed in terms of LambertW function. But it may be interesting if this solution would be referred in article not in so vaguely manner.
[edit] Volterra-Lotka equations.
I would like to know if the solutions of Volterra-Lotka equations are unique and global.
Reply: Yes, they are: the vector field is C1.
[edit] Little problem with second EP
In the analysis of the second EP, the terminology and tools used are good for linear systems, not for nonlinear systems such as the LV system. ~~
That's correct and I noticed it too. All the complex eigen values reveal is that the fixed point is periodic, but does not reveal if it is a center or a stable spiral.
You have to eliminate the time dependance by dividing the dy/dt equation by dx/dt equation, which by the chain rule gives a single seperable equation for dy/dx. When you seperate this and integrate you are left with an equation in x and y which you can relate to a third variable (magnitude) giving level sets of the origional equations. Since f(x) and f(y) approach 0 as x&y approach infinity, the level curve is closed. This translates into the closed orbits. Vortmax 22:46, 2 December 2006 (UTC)Matt