The Logistic Map is an innocent looking non-linear equation:
Xt+1 = r Xt (1 - Xt)
where the state space of the model is the unit interval [0, 1] and r is a parameter that varies on (0, 4].
Some trajectories of the logistic map for various values of r:
If 0 < r ≤ 1, then the dynamics are trivial: the model will converge to X = 0 no matter the initial condition. Suppose the r = 2. In this case, the dynamics of the model are also pretty boring: convergence to a unique fixed point. No matter the initial condition, if r = 2, all trajectories of the logistic map will converge (quite quickly) on a unique steady state value of 1/2.
Now suppose that r = 2.919149. In this case, the result is still convergence to a unique fixed point, however the dynamics are more interesting: the trajectories now exhibit dampened oscillations.
For values of r satisfying 3 < r < 3.45 (roughly!), you get a 2-cycle:
For r = 3.8285, one gets the famous 3-cycle which is one of the generally accepted indicators of chaotic dynamics (note I have changed the initial condition from 0.2 to 0.5 to eliminate the transient and thus making the cobweb diagram a bit cleaner):
Finally, for r = 4 we get an example of chaotic dynamics. Note that the deterministic trajectory for the logistic map looks incredibly "random."
3D plot of the phase space for the logistic map:
One of the reasons why models with chaotic dynamics, such as the logistic map, exhibit sensitive dependence to initial conditions, is that such maps repeatedly "stretch and fold" the state space over which they are defined. While 2D phase plots give a sense of how the logistic map "stretches" the state space, a 3D phase plot is a really cool way to see how the logistic map "folds" the state space.
If you are interested, the Python code to replicate the above graphics can be found here. I am still working on the code for the bifurcation diagram, estimating Feigenbaum's constant, and for calculating Lyapunov exponents.
3D plot of the phase space for the logistic map:
One of the reasons why models with chaotic dynamics, such as the logistic map, exhibit sensitive dependence to initial conditions, is that such maps repeatedly "stretch and fold" the state space over which they are defined. While 2D phase plots give a sense of how the logistic map "stretches" the state space, a 3D phase plot is a really cool way to see how the logistic map "folds" the state space.
If you are interested, the Python code to replicate the above graphics can be found here. I am still working on the code for the bifurcation diagram, estimating Feigenbaum's constant, and for calculating Lyapunov exponents.
This is very useful to me, thanks for your valuable post
ReplyDelete