Fibonacci Fractals

In this chapter, we will learn about the arithmetic fractal of the Fibonacci Sequence, and see how it shows up in many systems. We'll find Fibonacci numbers in natural processes like family trees and actual trees, we'll see Fibonacci numbers in the periods of the bulbs of the Mandelbrot Set fractal, and we'll see how the Fibonacci sequence relates to the Golden Ratio, and how it creates perfect spirals.

The Fibonacci Sequence

Even before Leonardo da Vinci was exploring the fractal nature of rivers, trees and blood vessels, another Leonardo - named Leonardo of Pisa - was exploring fractal patterns in arithmetic. He published a book in the year 1202 under the pen-name 'Fibonacci'. This book was significant in the history of mathematics because it introduced the use of Arabic numerals into Europe, which would replace Roman numerals. As one of the examples in his book, he described the sequence of numbers that would come to be called Fibonacci Numbers. (Although the number sequence was also used in Sanskrit poetry as early as 450 BC).

The Fibonacci Sequence is very simple. Start with the numbers 1 and 1, and add them together. The answer, of course is 2. To make the next number in the sequence, you just add the current number (2) to the one before it (1), resulting in 3. The next number in the sequence is 3 + 2 = 5. The next number is 5 + 3 = 8. You can keep repeating this simple process forever. There are infinitely many Fibonacci numbers, and they rapidly get very large.

We can label the numbers as follows:

F0 = 0
F1 = 1
F2 = 1
F3 = 2
F4 = 3
F5 = 5
F6 = 8
F7 = 13
F8 = 21
F9 = 34
F10 = 55
F11 = 89
F12 = 144
etc... where Fn is the Fibonacci number for the given iteration n.

Fibonacci Rabbits

Let's see how Fibonacci Numbers can show up in some natural patterns. Consider the breeding of rabbits, a famously fertile species. Imagine that the rules for rabbit reproduction are simplified to these:

  • It takes a pair of rabbits to breed
  • Rabbits must mature two months before they can breed, after which they breed once per month
  • A pair of rabbits will produce a litter of one male and one female rabbit (obviously oversimplified)
The image below charts the development of the rabbit family tree, moving from top to bottom. Each point represents a pair of rabbits, not a single individual. Empty dots represent immature rabbit pairs, while filled dots represent mature rabbit pairs capable of breeding.

Photo courtesy of Kessa Ligerro.

Starting at the top, at the first generation (or iteration), there is one pair of newborn rabbits, but it is too young to breed. At the second generation, there is still only one pair. At the third generation, the rabbits can breed, and they produce a new pair, so there are now two pairs of rabbits. At the fourth generation, the first pair produces another pair, while the second pair is still too young to reproduce, so there are now three pairs. By the fifth generation, the first pair produces another pair, and the second pair is old enough that it also produces another pair, and now there are five pairs.

The process continues like this, and the family tree grows with the total number of rabbits at a given generation being a number in the Fibonacci Sequence. The number of rabbit pairs in a given generation is the sum of the number of rabbit pairs in the previous two generations.

Note the fractal structure of the family tree. For example, starting at generation 3, the left branch resembles the whole family tree, and starting at generation 4 the right branch resembles the whole tree. There are many more levels of self-similarity throughout the family tree.

How many pairs of rabbits are there at the 8th generation? [ ]

How many pairs of immature rabbits are there at the 8th generation? [ ]

How many pairs of breeding rabbits are there at the 8th generation? [ ]

True or False: At any generation, there are always more immature rabbits than mature rabbits. [ ]

How many pairs of rabbits would there be at the 14th generation? [ ]

Fibonacci Branches

Family trees are only metaphorical trees, though the they are very useful for keeping track of relationships. Now let's look at a more literal example of a tree. When we explored the branching of trees in first chapter, we made a simplification, and pretended a tree branched symmetrically from a trunk into 2 branches, and then from 2 into 4 branches, and then 8, 16, 32, etc. Trees do not generally follow such a simple pattern though.

A more realistic map of the branching of a tree (or a variety of other plants too) is shown in the figure below. In this case, the tree grows from the bottom up, and the rule here is that a branch grows one unit long in each iteration. When a branch is two units long, it is strong enough to support a node, which is where a new branch splits off. The branches alternate on the left and the right, and very quicky a recognizable plant pattern emerges.

The rules that generate this fractal are really identical to the rules for the rabbit family tree above, since it takes two iterations for a branch in the rabbit family tree to bifurcate, and it also takes a tree branch two iterations before it is strong enough to bifurcate. The same kind of self-similar pattern emerges, because at any step you can look at a new rabbit pair, or branch, as being the beginning of an entirely new sequence. A little branch on a tree can be cut off and planted and will form a whole new tree. A grandchild rabbit can turn into the grandparent of many rabbits. Any unit, at any iteration, is just a scaled version of any other unit in the system.

How many branches are there at the 6th generation? [ ]

Note how well the various branches fit together within the tree and fill up the space but don't overlap. One of the benefits of the Fibonacci Sequence is that it allows a very efficient filling of space. The rule that produces this pattern allowes the branches to alternate from side to side. Compare this more realistic pattern to the simplified notion of a tree that simply branches and then the branches all branch again at the same time.