Deterministic Chaos is a term used to describe the behavior
of some nonlinear systems.
Perhaps the simplest system which may display chaotic behavior
is the logistics map. The logistics map has a single configurable parameter
r (also known as l),
which must be chosen in the range 0 ≤ r &le 4.
Once started with some initial value x0,
the logistics map produces a sequence of values xn
all of which obey 0 ≤ xn ≤ 1 .
The logistics map is defined as follows:
xn+1 = r xn ( 1 - xn)
For some values of r and x0 the logistics map produces
completely predictable sequences, for example, for all r,
starting with x0 = 0 produces xn=0 for all n!
However, in general the behavior of xn depends on r.
You can find out a lot more about the logistics map
by reading section 5.5 of DSPCSP.
I have written a few Windows programs that will help you explore the fascinating
world of deterministic chaos.
SPECTRUM is a program
that analyzes xn as a digital signal.
The upper half of the display is devoted to the signal
in the time domain, while the lower half is the signal
in the frequency domain. The frequency domain representation
is found by computing a 512-point FFT (without windowing).
When first started, the program displays the signal
for default parameters. The dialog box allows the user
to change the r parameter; the initial value x0;
the transient, which is the number of iterations
performed before displaying the results in order to allow
the initial transient to die down; and the display length,
which determines the number of points that are displayed
(but does not influence the spectral display).
pressing Go runs the simulation with
the parameters as set in the dialog box.
After each iteration the x0 is set to the last
xn value. So you can press Go
multiple times to see how the signal develops over time.
Set the transient parameter to zero to see consecutive windows.
When points belonging to an attractor are very close,
they are hard to distinguish based on the time display in SPECTRUM.
An alternative depiction is the return map,
which also graphically elucidates the logistics recursion
by exploiting a two dimensional graph.
This graph plots xn+1 (as x) as a function of xn
(as y), so the logistics map itself is an inverted parabola.
The recursion starts with some initial x value x0
and computes the y value x1;
so we could show this by starting on the x axis at x0
and going up vertically until we intersect the logistics parabola,
but instead the return map starts on the 45 degree diagonal line
and goes vertically either up or down until it hits the logistics
parabola. For the next iteration we have to use this new (y)
value as our x, so we head left or right for the 45-degree diagonal
(which interchanges x and y) and then go once again up or down
until we hit the logistics parabola.
This method of displaying the operation of the logistics
map is demonstrated in RETURN.
When first started, the program displays the logistics inverted
parabola and the 45-degree diagonal line.
You can set the r and x0 using the dialog box,
and run the simlation by pressing Go.
There is no transient suppression in RETURN,
so you can observe how the logistics map recursion falls into
its attractor. Each new Go starts where the previous one
You can also try different number of iterations
and add delay (in milliseconds) to slow down the recursions
for easier viewing. If you want to see the logistics
parabola without iterations set the number of iterations to zero;
if you want to blank the diagonal line as well you may
set the delay to a negative number as well.
ATTRACTORS is a program
that displays the fixed points and more complex attractors
of the logistics map as a function of r.
When started up it displays the entire range
0 ≤ r &le 4, but you can zoom in by holding down the left
mouse button and marking a rectangular region.
You can proceed to zoom in as much as you want,
and don't worry if you go outside the square -
the program will automatically select appropriate values.
Double click in order to return to the initial state.
In order to undo your last zoom click the right mouse button.
Multiple undo operations are supported.
Of course you can resize the window in the usual fashion.
Try zooming in on bifurcations and note the fractal self-similarity
The program uses certain internal parameters
(transient, passes and density)
in order to produce the displays,
and the default values for these parameters
were chosen as a compromise between accuracy and
The transient parameter controls how many iterations
are run before the simulation is assumed to be in the attractor;
passes is the maximum attractor size that can be fully displayed,
and density determines the display step size in r value.
After zooming in a number of times, you will probably
have to increase the accuracy of the simulation,
at the expense of slower screen updates.
Increasing any parameter doubles its value,
delivering more accuract but slower displays.
The right and left arrow keys increase and decrease
the transient parameter.
The up and down arrows increase and decrease the passes
parameter. Be careful when decreasing
passes - when it is too low the display becomes
meaningless. The End and Home keys increase and decrease
the density parameter, respectively.
There are also old DOS versions of these programs: