An age-specific population model is built, based on Fibonacci's rabbit problem. The model is examined using spreadsheets, matrices, iteration and exponential regression. The investigations are based on the assumption that students will have a graphing calculator and/or spreadsheet available to them. The suggested investigations encourage students to use a variety of representations and seek links between them. This module might be used as a lead-in to a discussion of Leslie models for population growth, or as an enrichment project after a discussion of exponential regression.
In Liber Abaci, Leonardo of Pisa (Fibonacci, ca. 1202) proposed one of the earliest mathematical models for population growth. The problem situation stated below is a reworking of Fibonacci's original problem which generates an introductory age-specific population model.
Imagine that we start with one pair of rabbits (one female and one male). After N days, this pair matures to reproductive age and immediately produces a new pair. After N more days, the first pair again produce offspring. Thus, each pair of rabbits will reproduce two times during their lifetime (exactly one pair immediately at the start of each new stage, where "pair" always means one female and one male), at intervals separated by N days, and each new pair of rabbits will go on in a similar fashion.
The problem statement suggests that the rabbit population can be broken down into three groups: "newly born", "young adults" and "mature adults". Each pair of newly born rabbits survives to become young adults and to produce one new pair of offspring at this stage. Each pair of young adults survives to become mature adults and to produce another pair of offspring. Finally, each pair of mature adults moves on to "rabbit heaven"; no survival is allowed after stage 3.
This process of moving through the age-structure and the patterns that emerge can be represented several ways:
with diagrams, to break down and understand the dynamics of the problem
with spreadsheets, to capture patterns and create graphs
with matrices, to emphasize the age-structure and make it more explicit
with recursive formulas (iteration), to capture the dynamics algebraically for further analysis
The first step in understanding the model is to find a way to "make sense" of the problem situation. A chart or diagram like the one shown below is helpful. The columns display the age structure for each of the first 6 time steps. The rows show the first 6 generations.
|
Diagram Breakdown of the Rabbit Population |
|
|
|
|
|
|
|
|
|
|
|
Generation |
|
|
|
|
|
|
|
1 |
NB |
YA |
MA | |||
|
2 |
NB |
YA |
MA | |||
|
NB |
YA |
MA | ||||
|
3 |
NB |
YA |
MA | |||
|
NB |
YA |
MA | ||||
|
NB |
YA |
MA | ||||
|
4 |
NB |
YA |
MA | |||
|
|
|
|
|
NB |
YA | |
|
|
|
|
|
NB |
YA | |
|
|
|
|
|
NB |
YA | |
|
|
|
|
|
NB |
YA | |
|
5 |
|
|
|
|
NB |
YA |
|
|
|
|
|
|
|
NB |
|
|
|
|
|
|
|
NB |
|
|
|
|
|
|
|
NB |
|
|
|
|
|
|
|
NB |
|
|
|
|
|
|
|
NB |
|
|
|
|
|
|
|
NB |
|
|
|
|
|
|
|
NB |
|
6 |
|
|
|
|
|
NB |
|
|
|
|
|
|
|
|
|
Time Step |
1 |
2 |
3 |
4 |
5 |
6 |
|
Newly Born |
1 |
1 |
2 |
3 |
5 |
8 |
|
Young Adult |
0 |
1 |
1 |
2 |
3 |
5 |
|
Mature Adult |
0 |
0 |
1 |
1 |
2 |
3 |
|
Total |
1 |
2 |
4 |
6 |
10 |
16 |
This diagram captures many of the key aspects of the growth process of this rabbit population. Viewing the chart by columns, we can see the age-specific breakdown for each time-step. For example, in the 4th column we see that there are 3 newly born, 2 young adults and 1 mature adult. Viewing the chart by rows, we see the progression of the pairs born in a given generation as they move through the age-specific categories for the rabbit population. For example, the two pairs born in the 3rd generation become young adults in the next column, contributing 2 pairs of newly born to the 4th generation below them; they then survive to produce one last time, contributing to the 5th generation.
The information contained in the diagram can then be summarized in a spreadsheet like the one shown below.
|
Time |
Newly |
Young |
Mature |
Total of |
|
Step |
Born |
Adults |
Adults |
Rabbits |
|
1 |
1 |
0 |
0 |
1 |
|
2 |
1 |
1 |
0 |
2 |
|
3 |
2 |
1 |
1 |
4 |
|
4 |
3 |
2 |
1 |
6 |
|
5 |
5 |
3 |
2 |
10 |
|
6 |
8 |
5 |
3 |
16 |
|
7 |
13 |
8 |
5 |
26 |
|
8 |
21 |
13 |
8 |
42 |
|
9 |
34 |
21 |
13 |
68 |
|
10 |
55 |
34 |
21 |
110 |
Once the spreadsheet has been created, we can view large amounts of data conveniently, include the data in reports, and easily create graphs. Also, we can vary the assumptions of the model and explore variations of the problem situation quickly.
Investigation #1
Starting with 1 pair of "newly born" rabbits, suppose that each pair of rabbits survives through 4 time steps, instead of three.
(a) Create a "diagram analysis" to break this problem situation down
(b) Create a spreadsheet that shows the data for each of the 4 age categories
(c) Create a graph showing Newly Born vs. Time Step
Investigation #2
Suppose that each pair of rabbits survives through 3 time steps (as in the original setup), but that each pair of young adults has 2 pairs of newborns. Also suppose that mature adults have only 1 pair each.
(a) Create a table showing each age category and the total number of rabbits for time steps = 1, 2, 3, ... , 10
(b) Create a graph showing Newly Born vs. Time Step
Let's return to the original problem situation. For any given time step, the population can be conveniently broken down into its age-specific groups with matrix notation.
So the information in the diagram and spreadsheet can be expressed as follows:
Step 1 2 3 4 5 6 n
Structure
Now, as the population moves from one time step to the next, we see that
Bold ---> Ynew , Yold ---> Mnew, and then Ynew + Mnew ---> Bnew
This transformation can be accomplished by matrix multiplication!
This can be expressed in a more compact form:
where T is the transition matrix
and Pold & Pnew are the population matrices.
This multiplication can be accomplished on a calculator with "Answer-Key" iteration. First enter the transition matrix into matrix [A], then the initial population matrix into matrix [B]. Next call matrix [B] and press <enter>. Then call matrix [A] and multiply by ANS. Finally, press <enter>, <enter>, <enter>, ... to get the 2nd, 3rd, 4th, ... generations.
As can be seen in both the diagram and the spreadsheet, the values of each age group can be determined from previous values. These patterns can be expressed iteratively.
Let = # of newly born in the nth time step
= # of young adults in the nth time step
= # of mature adults in the nth time step
then, moving from one time-step to the next, we can see that
,
and then
Note: It follows that
Since all three age groups have the characteristic Fibonacci-like pattern
we will now focus on the "newly born" category.
Investigation #3 - Predicting Values
n Relative Error
1 1
2 1
3 2
4 3
5 5
6 8
7 13
8 21
9 34
10 55
(a) What sort of regression best fits these data?
(b) Use this "best-fit" to predict values for these n's.
(c) Compute the relative error* for these predicted values.
(d) Extend the table by using n = 1, 2, 3, ..., 20; then refit the data.
*note: Relative error is given by
Investigation #4 - A Sequence of Quotients
Consider the sequence
(a) Complete this table of values.
n 1 2 3 4 5 6 7 8
1 2 1.5
(b) Extend this table further out to the right (by letting n = 10, 20, 30, ...); then describe what happens to the values of .
(c) Sketch a graph of vs. n.
In the third investigation, we find that grows exponentially:
for n = 1, 2, 3, ..., 10
and, for n = 1, 2, 3, ..., 20
.
The fourth investigation reinforces this, since the ratio gets very close to 1.618 as n gets large; hence .
In fact, if we assume that and apply this to the iteration , we get
The roots of this equation are
Key Observation: Notice the striking similarity between the base of the exponential, the limiting value of the ratio and one of the roots of this "characteristic polynomial". What is going on here? The next two investigations will explore this similarity further.
Investigation #5 --
In investigation #1, we found that the "newly born" followed the pattern shown above. Using this ...
(a) Determine the characteristic polynomial for this iteration, then graph this polynomial on your calculator. How many real roots does it have? Approximate any real roots you find.
(b) Create a table of values showing vs. n. What happens as n gets large?
(c) Compute an exponential fit for this situation, where n = 1, 2, 3, ..., 10.
Investigation #6 --
In investigation #2, we found that the "newly born" followed the pattern shown above. Using this ...
(a) Determine the characteristic polynomial for this iteration. Then graph this polynomial on your calculator. Determine an exact algebraic expression for each of the two roots.
(b) Create a table of values showing vs. n. What happens as n gets large?
(c) Compute an exponential fit for this situation, where n = 1, 2, 3, ..., 10.
DeMoivre (1718) and Binet (1843) found a "closed form" solution for the iteration
by using the roots of the characteristic polynomial. The solution shown below is called Binet's Formula (cf.: Schoenberg for details)
Notice that the quantity
tends to zero as n gets large, so this quantity will have less and less effect as n grows. This means that the expression
for n sufficiently large
will provide a very good fit, as we saw in investigation #3.
According to Eves and Boyer, Fibonacci's original problem was stated as follows:
How many pairs of rabbits can be produced from a single pair in a year if every month each pair begets a new pair which from the second month on becomes productive?
The sequence of rabbits born each month is the Fibonacci sequence.
For more on Fibonacci and his numbers, see:
Mathematical Time Exposures by Isaac Schoenberg, MAA Publication, 1982 (19-20)
An Introduction to the History of Mathematics by Howard Eves, Holt, Rinehart & Winston, 1964 (281)
A History of Mathematics by Carl B. Boyer, John Wiley & Sons, 1968 (230)
Number Theory and its History by Oystein Ore, McGraw Hill, 1948 (20)
Excursions in Number Theory by Ogilvy & Anderson, Oxford University Press, 1966 (133-44)
Further references and reading:
"The Aging of the Human Species" by Olshansky, Carnes & Cassel, Scientific American, April 1993
Mathematics in Medicine and the Life Sciences by Hoppensteadt & Peskin, Springer-Verlag, 1992
A Primer of Population Biology by Edward O. Wilson & William H. Bossert, Sinauer Assoc., Inc., 1971
Excursions in Calculus by Robert M. Young, MAA Publication, 1992 (130-1)