Discrete-Time Models and the Logistic Map
Many organisms breed in discrete seasons, and many diseases are tracked generation by generation, so their dynamics are naturally written as a rule mapping this year’s state to next year’s. These maps are simple to iterate yet capable of astonishingly rich behavior — including deterministic chaos from a one-line equation.
increases the attractor period-doubles into chaos." />
Geometric growth
The discrete analogue of exponential growth is geometric growth, which generates the sequence . Here is the finite (per-generation) growth rate; it links to the continuous intrinsic rate by . The population grows when , shrinks when , and holds steady when .
The Ricker model
Real populations are density-dependent, and the Ricker model builds crowding into a discrete map, When is small the exponent is near and growth is nearly geometric; as approaches the carrying capacity the exponent goes to zero and . Unlike the smooth continuous logistic, overshoot in the Ricker map can produce oscillations and, for large , chaos.
The logistic map
The most famous discrete model is the logistic map, where is a scaled population fraction and is a growth parameter (here ). Robert May’s 1976 analysis of this map showed that even a trivial nonlinear rule can produce cycles and chaos, reshaping how ecologists think about complexity and predictability.
Fixed points and stability
A fixed point satisfies with . Solving gives two fixed points: and (the latter positive only when ). Stability of a discrete map depends on the slope at the fixed point: is stable when Here . At , , so the origin is stable only for . At , , so this nonzero fixed point is stable when , i.e. for .
Period-doubling and chaos
As increases past the fixed point loses stability and a stable 2-cycle appears; past a 4-cycle; then 8, 16, and so on, with the thresholds bunching up in a period-doubling cascade. Beyond the dynamics become chaotic — bounded, aperiodic, and sensitive to initial conditions. Each loss of stability is a bifurcation, and plotting the long-run attractor against produces the classic bifurcation diagram.
Cobweb plots
A cobweb plot visualizes iteration: draw and the line , then bounce between them (up to the curve, across to the diagonal) to trace the orbit. Converging staircases spiral into a stable fixed point; diverging ones reveal cycles or chaos.
A worked example
Take the logistic map with . The nonzero fixed point is . Its stability slope is , and since the fixed point is stable — orbits converge to . Now take : the fixed point has slope , and , so it is unstable; the map instead settles onto a stable 2-cycle.
In code
We iterate the map and build the bifurcation diagram by plotting late iterates over a range of .
R
logmap <- function(x, r) r * x * (1 - x)
# converge to the fixed point 0.6 when r = 2.5
x <- 0.1
for (i in 1:100) x <- logmap(x, 2.5)
round(x, 6) # 0.6
# bifurcation diagram
rs <- seq(2.8, 4.0, length.out = 600)
plot(NULL, xlim = range(rs), ylim = c(0, 1), xlab = "r", ylab = "x")
for (r in rs) {
x <- 0.2
for (i in 1:300) x <- logmap(x, r) # transient
for (i in 1:200) { x <- logmap(x, r); points(r, x, pch = ".") }
}
Python
import numpy as np
def logmap(x, r):
return r * x * (1 - x)
x = 0.1
for _ in range(100):
x = logmap(x, 2.5)
print(round(x, 6)) # 0.6 -> stable fixed point
# bifurcation diagram data
rs = np.linspace(2.8, 4.0, 600)
R, X = [], []
for r in rs:
x = 0.2
for _ in range(300): # discard transient
x = logmap(x, r)
for _ in range(200):
x = logmap(x, r)
R.append(r); X.append(x)
# plt.plot(R, X, ',k') -> period-doubling route to chaos
0.6
Julia
logmap(x, r) = r * x * (1 - x)
x = 0.1
for _ in 1:100
x = logmap(x, 2.5)
end
round(x, digits = 6) # 0.6
rs = range(2.8, 4.0; length = 600)
R = Float64[]; X = Float64[]
for r in rs
x = 0.2
for _ in 1:300; x = logmap(x, r); end # transient
for _ in 1:200
x = logmap(x, r)
push!(R, r); push!(X, x)
end
end
# scatter(R, X; markersize = 0.5) -> bifurcation diagram
Why it matters
Discrete maps are the right tool for seasonally breeding populations and generation-based disease models, and they force us to check stability with the slope condition rather than the sign of a derivative. The logistic map is a canonical warning that simple, fully deterministic ecological rules can generate irregular, effectively unpredictable dynamics — a lesson that carries directly into forecasting outbreaks and managed populations.