So I'm trying to ease back into the chaos theory posts. I thought that one good
way of doing that was to take a look at one of the class chaos examples, which
demonstrates just how simple a chaotic system can be. It really doesn't take much
at all to push a system from being nice and smoothly predictable to being completely
This example comes from mathematical biology, and it generates a
graph commonly known as the logistical map. The question behind
the graph is, how can I predict what the stable population of a particular species will be over time?
If there was an unlimited amount of food, and there were no predators, then it
would be pretty easy. You'd have a pretty straightforward exponential growth curve. You'd
have a constant, R, which is the growth rate. R would be determined by two factors: the
rate of reproduction, and the rate of death from old age. With that number, you could
put together a simple exponential curve - and presto, you'd have an accurate description
of the population over time.
But reality isn't that simple. There's a finite amount of resources - that is, a finite
amount of food for for your population to consume. So there's a maximum number of individuals
that could possibly survive - if you get more than that, some will die until the population
shrinks below that maximum threshold. Plus, there are factors like predators and disease,
which reduce the available population of reproducing individuals. The growth rate only
considers "How many children will be generated per member of the population?"; predators
cull the population, which effectively reduces the growth rate. But it's not a straightforward
relationship: the number of individuals that will be consumed by predators and disease is
related to the size of the population!
Modeling this reasonably well turns out to be really simple. You take the
maximum population based on resources, Pmax. You then describe the
population at any given point in time as a population ratio: a
fraction of Pmax. So if your environment could sustain one
million individuals, and the population is really 500,000, then you'd describe
the population ratio as 1/2.
Now, you can describe the population at time T with a recurrence relation:
P(t+1)= R × P(t) × (1-P(t))
That simple equation isn't perfect, but it's results are impressively close
to accurate. It's good enough to be very useful for studying population growth.
So, what happens when you look at the behavior of that function as you
vary R? You find that below a certain threshold value, it falls to zero. Cross
that threshold, and you get a nice increasing curve, which is roughly what
you'd expect. Up until you hit R=3. Then it splits, and you get an oscillation
between two different values. If you keep increasing R, it will split again -
your population will oscillate between 4 different values. A bit farther, and
it will split again, to eight values. And then things start getting
really wacky - because the curves converge on one another, and even
start to overlap: you've reached chaos territory. On a graph of the function,
at that point, the graph becomes a black blur, and things become almost
completely unpredictable. It looks like the beautiful diagram at the top
of this post that I copied from
wikipedia (it's much more detailed then anything I could create on my
But here's where it gets really amazing.
Take a look at that graph. You can see that it looks fractal. With a graph
like that, we can look for something called a self-similarity scaling
factor. The idea of a SS-scaling factor is that we've got a system with
strong self-similarity. If we scale the graph up or down, what's the scaling
factor where a scaled version of the graph will exactly overlap with the un-scaled
For this population curve, the SSSF turns out to about 4.669.
What's the SSSF for the Mandelbrot set? 4.669.
In fact, the SSSF for nearly all bifurcating systems that we see,
and their related fractals, is virtually always exactly 4.669. There's a basic
structure which underlies all systems of this sort.
What's this sort? Basically, it's a dynamical system with a
quadratic maximum. In other words, if you look at the recurrence relation for
the dynamical system, it's got a quadratic factor, and it's got a maximum
value. The equation for our population system can be written: P(t+1) =
R×P(t)-P(t)2, which is obviously quadratic, and it will
always produce a value between zero and one, so it's got a fixed maximum.
value, and Pick any chaotic dynamical system with a quadratic maximum, and
you'll find this constant in it. Any dynamical system with those properties
will have a recurrence structure with a scaling factor of 4.669.
That number, 4.669 is called the Feigenbaum constant, after
Mitchell Fiegenbaum, who first discovered it. Most people believe
that it's a transcendental number, but no one is sure! We're not really sure
of quite where the number comes from, which makes it difficult to determine
whether or not it's really transcendental!
But it's damned useful. By knowing that a system is subject to recurrence
at a rate determined by Feigenbaum's constant, we know exactly when that system will
become chaotic. We don't need to continue to observe it as it scales up to
see when the system will go chaotic - we can predict exactly when it will happen
just by virtue of the structure of the system. Feigenbaum's constant predictably
tell us when a system will become unpredictable.