Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Big Idea

A population of cells grows in proportion to its own size, because every cell divides and dies on its own. When two types of cell grow side by side, the fraction of one type obeys an equation of its own, always of the shape p˙=(r1−r2) p(1−p)\dot p = (r_1 - r_2)\,p(1-p). With constant rates the faster type always takes over completely. When each type changes the environment of the other, the rates depend on pp, and the two types can settle into a stable mixture.

Cells that divide and die

Biology background: cell division

A cell reproduces by dividing into two. A bacterium such as E. coli does this every 20 to 30 minutes when food is plentiful. Cells also die. A bacterium carries one copy of each of its genes, and both daughter cells receive a copy. This is the difference between bacteria and people at the end of this page.

Let N(t)N(t) be the number of cells. The balance is

dNdt=births−deaths.\frac{\dd N}{\dd t} = \text{births} - \text{deaths} .

Mechanism: every cell divides with the same chance per unit time, β\beta, and dies with the same chance per unit time, δ\delta, independently of the other cells. Each term is then proportional to NN, exactly as decay was proportional to CC in Rates In, Rates Out:

dNdt=βN−δN=rN,r=β−δ.\frac{\dd N}{\dd t} = \beta N - \delta N = rN, \qquad r = \beta - \delta .

rr is the per-capita growth rate: the net rate per cell, in 1/time1/\text{time}. The solution is N(t)=N0 ertN(t) = N_0\,e^{rt}: growth if r>0r > 0, extinction if r<0r < 0. The half-life formula run forwards gives the doubling time ln⁡2/r\ln 2/r. For example, E. coli doubling every 20 min has r=ln⁡2/(20 min)≈0.035r = \ln 2/(20\ \text{min}) \approx 0.035/min ≈2.1\approx 2.1/h.

“Per capita” is the whole assumption

N˙=rN\dot N = rN says that each cell behaves the same way however many other cells there are. That is reasonable in a fresh culture with plenty of food. It fails once the cells compete for food or space, and then exponential growth has to stop.

Crowding: the logistic equation

The fix is to let the per-capita rate depend on NN:

1NdNdt=g(N).\frac{1}{N}\frac{\dd N}{\dd t} = g(N) .

Exponential growth is the case g(N)=rg(N) = r. For a crowded culture we want three things:

  1. g(0)=r>0g(0) = r > 0. A few cells in a large dish do not notice each other and grow exponentially.

  2. gg decreases. Every extra cell leaves less food and space for the others.

  3. g(K)=0g(K) = 0 for some population KK. There births balance deaths.

The simplest function with all three properties is the straight line through (0,r)(0, r) and (K,0)(K, 0):

g(N)=r(1−NK).g(N) = r\Big(1 - \frac{N}{K}\Big) .

KK is the carrying capacity, the population that the environment supports.

A straight line has a mechanism behind it. In a crowded dish a cell divides less often, because it gets less food, and dies more often, because waste builds up. Each cell competes with each of the other cells, so the harm to one cell grows in proportion to NN:

β(N)=β0−β1N,δ(N)=δ0+δ1N.\beta(N) = \beta_0 - \beta_1 N, \qquad \delta(N) = \delta_0 + \delta_1 N .

Then g(N)=β(N)−δ(N)=(β0−δ0)−(β1+δ1)Ng(N) = \beta(N) - \delta(N) = (\beta_0 - \delta_0) - (\beta_1 + \delta_1)N, which is (4) with

r=β0−δ0,K=rβ1+δ1.r = \beta_0 - \delta_0, \qquad K = \frac{r}{\beta_1 + \delta_1} .

So rr is the per-capita growth rate of a sparse population, the fastest the cells ever grow. KK is not a property of a single cell. It is the population at which crowding cancels growth: large when the cells grow fast or barely harm each other. Multiplying (4) by NN gives the model.

Definition 1 (Logistic growth)

dNdt=f(N)=rN(1−NK),r, K>0.\frac{\dd N}{\dd t} = f(N) = rN\Big(1 - \frac{N}{K}\Big), \qquad r,\, K > 0 .

Proposition 1 (Steady states of logistic growth)

The logistic equation (7) has two steady states: N=0N = 0, which is unstable, and N=KN = K, which is stable. Every solution with N0>0N_0 > 0 tends to KK, and near KK it returns at rate rr.

