Monte Carlo simulation of bifurcations in the logistic map






0 4
Combined reproduction and starvation rate r

The logistic map was originally used to approximate an animal population over time. Mathematically, it is written as:

An+1 = rAn(1 - An)


All initial populations A0 eventually settle into one of three behaviours:

  1. A fixed value.
  2. Periodic oscillation between values.
  3. Chaotic i.e. unpredictable values.

A bifurcation diagram shows these three behaviours. The x-axis shows r and the y-axis shows the population. The population eventually stabilises to a fixed value for r = 1 to 3, and you can see the periodic behavior starting after this, eventually becoming chaotic at around r = 3.5699457...

The Monte Carlo simulation on the left uses repeated random sampling to produce the bifurcation diagram. The algorithm is roughly:

  1. For each value of r, generate a multiple points with a random initial population and random maximum age (remaining number of iterations).
  2. Set the population of each point to An+1 = rAn(1-An) and update its remaining number of iterations.
  3. If the remaining number of iterations for any point reaches zero, then we pick a new random initial population and age for that point.
  4. Clear the plotting area and plot each point at (r, An).
  5. Go to 2.

The plot is updated for every iteration, so you can see how the populations are changing over time.


  1. Inspired and largely based on Sean Whalen's Java applet in Monte Carlo visualization of bifurcations in the logistic map.
  2. Logistic Map Simulation A Java applet simulating the Logistic Map by Yuval Baror.