Lately, we’ve looked at complexity: why it cannot be irreducible, and why I’m somewhat obsessed with it. I promised more… and now, everyone can reduce complexity for themselves!
Last Friday, my friend Eric, over at Wrong Way, sent me his latest creation: a Mandelbrot set generator. You may have run across programs of this kind before, but this one is worthy of note; it is particularly user friendly and aesthetically pleasing. Whether you’ve played with fractals before or not, it is certainly one worth checking out.
The controls are pretty simple. To begin, the program displays the entire Mandelbrot set. (If not, you may need to download the latest version of Java.) As the on-screen instructions describe, all you need to do is click to zoom in, and right-click to zoom out. You can get some control over the area you want to focus on by dragging the mouse away from the center as you click. This gives a handy little box that helps to show the area in detail. It isn’t necessary to change any of the numbers; set just as is, you can spend countless hours discovering different images within the set. Clicking “colors” will toggle the color effects, while “trip” will cycle the colors. (I wouldn’t advise the latter option if you happen to be prone to nausea or seizures.)
For those of you who might be asking what a fractal or a Mandelbrot set is exactly, or what it has to do with complexity, I’d recommend browsing this article at Wikipedia–for the pictures and animations, if nothing else. While it does describe fractals at a basic level, it becomes a bit vague for the non-math crowd when mentioning the Mandelbrot set:
This set contains whole discs, so has dimension 2 and is not fractal–but what is truly surprising is that the boundary of the Mandelbrot set also has a Hausdorff dimension of 2. (M. Shishikura proved that in 1991.)
Er… what they mean, is: the round patterns visible when you first load the set will be repeated, with variations, throughout the set, as long as you are looking at the edge. Mandelbrot himself had the best analogy: measuring the length of a shore.
Imagine that you are a cartographer, charting a newly discovered island. You want to measure the length of the shore, so you can tell the owners how much coastline they have. You could measure in mile-long blocks, giving a rough estimate of the size of the island. Or, to be more accurate, you can use smaller increments, such as yards or meters. This will surely describe small bays and inlets. Because of those extra distances–the in and out of each little bay–your yard measurement will be higher than your mile measurement. If you measured by feet, taking care to wrap the official coastline around every big rock and tide pool, your measurement would be even smaller. Soon, you’re measuring each grain of sand, or each silicon atom in the sand… perhaps even further.
But who or what could or would try to measure, or even model such a thing? The answer: a computer. Rather than measuring each individual grain to see the whole length of the shore, or even the shape of the shore, we can study the patterns that lead to it. So, as you explore the Mandelbrot set, you are, in a sense, reducing complexity by modeling patterns which repeat with slight variations. Heavy stuff, eh?
Eric has made some other interesting online programs in the past, including this Rubik’s cube solver. Talk about reducing complexity–I consider myself good with puzzles, but can’t seem to complete that final layer on my own.
In case the Rubik’s cube doesn’t sound complex enough after exploring the Mandelbrot set, consider this:
The Cube has 43,252,003,274,489,856,000 different possible configurations. One, and only one, of these possibilities presents the ’solved’ Cube, having a single color on each of its 6 sides. If you allow one second for each turn, it would take you 1400 million million years to go through ALL the possible configurations. In comparison, the whole universe is only 14 thousand million years old. (via Rubik’s “Did you know?”)
Since the cube has been solved in 16.5 seconds, I’d say it makes a decent model for “reducible complexity.”