Deterministic population dynamics · 1
Discrete-time logistic model
Xt+1 = Rm Xt (1 − Xt)
- Xt
- population in generation t, as a share of the carrying capacity K (Xt = Nt/K, between 0 and 1)
- Rm
- the largest growth factor per generation (when the population is tiny), between 0 and 4
- (1 − Xt)
- crowding: growth falls linearly as the habitat fills
- t
- generations, which do not overlap (parents breed, then die)
Trajectory
Predictability
The same model started from X0 plus a small error 𝛿, (set above). Does the error die out, or does it take over?
Bifurcation diagram
For each Rm from 0 to 4 (steps of 0.01): run 1000 generations and plot the last 200 values of Xt. One dot per Rm is an equilibrium, two a 2-cycle, a smear is chaos. Drag on the plot to zoom in; double-click to zoom out.Tap “Zoom”, then drag on the plot.
The theory, in short
- Assumptions. Generations are discrete and do not overlap; the population is closed (no migration); growth falls linearly with crowding; and it is a mean field: a large, well-mixed population, so Xt is an expected value.
- Equilibria. x* = 0 always; x* = 1 − 1/Rm when Rm > 1.
- Linear stability. x* is stable if |f ′(x*)| < 1, with f ′(x) = Rm(1 − 2x). So f ′(0) = Rm and f ′(1 − 1/Rm) = 2 − Rm: extinction is stable for Rm < 1, and the positive equilibrium for 1 < Rm < 3.
- Extinction is unstable for every Rm > 1: a small population then always grows.
- Period doubling. At Rm = 3 a stable 2-cycle appears; more doublings follow at 3.4495 (period 4), 3.5441 (period 8), … and pile up at R∞ ≈ 3.5699. The gaps between them shrink by the Feigenbaum ratio ≈ 4.669.
- Chaos starts beyond R∞: the population never settles, yet stays in [0, 1]. Windows of order appear inside it, the largest with period 3 from 1 + √8 ≈ 3.8284.
- The Lyapunov exponent λ = lim (1/n) Σ ln|f ′(Xt)| measures how fast nearby runs separate: λ < 0 on stable equilibria and stable cycles (including the whole 2-cycle range), λ > 0 in chaos, and λ = 0 exactly at the bifurcation points.
- Predictability. An initial error grows like 𝛿 eλt, so the horizon is about ln(𝜀tol/𝛿)/λ steps. Measuring 1000 times more precisely buys only ln(1000)/λ more steps.
- The start does not matter in the long run, except X0 = 0 or 1, which both die out.