Proof 1

f(N)=0f(N) = 0 at N=0N = 0 and N=KN = K. ff is a downward parabola, positive between them and negative for N>KN > K, so the arrows on the phase line point toward KK from both sides. With f′(N)=r−2rN/Kf'(N) = r - 2rN/K,

f′(0)=r>0(unstable),f′(K)=−r<0(stable),f'(0) = r > 0 \quad\text{(unstable)}, \qquad f'(K) = -r < 0 \quad\text{(stable)},

and the slope test (Proposition 1) gives the rate rr.

This is the rule of Remark 1 at work: the gain rNrN is the first power of NN and the loss rN2/KrN^2/K the second, so the loss wins at large NN and a stable steady state exists.

Check the boundary states too

N=0N = 0 is a steady state as well. It is unstable: one cell in an empty dish grows. It is easy to check only the interior steady state, but in the models that follow the result often depends entirely on the boundary states.

History: Malthus, Verhulst and Darwin

In 1798 Thomas Malthus argued that a population left to itself grows geometrically, while its food supply does not, so growth must eventually be checked by famine and disease Malthus, 1798. In 1838 Charles Darwin read Malthus and saw in the resulting struggle for existence the engine of natural selection. In the same year, independently, the Belgian mathematician Pierre-François Verhulst asked what equation such a check would give, and proposed (7) Verhulst, 1838. His paper was forgotten until Raymond Pearl and Lowell Reed rediscovered the equation for the United States census in 1920 Pearl & Reed, 1920. In the 1930s Georgii Gause grew yeast and Paramecium in test tubes and found the same S-shaped curve Gause, 1934.

Two types in one population

Now grow two types of cell together, for example two strains of bacteria. Call their numbers N1N_1 and N2N_2, and suppose each grows at its own per-capita rate:

N˙1=r1N1,N˙2=r2N2.\dot N_1 = r_1 N_1, \qquad \dot N_2 = r_2 N_2 .

Often we do not care how many cells there are, only what fraction is of type 1:

p=N1N1+N2,0≤p≤1.p = \frac{N_1}{N_1 + N_2}, \qquad 0 \le p \le 1 .

Proposition 2 (The fraction equation)

If N˙1=r1N1\dot N_1 = r_1 N_1 and N˙2=r2N2\dot N_2 = r_2 N_2, the fraction p=N1/(N1+N2)p = N_1/(N_1 + N_2) satisfies

p˙=(r1−r2) p (1−p).\dot p = (r_1 - r_2)\,p\,(1 - p) .

The derivation uses the two equations at a single instant only. It therefore holds unchanged when r1r_1 and r2r_2 change in time or depend on pp.

Proof 2

By the quotient rule and (9),

p˙=N˙1(N1+N2)−N1(N˙1+N˙2)(N1+N2)2=N1N2 (r1−r2)(N1+N2)2,\dot p = \frac{\dot N_1 (N_1 + N_2) - N_1 (\dot N_1 + \dot N_2)}{(N_1 + N_2)^2} = \frac{N_1 N_2\,(r_1 - r_2)}{(N_1 + N_2)^2} ,

and N1/(N1+N2)=pN_1/(N_1+N_2) = p, N2/(N1+N2)=1−pN_2/(N_1+N_2) = 1-p.

Only the difference r1−r2r_1 - r_2 appears. If both types are crowded by the same amount, so that the same cc is subtracted from r1r_1 and from r2r_2, nothing changes: whether the whole population grows, shrinks, or sits at its carrying capacity does not affect the fraction.

p(1−p)p(1-p) is not crowding

(11) looks like the logistic equation, but nothing here is crowded: both populations grow exponentially forever. The factor p(1−p)p(1-p) comes from the quotient rule. It says that the fraction cannot change when only one type is present, because a fraction changes only by comparing two types.

Corollary 1 (With constant rates the faster type takes over)

Let r1>r2r_1 > r_2 be constant. Then p=0p = 0 is unstable, with f′(0)=r1−r2>0f'(0) = r_1 - r_2 > 0, p=1p = 1 is stable, with f′(1)=−(r1−r2)<0f'(1) = -(r_1 - r_2) < 0, and there is no steady state in between. Explicitly, the odds p/(1−p)=N1/N2p/(1-p) = N_1/N_2 grow exponentially,

