Chaoscope tutorial

Searching for attractors

Finding strange attractors worth being rendered is probably the most time consuming activity on Chaoscope, and is also what creating fractal — or chaos based — images is about : looking for the best, unexplored spot.

Automatic Search : the F3 key

fig. 1 : 500,000 searches on Lorenz with C=1, dT=0.3 and Randomness=100%. Chaotic solutions ratio is 0.6%, shown in red.

You can compare searching for a strange attractor to digging for gold. Your map is the search domain, or the default limit assigned to all the parameters (the minimum and maximum values of the parameter sliders).

Pressing the F3 key would be equivalent to throw a dart on the map, blindfolded, drill at the location where the dart landed, until you find a gold deposit. This is what Chaoscope does : each parameter is given a random value within its own range, the equation is then iterated 20,000 times and the resulting attractor is analyzed. If there's no attractor or if it doesn't qualified as chaotic (in our case, fractal dimension greater than 1.5 and positive Lyapunov exponent) then the parameters are randomized again, and the search process carries on until a strange attractor is found or the search is stopped by the user.

This is a "brute force algorithm", only practical because computers are faster at doing math than we are at throwing darts. The downside of this method is nothing says you will hit a huge deposit or find just a single nugget of gold.

When things go wrong

In most cases, no matter how high you set the iteration limit, the attractor is stable, the orbit carries on wandering on its surface for as long as the equation is iterated. However, it may happen that the attractor switches to a different cycle, and the orbit will either follow a circular path or concentrates on a few points. This is mainly due to the limited precision of computer calculation. Because chaotic systems are sensitive to initial conditions, an incorrect digit at the 15th decimal for one of the equation variables may have significant consequences a few hundred thousands iterations later. The only way to tell this is happening is to keep an eye on the first view update, and check if the attractor is identical in shape to the preview.

Controlling the Search : Randomness and Parameters exclusion

fig. 2 : Same as fig. 1, 100,000 searches and Randomness=20%. Chaotic solutions ratio is 12%.

Two new features were added in version 0.2 to have a better control over the search : Randomness and parameter exclusion. Reducing the Randomness factor limits the size of the map further so the search is concentrated around the current finding. Excluding a parameter would be similar to limit the mining to a strip of land instead of the whole area.
Depending on the equation, the ratio of chaotic solutions for the entire search domain varies. What matters to us is most of the equations will yield very similar looking attractors from one search to another, especially Lorenz and Unravel, and a very little proportion will deserve a render.

Clearly, the search is only essential for equations with many parameters, like IFS and high order Polynomial Sprott. For the remaining equations, there is a more productive way to look for attractors.

Manual Search : The Sliders

Let's use the gold mining comparison again : If you struck gold at one location, the chances are you

fig. 3 : Pickover map for C=1.846 and D=1.518. Fractal dimension stored in red channel, Lyapunov exponent in green, filtered chaotic solutions in blue. (shifting A and B sliders after loading "no_logo.csattr" is equivalent to moving the white cross around)

may find more gold nearby. The same applies for strange attractors. If you've found an unlikely Pickover, there are probably more to find just by changing a couple of parameters slightly. Keep in mind that two completely different shapes might coexist within a very small parameter space. Drag one of the sliders around and keep an eye on the view, there could be a beautiful specimen hiding at the reach of your mouse. Guess how many images, out of the 28 displayed on Chaoscope gallery, are Unravels?

With some practice, you will be able to tell, looking at the view, if you're close to find a nice attractor or not. Despite being inherently different, all the equations behave roughly the same way, because they're all producing chaos. The same patterns occur when you shift the sliders, a circle splitting into two like a replicating cell, then circles become loops, and loops turn into millions of intertwined rings.


fig. 4 : period doubling, the path to chaos — increasing Lorenz C parameter
c=2.412 c=2.442 c=2.486 c=2.4926 c=2.4956 c=2.5553

Like with gold mining, chance plays a part in the game. Some nights will be rich in great discoveries, some other you'll wish Chaoscope was never released!

Things to remember

  • Use F3 to start with, especially with IFS and Polynomial Sprott
  • Keep an eye on the first render update, the attractor may switch to a non-chaotic state
  • Once you've found an interesting attractor, bring the Randomness down and check for its neighbours
  • Best attractors are found using the sliders
  • Save your parameters, they will be useful later on as a starting point
  • Share your findings on the mailing-list!

back to the Tutorials list