Lotka-Volterra

A population of prey (rabbits) and a population of predators (foxes). Rabbits multiply; foxes eat rabbits and multiply when fed; foxes starve when rabbits are gone; rabbits explode when foxes thin out. The system oscillates forever: closed loops in phase space, with explicit period and amplitude determined by initial conditions.

Populations over time
Phase space (rabbits vs foxes)
α (prey birth) 1.10
β (predation) 0.40
γ (predator death) 0.40
δ (conversion) 0.10
predator-prey dynamics from two simple rules
The Lotka-Volterra equations (Lotka 1925, Volterra 1926):

dR/dt = α R − β R F (rabbits grow exponentially, die when foxes eat them)
dF/dt = δ R F − γ F (foxes grow when fed, die when starving)

Conservation law: V(R, F) = δR − γ ln R + βF − α ln F is constant along trajectories. So orbits are closed curves in (R, F) phase space — populations cycle forever.

Equilibrium point: R* = γ/δ, F* = α/β. This is a center (neutral stability) in the linearized analysis: small perturbations don't grow or decay, they orbit. In real biology, noise eventually washes out the cycles — but Volterra's actual data on Adriatic fish populations 1914-23 showed three full oscillations matching this model.

Click anywhere on the phase plot to start a new trajectory from that point. Notice: orbits closer to the equilibrium are smaller closed curves; far from equilibrium, larger swings. The period of the cycle depends only on the parameters (α, β, γ, δ) and slightly on amplitude — small oscillations have period T = 2π/√(αγ).

Real implications: this is the simplest model of ecological boom-bust cycles. The Canadian lynx-hare population data (Hudson's Bay Company fur records 1845-1935) shows oscillations matching Lotka-Volterra within an order of magnitude. The same equations apply to viruses and hosts (predator-prey at the molecular scale), to oscillating chemical reactions, and — by extension to game theory — to evolutionary cycles in populations of strategies.