Exploring Chaos, Fractals and Bifurcation

Bifurcation diagramAs you may have seen, I am currently really enjoying a course on Dynamic Systems and Chaos run by Santa Fe Institute (see Thoughts on Santa Fe’s new MOOC – Introduction to Dynamical Systems and Chaos). The most recent module has been about bifurcation, and this has been explored via a very simple logistics equation:

Logistic Equation

In this article I am not going to explain what the equation represents in detail and will assume that those of you who have already explored chaotic systems to some degree are already acquainted with it. However, before we can really look at bifurcation, we first need to look at what happens to this when we iterate the function over time. In the examples below, x will vary between 0 and 1, and r will vary between 0 and 4. The software I will be using comes from Santa Fe, and is used extensively as part of the course materials. You can access it via this link: Logistic Equation: Time Series Plots.

In this first example we will set x to be 0.2 at time = 0, and r will be 2.8. When we iterate just a few times, we find that f(x) oscillates slightly, and then settles down to a final value (0.64286). What this means is that when we plug x=0.64286 into the equation, we get 0.64286 out.



In this next example, we will set x again to be 0.2, and r will be 3.2. The behaviour changes, and instead of settling down to a single fixed point, the system settles down by oscillating between two different values, 0.51304 and 0.79946.



In this final example, again we will start with x=0.2, and this time we will set r=3.9. In the chart below, when we look at the behaviour across 100 interactions rather than 40, we see that there is no discernible pattern. The system does not settle down, and in fact it has now become chaotic.



What we can then do is to plot all values of r (from 0 to 4) on a single diagram, and plot out the final state of each of these values. When we do this, we end up with the bifurcation diagram below:

Bifurcation diagram 1

Bifurcation diagram 1

On the X axis is r, and we can now see what happens as we vary r from 0 to 4. If you look at the values we explored, the diagram shows just one final state at r=2.8, two final states at r=3.2, and at r=3.9 there is no discernible pattern. The great thing about this software is that we can highlight an area and explore in further detail which we will now do.

On diagram 1 above you will see that I have created a blue rectangle. This is the part of the diagram I can now expand, in order to be able to explore in more detail.

Bifurcation diagram 2

Bifurcation diagram 2

As you can see in diagram 2, we are now looking at just one small section of diagram 1, and this is where r varies from 3.407 to 3.680 and x varies between 0.783 and 0.915. The software has ‘stretched’ that part of the diagram we are interested in to fit in to the fixed shape of chart. We are starting to see recurring bifurcation patters, places where the pattern splits qualitatively in behaviour, and we also notice that in amongst the chaotic behaviour, there are also strips of white, areas where the system appears to be exhibiting regular patterns. On diagram 2 there is also a blue rectangle, and so let’s zoom in and take a look at this.

Bifurcation diagram 3

Bifurcation diagram 3

At this level of magnification we begin to really grasp the extraordinary complex and chaotic behaviour of what we thought may be an innocuous looking equation. As well as the fractal like patterns, we also notice structure within the chaos, i.e. these organic sweeping curves where the system activity is a little more concentrated.

Bifurcation diagram 4

Bifurcation diagram 4

In this final picture, bifurcation diagram 4, I have left off the highlighted rectangle, really so that we can just enjoy this mathematical equation as art. Look at the level of magnification – we are now at a scale where r varies between r=3.854014 and r=3.854055. If we wanted to we could continue going deeper and deeper. It is one thing to read about chaotic systems in books, but it is another thing all together to really be able to play with the equations, and explore their behaviour dynamically.

For me, I feel a deep sense of mystery, and the maths really comes alive to me as I interact with both equation and art. If you wish to do so too, instructions are below.


The bifurcation program used above was developed by K. N. Springer, January 2014 © 2014 Santa Fe Institute. It has been made available via Santa Fe’s course website ComplexityExplorer.org under Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License. The times series plots were also created using software developed by Santa Fe Institute for the course.

The Introduction to Dynamical Systems and Chaos course is taught by Professor David Feldman. It is currently running, but is still open to new registrations. For more information please see this introduction to the course. There is no registration fee, access to all course materials are free, and not only will you have access to these programs, you will also be able to follow a much more in-depth exploration of their behaviour from Professor Feldman.

Related Links

Thoughts on Santa Fe’s new MOOC – Introduction to Dynamical Systems and Chaos

While Maria and I discuss complexity, chaos theory and bifurcation in our new book Holonomics: Business Where People and Planet Matter, for an in-depth mathematical exploration you may wish to look at David Feldman’s excellent Chaos and Fractals: An Elementary Introduction.

One response to “Exploring Chaos, Fractals and Bifurcation

  1. Pingback: Reflections on Fractals | Transition Consciousness·

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s