"A fractal is a curve or a geometric figure, each part of which has the same statistical character as the whole. Fractals are useful in modeling structures in which similar patterns recur at progressively smaller scales and in describing partly random or chaotic phenomena." (Google definition of "fractal") This definition may become more clear as we discuss the property of self-similarity and the theory of chaos.
Mandelbrot once said, "Clouds are not spheres, mountains are not cones, coastlines are not circles, and bark is not smooth, nor does lightning travel in a straight line." All of these patterns are irregular and what we might call 'chaotic' (Challoner, 2010). Intuitively, we might think that anything that is chaotic doesn't possess any patterns, or is completely random. For instance, do the clouds display any discernible pattern? What scientists and mathematicians have discovered is that many of these things actually do contain patterns, because quite often, when we look much closer at things, we see fractal patterns or self-similarity (Kluge, 2000)
What is self-similarity? In essence, this means that if you were to zoom in on an image or object, you would once again observe the same image you saw before you zoomed. If you can do this with an image repeated times and see the same image over and over, then it is self-similar (Wertenberger). There are many examples of self-similarity, for instance, a rope has a self-similar property. If you were to cut a rope, you'd see the rope is composed of several smaller cords. Then those cords are composed of even smaller cords. And so on. One famous example of a self-similar fractal is the Sierpinski triangle. This triangle is formed by many repetitions of playing the chaos game.
The chaos game may help you understand the ideas we have discussed so far. It is played is by starting with a triangle with each vertex labeled as 1&2, 3&4, and 5&6. Then, we mark a point on any arbitrary spot inside the triangle. Then we roll a die. Let's say we rolled and ended with a 4. Starting at our first point, we'd estimate the midpoint between our first point and the vertex that is labeled 4. Then we'd roll again and do the same thing but this time mark the midpoint between the last point we found and the vertex that contains the number we rolled. If we were to do this several more times, it'd appear to be a random set of dots in the triangle. It would seem chaotic, random, and not containing any patterns. But, surprisingly, if we were to do this several thousands of times, or millions of times, the Sierpinski triangle pattern arises (Devaney, 1995). Use the link below to play the chaos game.
Now that we know the fundamental ideas behind fractals (chaos and self-similarity,) we'll discuss the more traditional math concepts of fractal mathematics. Fractals are generated by a general iteration formula f(x_n)=x_{n+1}, where f(x) is any function of x. Another way to look at this formula is by relating it to a machine. We start with a value x_n, and put it into the machine (plug it into our formula). The output of the machine is x_{n+1}. Now here is where the iteration comes in. We plug our x_{n+1}, into our machine again and come out with x_{n+2}. Then we keep plugging out output into our machine. In function notation, the sequence of numbers we'd end up with would be {x, f(x), f(f(x)), f(f(f(x))), ...}. For example, let's take x_n=1 and our function is f(x)=2x. We plug in 1 into our function machine and get the output of (2*1)=2. Then we plug in 2 into our function machine. (2*2)=4. Now we plug in our new output into the function machine. (2*4)=8. We'll end up with values as shown:
x_n | x_{n+1} |
1 | 2 |
2 | 4 |
4 | 8 |
8 | 16 |
16 | 32 |
32 | 64 |
As you can see, we plug each value of x_{n+1} into the function f(x)=2x to get the next value of x_{n+1} (Wertenberger).
Another example of this concept is the set of Fibonacci numbers. {0, 1, 1, 2, 3, 5, 8, 13, 21, 34...} and here the function is g(x_n,x_{n-1})=x_n+x_{n-1}. We plug 0 and 1 into our function machine and get an output of 1. Then we plug in 1 and 1 into our machine to get an output of 2 and so on (Wertenberger).
Now let's look a little closer at Mandelbrot and Julia sets (these sets produce fractal images.) What is meant by the Mandelbrot and Julia sets? They are sets of numbers, specifically subsets of the set of all complex numbers. Therefore we're dealing with the x-axis and an imaginary y-axis. The equation that Mandelbrot devised to combine all Julia sets is f_c(z_n)=z^2+c where c is a constant complex number. If you start intuitively with z_0=0, you get a sequence of numbers {z_0,z_1,...z_n}. If the value of c produces a set that is bounded (there exists positive real number B so that |z_n|< B for all n; converges to a limit) then the value chosen for c is included in the Mandelbrot set. This means that we graph this complex number on the complex plane. If the sequence is not bounded given our value of c, then we do not include the number in the set. A way for us to visualize the actions these numbers is by coloring them. The coloring is based on what kind of sequence of numbers the c-value produces. For example, the sequence could oscillate, approach multiple limits, diverge to infinity, or display other chaotic behavior (Wertenberger).
To help you understand this concept, try plugging in different numbers into the green box of the spreadsheet. (Hint: start with numbers within the [-2,2] range) This will be your c value in the Mandelbrot equation. (Do not use the enter key, just type in your number, then press an arrow key) Observe the points and what pattern they seem to be following to decide whether or not that number produces a sequence that is in the Mandelbrot set or not.
Spreadsheet and Mandelbrot Set
If the c value is bounded, we plot that value on the complex plane. Doing this for millions of possible c values and graphing the results is what gives us the Mandelbrot set.
Another interesting concept involving the mathematics of fractals is the area and perimeter of a fractal. For instance, let's look at the Koch snowflake.
The snowflake starts as a triangle, and the iteration that produces the snowflake consists of creating another equilateral triangle on each segment of the figure. So a large number of iterations of this process creates the snowflake. Now, think about the area of the Koch snowflake. As each iteration occurs, the area of the figure will increase. But since the equilateral triangles that we add onto the perimeter get smaller and smaller with each iteration, the area of the snowflake increases by a smaller and smaller amount. It will converge to a certain value (Khan, 2015).
Surprisingly enough, when we find the perimeter of the snowflake, we find that it diverges. It keeps growing with no limit. This same idea can be applied to other fractals as well, such as the Sierpinski triangle (Peitgen, Jurgens, & Saupe, 1992).