Population Growth & Chaos

Explore population dynamics: continuous logistic growth and the discrete logistic map's route to chaos.

Loading interactive simulation...

The chaos comes from chopping time into steps 🖖

The continuous logistic equation is remarkably well behaved: whatever growth rate you give it, the population rises or falls smoothly and settles on the carrying capacity, with no oscillation and no surprises, forever. Every bit of the wild behaviour appears only when the same model is written in discrete generations, xₙ₊₁ = r xₙ(1 − xₙ). There the steady state stays stable only while r is below 3, splits into a two-year cycle at r = 3, doubles again and again, and dissolves into chaos around r = 3.5699. Same biology, same parameter β€” the difference is whether reproduction happens continuously or once a season. The chaos is a property of the time step, not of the population.

Why growth curves flatten into an S 🖖

In the continuous model a population grows fastest when it is only half-full. As numbers climb toward the carrying capacity K, crowding leaves less food and space per individual, so growth slows and the curve levels off into a smooth S-shape. Switch to the Continuous tab and watch the fastest growth happen at the inflection point, exactly at N = K/2 β€” not at the start.

Chaos you can solve with a formula 🖖

At r = 4 the discrete map is fully chaotic, yet it has an exact closed-form solution: writing x = sinΒ²(Ο€ ΞΈ) turns each step into simply doubling ΞΈ and keeping the fractional part. In binary, doubling just shifts the digits left, so the "unpredictable" orbit is really reading off the successive bits of the starting value. It looks random only because pinning down ΞΈ would take infinite precision.

Problem solved in full

  1. The discrete model with 80 generations 5 steps

    Find where a population settles when its own growth rule will not let it settle. This is the Discrete model, xt+1 = rdxt(1 βˆ’ xt), with rd = 3.2, x0 = 0.1 and 80 generations.

    1. An equilibrium is a value the map hands back unchanged. Solving for it gives two roots, and the useful one is the non-zero fraction of carrying capacity: 68.75% full.

    2. A fixed point existing is not the same as a population reaching it. Displace the population slightly and the map multiplies that error by the slope every generation, so the equilibrium only holds while the slope is smaller than 1 in magnitude. At rd = 3.2 it is βˆ’1.2: the minus sign throws the population to the other side of 0.6875 each year, and the 1.2 lands it further out than it started.

    3. So look for a pair of values that swap places instead. Anything that repeats after two steps solves f(f(x)) = x, which is a quartic β€” but 0 and 0.6875 already solve it, since anything that repeats after one step repeats after two. Divide those two known roots out and a quadratic is left.

    4. The quadratic's roots are the cycle. The tool's 80th generation is the lower of them, to all six digits it shows; the 79th is the upper one.

    5. The cycle is a fixed point of f applied twice, so the same stability test applies, and its slope is the product of the slopes at the two points. At 0.16 the cycle pulls errors in by a factor of six every double step, which is why 80 generations from a starting value nowhere near it land on it exactly. Push rd until that product reaches βˆ’1 and the 2-cycle loses stability in turn.

    Answer

    The tool prints 0.513045 and labels the regime Period-2 oscillation. Not one digit of that is approximate: it is (4.2 βˆ’ √0.84) / 6.4, an algebraic number, and the transient died out decades of generations before step 80. The mechanism is worth more than the number. The equilibrium at 0.6875 did not disappear at rd = 3 β€” it is still there at 3.2, still a perfectly valid solution, and simply unreachable, and what replaced it was born already stable. That happens again at 1 + √6 = 3.4495, then at 3.5441, then at 3.5644: windows of 0.4495, 0.0946 and 0.0203, each roughly 4.7 times shorter than the one before. A shrinking geometric sequence has a finite sum, so infinitely many doublings fit below 3.5699, and past that boundary there is no cycle of any length left to land on.

Learning path

Growth with a limit

Leads to Harvesting the logistic equation, and with it the fact that the surplus is largest when the population is half of what the habitat will hold.

References (1)

Example problems

  • Logistic - r = 0.5 climbing to K = 1000 from 10. The curve is steepest at t = 9.19, exactly where N reaches 500, and the rate there is rK/4 = 125 per unit time.
  • Fast growth - Four times the growth rate of Logistic, so it passes half of K at t = 1.10 instead of 9.19. It still never exceeds K: the continuous model cannot overshoot, whatever r you give it.
  • Period-2 - r = 3.2 settles into exactly two values, 0.799455 and 0.513045, and alternates between them forever. Above r = 3 the single steady state has split in two.
  • Chaos - r = 3.9 never settles: over the last hundred generations it visits a hundred distinct values. Nothing about it is random - the same starting point gives the same sequence every time.