WHEN EQUATIONS FIGHT: The Messy, Beautiful Math of Competing Species
Nature is not peaceful. Beneath every meadow and coral reef runs a silent negotiation between creatures that eat and creatures that are eaten, between populations that boom and populations that crash. For most of human history, we described this drama in words — the lion chases the gazelle, the gazelle population falls, the lion grows hungry. It took two men working independently in the early twentieth century to realise that this ancient story could be written far more precisely: in differential equations.
Alfred Lotka, an American mathematician, published his predator-prey equations in 1925. Vito Volterra, an Italian physicist, derived the same system a year later — reportedly after his son-in-law, a marine biologist, noticed that Adriatic fish catches during World War One showed strange oscillations in the ratio of predatory to prey fish. The war had reduced fishing pressure, and the numbers had swung wildly. Volterra wanted to know why. What they both discovered was a pair of coupled equations that would become one of the most influential models in the history of science.
The Equations Themselves
The Lotka-Volterra system describes two populations: prey (rabbits, say) with population x, and predators (foxes) with population y. Their rates of change over time are:
dx/dt = αx − βxy
dy/dt = δxy − γy
Read these slowly, because every term is a story. The prey population grows at rate α when left alone — this is natural reproduction. But it shrinks at rate βxy, meaning every encounter between a predator and a prey animal carries a risk of death; more foxes and more rabbits means more encounters. The predator population, meanwhile, grows at rate δxy — predators thrive when food is abundant — but dies off at rate γy when prey becomes scarce. Four parameters, two equations, and you have captured the essential pulse of predation.
import numpy as np
from scipy.integrate import odeint
def lotka_volterra(state, t, alpha, beta, delta, gamma):
x, y = state
dxdt = alpha * x - beta * x * y
dydt = delta * x * y - gamma * y
return [dxdt, dydt]
# Parameters
alpha, beta, delta, gamma = 1.0, 0.1, 0.075, 1.5
state0 = [10, 5] # initial populations
t = np.linspace(0, 50, 1000)
solution = odeint(lotka_volterra, state0, t,
args=(alpha, beta, delta, gamma))
Simulate this and you get something immediately surprising: neither population stabilises. They oscillate, perpetually. Rabbits multiply, foxes feast and multiply, rabbits are driven down, foxes starve and decline, rabbits recover — and the whole cycle repeats. The system never settles. It breathes.
Why Oscillation Matters
This is the first great gift of the Lotka-Volterra model: it shows that instability can be structural, not accidental. We are tempted to look for a cause every time a population crashes — a disease, a drought, a human intervention. But the mathematics says that even in a perfectly controlled environment, with fixed birth rates and no external shocks, predator and prey populations will cycle endlessly. The oscillation is built into the relationship itself.
Plot the two populations against each other — predator on one axis, prey on the other — and you get a closed oval loop called a phase portrait. The system circles this loop forever. Different starting conditions produce different-sized ovals, but all of them orbit the same fixed point: the equilibrium where both populations would theoretically hold steady. That point, however, is unstable in the sense that the system never actually rests there. It perpetually orbits it, like a planet that never quite falls into the sun.
The Model Breaks — and That's the Point
The Lotka-Volterra equations are, by any rigorous standard, wrong. Real ecosystems do not produce perfect ovals. Prey populations don't grow without limit when predators vanish — they hit carrying capacities, run out of food, suffer disease. Predators have handling times; a fox can only eat so many rabbits per hour regardless of how many are available. The environment fluctuates. There are more than two species.
Every one of these objections is fair. And every one led to a richer equation. Add a carrying capacity K for the prey population and you get the logistic predator-prey model. Add a Holling Type II functional response — the predator's satiation limit — and the dynamics change dramatically; cycles can collapse into stable equilibria, or spiral outward into chaos. Introduce a third species, a competing herbivore perhaps, and you begin to see why real ecosystems are so difficult to manage: the mathematics becomes genuinely unpredictable.
This is the second gift of the Lotka-Volterra framework: it is a gateway, not a destination. Its very failures are pedagogically useful. When the simple model breaks against a real dataset, the breakage tells you something true about the world.
From Biology to Economics
Lotka and Volterra were writing about fish and rabbits. But differential equations do not care what their variables represent. The same mathematical skeleton has been applied to market competition between firms, where one company's growth rate depends on its market share and the existence of a competitor sapping that share. It appears in epidemiology, where susceptible populations are "preyed upon" by infectious agents. It appears in arms race models — Richardson's equations, developed around the same era — where two nations' military spending rates are coupled in almost identical form.
Perhaps most provocatively, economists have applied predator-prey dynamics to the relationship between wages and employment. In the Goodwin model of 1967, workers' share of national income and the employment rate oscillate in a cycle that maps almost exactly onto Lotka-Volterra. Capital "preys" on labour; a thriving labour market pushes up wages until profits are squeezed and investment falls; unemployment rises, wages fall, profits recover, and the cycle begins again. Whether or not you find this politically persuasive, the mathematics is structurally identical to foxes and rabbits.
What Equations Teach Us About Conflict
The deepest lesson of Lotka-Volterra is not about foxes or markets or arms races individually. It is about the nature of dynamic equilibrium itself. We tend to think of balance as stillness — a scale with equal weights that doesn't move. The predator-prey model suggests that real balance is more often a controlled oscillation: systems that look stable from a distance are, up close, perpetually overshooting and correcting.
This matters practically. Conservation biologists who tried to help threatened prey species by culling predators sometimes found that prey populations boomed, then crashed catastrophically — because the oscillation, deprived of its natural structure, flew apart. Economists who assumed markets self-corrected to a stable equilibrium watched the 2008 financial crisis unfold instead.
The equations were trying to warn us. Written in 1925 and 1926 by men thinking about tuna and plankton in the Adriatic Sea, they encoded a truth that applies wherever two forces depend on each other for survival: the fight is never over, the balance is never still, and the mathematics was always more honest than the intuition.
Bibliography
Lotka, A. J. (1925). Elements of Physical Biology. Williams & Wilkins.
Volterra, V. (1926). Fluctuations in the abundance of a species considered mathematically. Nature, 118(2972), 558–560.
May, R. M. (1973). Stability and Complexity in Model Ecosystems. Princeton University Press.
Holling, C. S. (1959). The components of predation as revealed by a study of small-mammal predation of the European pine sawfly. The Canadian Entomologist, 91(5), 293–320.
Goodwin, R. M. (1967). A growth cycle. In C. H. Feinstein (Ed.), Socialism, Capitalism and Economic Growth. Cambridge University Press, 54–58.
Richardson, L. F. (1960). Arms and Insecurity: A Mathematical Study of the Causes and Origins of War. Boxwood Press.
Strogatz, S. H. (1994). Nonlinear Dynamics and Chaos: With Applications to Physics, Biology, Chemistry, and Engineering. Addison-Wesley.
Murray, J. D. (2002). Mathematical Biology I: An Introduction (3rd ed.). Springer.
Berryman, A. A. (1992). The origins and evolution of predator-prey theory. Ecology, 73(5), 1530–1535.
Boyce, W. E., & DiPrima, R. C. (2012). Elementary Differential Equations and Boundary Value Problems (10th ed.). Wiley.