p(t)1−p(t)=p01−p0 e(r1−r2)t.\frac{p(t)}{1 - p(t)} = \frac{p_0}{1 - p_0}\,e^{(r_1 - r_2)t} .

Proof 3

The slopes follow from differentiating f(p)=(r1−r2) p(1−p)f(p) = (r_1 - r_2)\,p(1-p), and f>0f > 0 on (0,1)(0, 1). For the odds, N1/N2=(N1(0)/N2(0)) e(r1−r2)tN_1/N_2 = (N_{1}(0)/N_{2}(0))\,e^{(r_1 - r_2)t} by (9).

The two types never coexist. The time scale is 1/∣r1−r2∣1/|r_1 - r_2|, set by the difference of the rates, which can be much slower than either rate alone.

Example: antibiotic resistance

Biology background: resistance genes

Some bacteria carry a gene that lets them survive an antibiotic, for example by pumping the drug out of the cell. Making the pump costs the cell energy, so when there is no drug around, resistant cells often divide slightly more slowly than sensitive ones.

Example 1 (Losing resistance once the drug is gone)

Illustrative numbers: without the drug, sensitive cells grow at rsen=2.0r_\mathrm{sen} = 2.0/h and resistant cells at rres=1.9r_\mathrm{res} = 1.9/h, a cost of 5%5\%. With pp the resistant fraction, (11) gives

p˙=−0.1 p (1−p)per hour.\dot p = -0.1\,p\,(1 - p) \quad\text{per hour} .

Each type doubles in about 20 minutes, but the fraction changes on the time scale 1/0.1=101/0.1 = 10 h. By (13), going from p=0.5p = 0.5 (odds 1) to p=0.05p = 0.05 (odds 1/191/19) takes ln⁡19/0.1≈29\ln 19 / 0.1 \approx 29 h.

Source
<Figure size 936x364 with 2 Axes>

Left: sensitive and resistant bacteria both grow exponentially, and on a logarithmic axis their lines are nearly parallel. Right: the resistant fraction still falls from 0.5 toward 0, over tens of hours, because only the difference rres−rsen=−0.1r_\mathrm{res} - r_\mathrm{sen} = -0.1/h matters.

Example: resistance that protects its neighbours

In Example 1 the two strains ignore each other. Each grows at a fixed rate, and the winner is decided before the experiment starts. Competition is more interesting when what one cell does changes the surroundings of the others.

Biology background: destroying the drug

Penicillin and its relatives, such as ampicillin, are the most widely used antibiotics. Many bacteria resist them not with a pump but with an enzyme, β-lactamase, that cuts the drug molecule apart. Drug that enters a resistant cell is destroyed, so the drug level in the whole culture falls. Sensitive cells in the same culture then survive without paying for the enzyme.

Let pp be the resistant fraction. The mechanism, one sentence per term:

Write a=kD0a = kD_0, the kill rate of sensitive cells at the full dose. Then

rres−rsen=(r−c)−(r−a(1−p))=a(1−p)−c.r_\mathrm{res} - r_\mathrm{sen} = (r - c) - \big(r - a(1-p)\big) = a(1 - p) - c .

The common rate rr cancels, as it must. The difference now depends on pp, and Proposition 2 still applies.

Definition 2 (Resistance as a shared good)

p˙=f(p)=p (1−p) [ (a−c)−a p ],0≤p≤1,\dot p = f(p) = p\,(1-p)\,\big[\,(a - c) - a\,p\,\big], \qquad 0 \le p \le 1,

with the kill rate a>0a > 0 and the cost c>0c > 0 in 1/h1/\text{h}.

AssumptionIn wordsWhat it buysWhen it fails
fixed costmaking the enzyme slows a cell by the same amount whatever the others dorres=r−cr_\mathrm{res} = r - cthe enzyme is made only when drug is present
drug set by the fractionthe drug is broken down fast compared with cell division, and its level falls in proportion to ppD=D0(1−p)D = D_0(1-p), one equationthe level depends on the number of resistant cells, not only their fraction
well mixedevery cell feels the same drug levelone DD for all cellscolonies on a plate, biofilms

Proposition 3 (Resistant and sensitive cells coexist)

If a>ca > c, the shared-good model (16) has a third steady state

