Screen Shot 2018-05-16 at 10.36.10 AM

Modelling Chaos

This post was inspired by Rachel Thomas’ Nrich article on the same topic.  I’ll carry on the investigation suggested in the article.  We’re going to explore chaotic behavior – where small changes to initial conditions lead to widely different outcomes.  Chaotic behavior is what makes modelling (say) weather patterns so complex.

Let’s start as in the article with the function:

f(x) = 4x(1-x)

We can then start an iterative process where we choose an initial value, calculate f(x) and then use this answer to calculate a new f(x) etc. For example when I choose x = 0.2, f(0.2) = 0.64. I then use this value to find a new value f(0.64) = 0.9216. I used a spreadsheet to plot 40 iterations for the starting values of x = 0.2 and x = 0.2001. This generated the following spreadsheet (cut to show the first 10 terms):

Screen Shot 2018-05-16 at 7.44.29 AM

I then imported this table into Desmos to map how the change in the starting value from 0.2 to 0.2001 affected the resultant graph.

Starting value of x = 0.2

Screen Shot 2018-05-16 at 7.45.17 AM

Starting value of x = 0.2001

Screen Shot 2018-05-16 at 7.45.04 AM

Both graphs superimposed 

Screen Shot 2018-05-16 at 7.45.31 AM

We can see that for the first 10 terms the graphs are virtually the same – but then we get a wild divergence, before the graphs seem to synchronize more closely again.  One thing we notice is that the data is bounded between 0 and 1.  Can we prove why this is?

If we start with a value of x such that:

0<x<1.

then when we plot f(x) = 4x – 4x2 we can see that the graph has a maximum at x = 1/2:
Screen Shot 2018-05-16 at 9.34.26 AM.

Therefore any starting value of x between 0 and 1 will also return a new value bounded between 0 and 1.  Starting values of x > 1 and x < -1 will tend to negative infinity because x2 grows much more rapidly than x.

f(x) = ax(1-x)

Let’s now explore what happens as we change the value of a whilst keeping our initial starting values of x = 0.2 and x = 0.2001

a = 0.8

Screen Shot 2018-05-16 at 10.51.49 AM

both graphs are superimposed but are identical at the scale we are using.  We can see that both values are attracted to 0 (we can say that 0 is an attractor for our system).

a = 1.2

Screen Shot 2018-05-16 at 10.57.01 AM

Again both graphs are superimposed but are identical at the scale we are using.  We can see that both values are attracted to 1/6 (we can say that 1/6 is an attractor for our system).

In general, for f(x) = ax(1-x) with -1≤x≤1, the attractors are given by x = 0 and x = 1 – 1/a, but it depends on the starting conditions as to whether we will end up being attracted to this point.

f(x) = 0.8x(1-x)

So, let’s look at f(x) = 0.8x(1-x) for different starting values 1≤x≤1.  Our attractors are given by x = 0 and x = 1 – 1/0.8 = -0.25.

When our initial value is x = 0 we remain at the point x = 0.

When our initial value is x = -0.25 we remain at the point x = -0.25.

When our initial value is x < -0.25 we tend to negative infinity.

When our initial value is  -0.25 < x ≤ 1 we tend towards x = 0.

Starting value of x = -0.249999:

Screen Shot 2018-05-16 at 12.02.53 PM

Therefore we can say that x = 0 is a stable attractor, initial values close to x = 0 will still tend to 0.

However x = -0.25 is a fixed point rather than a stable attractoras

x = -0.250001 will tend to infinity very rapidly,

x = -0.25 stays at x = -0.25.

x = -0.249999 will tend towards 0.

Therefore there is a stable equilibria at x = 0 and an unstable equilibria at x = -0.25.