The Iteration Process
This comprises calculating the value of y from a non-linear equation y = f(x), plotting it, then feeding y back into the equation in place of x and repeating the process endlessly. It is what is known as a positive feed-back process. Practical examples are: the life process, and the supply and demand processes in a free market.
The Bounce & Time Graphs
The applet makes visible this iteration process through the bounce graph shown in the bottom right quarter of its display area. The applet draws the curve of y = f(x) and the diagonal straight line y = x. The iteration process starts from the point on the diagonal corresponding to the initial value of x. It then draws a line from this point vertically to hit the curve y = f(x). This yields the corresponding value of y. From this point it then projects a line horizontally until it hits the diagonal. This in effect feeds this value of y back into the equation as x for the next iteration. Neat! It draws the current iteration's bounce lines in dark green and then re-draws the previous iteration's bounce lines in bright green. If you slow the iteration rate down to plot every 2 seconds you will clearly see this process working. The applet plots a Time graph of x versus time concurrently with its plotting of the bounce graph.
As iterations mount up on the bounce graph, the bright green lines build up into an attractor in the two-dimensional phase space formed by plotting xn versus xn-1. For values of c producing linear and periodic behaviour, the attractor is simply a point or square. If the variables x and t were continuous instead of discrete, the squares would be circles or ellipses as produced by my Lissajous Figures applet. When the behaviour becomes chaotic the attractor becomes 'strange' - a succession of changing rectangles. Although within the precision of the pixel raster of the screen, some rectangles seem to repeat and overlay each other, in the closer reality of the IEEE double floating point arithmetic used in the program, they in fact never quite overlay exactly. Again, if the variables x and t were continuous instead of discrete, the trace would resemble something akin to the owl mask or butterfly trace which has become know as Lorenz's strange attractor.
Type of Function
Surprisingly, whatever type of function f may be does not seem to affect the fundamental behaviour of the iteration process. It doesn't have to be either of the two functions embodied by the equations chosen for the applet. Other functions exhibit the same kind of behaviour so long as they are non-linear (ie they produce curves not lines). All that changing the function seems to do is reposition, rescale and ever so slightly reshape the path traced out by successive values of x with respect to the origin of the co-ordinate system on which they are plotted.
Types of Behaviour
Whatever particular function is used for the difference equation, it exhibits one of three types of behaviour according to the current value of the constant c, namely:
- x gravitates towards and settles on a stable final-value
- x gravitates towards and settles on a steady oscillation between a small number of fixed values
- x gravitates towards and settles within a max/min envelope within which it jumps about unpredictably forever
Iterating x = cx(1 − x)
For c < 2·1 iterating this equation produces the familiar sigmoid curve used to represent the growth of plants and trees, populations, market demand and a myriad other things. For 2·1 < c < 2·9 the curve climbs to a maximum then follows a dying oscillation which eventually settles to a constant value. For 2·9 < c < 3·4 the curve climbs as usual but settles down to a regular oscillation. For 3·4 < c < 3·6 the oscillation becomes increasingly complex, at one point adopting a kind of waltz rhythm. From 3·7 < c < 4 regular oscillations give way to chaotic behaviour. For c > 4 this becomes so extreme that the 'population' soon makes a chaotic dive to zero from which it cannot recover - like a population becoming extinct.
This is mathematically equivalent to the other equation above, so its behaviour will be the same, and it can equally well represent the natural processes represented by the other one.
- Equation's behaviours for different values of c:
for c = 0·5 and beyond, x skates off to infinity
for c = 0·15, x climbs to a steady value
for c = 0, x stays at zero
for c = −0·5, x climbs to a steady negative value
for c = −1, x oscillates with period 2
for c = −1·3, x oscillates with period 4
for c = −1·4, x oscillates with period 8
for c = −1·5, bounded chaotic oscillation
for c = −1·7, a good demonstration of bounded chaos
for c = −1·75, periodic oasis within chaos - period 3
for c < −2, x rapidly goes wild into infinite chaos
This equation may be thought of as a real-axis only version of the complex difference equation z = z² + c which generates the Mandelbrot Set.
© November 1997 Robert John Morton