p∗=1−cap^\ast = 1 - \frac{c}{a}

in (0,1)(0, 1). Both pure states p=0p = 0 and p=1p = 1 are unstable, and every solution with 0<p0<10 < p_0 < 1 tends to p∗p^\ast. If a≤ca \le c, every solution with p0<1p_0 < 1 tends to 0.

Proof 4

f(p)=0f(p) = 0 at p=0p = 0, p=1p = 1, and where the bracket vanishes, at p∗p^\ast. The bracket decreases in pp, from a−ca - c at p=0p = 0 to −c<0-c < 0 at p=1p = 1.

If a>ca > c, the bracket is positive at p=0p = 0, so f>0f > 0 on (0,p∗)(0, p^\ast) and f<0f < 0 on (p∗,1)(p^\ast, 1), and the arrows point toward p∗p^\ast from both sides. The slopes are

f′(0)=a−c>0,f′(1)=c>0,f′(p∗)=−a p∗(1−p∗)<0.f'(0) = a - c > 0, \qquad f'(1) = c > 0, \qquad f'(p^\ast) = -a\,p^\ast(1 - p^\ast) < 0 .

If a≤ca \le c, the bracket is negative on (0,1](0, 1], so f<0f < 0 on (0,1)(0, 1) and every arrow points toward 0.

Compared with constant rates, one new steady state has appeared between the ends and taken the stability. The phase line reads as a story. When resistant cells are rare, the drug is at full strength, sensitive cells are killed at rate aa, and paying cc is worth it. When resistant cells are common, they have cleaned up the drug, and the sensitive cells enjoy a drug-free culture without paying cc. Each type does best when it is rare, so neither can take over. Biologists call the sensitive cells cheaters.

Remark 1 (Changing the dose)

With no drug, a=0a = 0, (16) is p˙=−c p(1−p)\dot p = -c\,p(1-p), the constant-rate model of Example 1. Doubling the dose doubles aa, and p∗=1−c/ap^\ast = 1 - c/a moves toward 1: more drug, more resistant cells, but the sensitive cells never vanish. Yurtsev and colleagues grew β-lactamase-producing and sensitive E. coli together in ampicillin and saw exactly this: from any starting mixture the culture settled to the same resistant fraction, and that fraction rose with the dose Yurtsev et al., 2013.

Example 2 (A low dose)

Keep the cost c=0.1c = 0.1/h of Example 1 and give a dose that slows sensitive cells by a=0.5a = 0.5/h. Then p∗=1−0.1/0.5=0.8p^\ast = 1 - 0.1/0.5 = 0.8: four resistant cells for every sensitive one. Near p∗p^\ast the time scale is 1/∣f′(p∗)∣=1/(0.5⋅0.8⋅0.2)=12.51/|f'(p^\ast)| = 1/(0.5 \cdot 0.8 \cdot 0.2) = 12.5 h.

Source
<Figure size 936x364 with 2 Axes>

Left: the right-hand side of (16) for a=0.5a = 0.5/h and c=0.1c = 0.1/h. Right: four cultures started with different resistant fractions all settle at p∗=0.8p^\ast = 0.8 (dashed) within about two days.

The shape of (16) recurs: p(1−p)p(1-p) times a bracket that is positive at p=0p = 0, negative at p=1p = 1, and falls in between. Transcritical Bifurcation: Turning the Dose turns the dose and watches p∗p^\ast appear.

References
  1. Malthus, T. R. (1798). An Essay on the Principle of Population. J. Johnson.
  2. Verhulst, P.-F. (1838). Notice sur la loi que la population suit dans son accroissement. Correspondance Mathématique et Physique, 10, 113–121.
  3. Pearl, R., & Reed, L. J. (1920). On the rate of growth of the population of the United States since 1790 and its mathematical representation. Proceedings of the National Academy of Sciences, 6(6), 275–288. 10.1073/pnas.6.6.275
  4. Gause, G. F. (1934). The Struggle for Existence. Williams & Wilkins.
  5. Yurtsev, E. A., Chao, H. X., Datta, M. S., Artemova, T., & Gore, J. (2013). Bacterial cheating drives the population dynamics of cooperative antibiotic resistance plasmids. Molecular Systems Biology, 9, 683. 10.1038/msb.2013.39