Lesson 9. How does the population grow? Objective: Generalizing the population function of Lesson 1, we consider here the population model f ( x ) r ( x x 2 ) , where parameter r takes a value in between 0 and 4. In this lesson, we present the stable population level observed in the range r (0,3) , and the remaining range r (3, 4) will be explored in Lesson 10. First, all initial populations eventually die off when r 1 , so that the population model gives rise to total extinction x 0 in the range r (0,1) . However, it can sustain a growing population level x 1 1r for r 1 . This is depicted by the round curve that starts at r 1 and increases to reach x 23 at r 3 . Over the entire range r (0,3) shown above, we can say the population level is stable because any initial population would settle down to x 0 for r 1 and x 1 1r for r 1 . Scary words: Stable and unstable fixed point, graphical iteration, population extinction. Last update: 23 Jan 2003 1 Lesson Population models We have already encountered three models of population dynamics. The first model is the doubling function in Lesson 1 (figure 5), whereby the population simply doubles at each generation. The second model follows the Fibonacci number sequence, as exemplified by the multiplying rabbit pairs in Lesson 4 (figure 8). There, the rabbit population ultimately increases by the golden ratio 1.618, in contrast to factor 2 of the first model. In any event, both models give a continuous population growth without an upper ceiling. Hence, they cannot predict a realistic population level of ecological equilibrium between the gain by birth and loss due to the food shortage and predator attacks. We therefore consider here a generalization of the population function first introduced in Lesson 1 f ( x ) r( x x 2 ) . (1) As emphasized in the function iteration diagram of figure 1, we can freely choose the parameter r in between 0 and 4. Note that the population function of Lesson 1 corresponds to the special case of r = 2. In the right-hand side of equation (1), the first term rx represents population gain and the second term rx 2 gives rises to population loss. Hence, the goal is to find out how the gain and loss terms balance out to give stable population for a given r. A word of caution is; since x takes a value in between 0 and 1, we must interpret it as a ratio of the actual population to maximum population that can be sustained by a given environment. For instance, with the maximum population of, say, 100 rabbits, x = 0.5 means 50 rabbits. Also, a negative x should be rejected, for it has no physical meaning. Figure 1. Population function iteration 2 The iterates of population function For r 2 population function (1) becomes f (x) 2( x x 2 ) , (2) which we have already studied in Lesson 1. We see in table 1 that the initial population xo 0.3 gets iterated to final state x 0.5 only after four iterations. Instead of the detailed worksheet of table 1, it is simpler to summarize in table 2 the successive iterates beginning from initial xo 0.3 to the fourth iterate x4 0.5 . Table 1. Iteration of function (2) x0 0.3 First iteration: f (x) 2( x x 2 ) x1 2(0.3 0.32 ) 0.42 Second iteration: f (x) 2( x x 2 ) x2 2(0.42 0.422 ) 0.4872 Third iteration: f (x) 2( x x 2 ) x3 2(0.4872 0.48722 ) 0.49967 Fourth iteration: f (x) 2( x x 2 ) x4 2(0.49967 0.49967 2 ) 0.49999 Table 2. Successive iterates for r = 2 xo x1 x2 x3 x4 0.3 0.42 0.4872 0.49967 0.49999 Graphical iteration It is perhaps more instructive to follow through the iteration steps of table 1 in graphical form. To do this, we first plot the function f ( x) of equation (2) by a red round curve in figure 2, and then draw in a 45 diagonal in blue, which is the function x. It should be noted that the intersection of the round curve and diagonal would correspond to 3 x f ( x ) , which occurs at x 0.5 in figure 2. Let us begin by marking initial population xo 0.3 on the x-axis of figure 2. From xo we draw a vertical line to the red round curve; the intersection corresponds to the first iterate x1 0.42 . Next, we extend the line horizontally to the diagonal and again vertically to the red round curve; the intersection is the second iterate x2 0.4872 . Similarly, by a horizontal and vertical line extension the third iterate is located, and so on. However, as the iteration proceeds further, you see in figure 2 that the horizontal and vertical line segments get trapped in the wedge of round curve and diagonal. Hence, they all pile up on the intersection x 0.5 , which is the fixed point of x f ( x ) that we are seeking. Figure 2. Graphical iteration starting from x0 0.3 Automated iteration of x = f(x) For the convenience of readers, the graphical iteration procedures of figure 2 have been coded into Prog#9, which also tabulates the result of successive iterations as in table 2. To run Prog#9, you need to only specify r as the required input. It sets the initial population at xo 0.3 and automatically figures out a maximum number of iterations required for the input value of r. However, you can override the default initial population and maximum iteration number. The Prog#9 reports up to 160 successive iterates. Should there be more than 160 iterates, it presents the first 32 and last 80 iterates to fit in one screen frame. It then displays the graphical iteration plot of figure 2 carried out to the maximum iteration limit. As expected under r = 2 and x0 0.3 , Prog#9 actually reproduces the successive iterates of table 2 and graphical iteration plot of figure 2, both of which indicate the stable population of x 0.5 . Here, by stable we mean that the final 4 state x 0.5 is obtained from any initial x0 , except for x0 0 and 1. To check this out, you can fill in the last column entries of table 3 by Prog#9. Table 3. Input data set for r = 2 Initial population xo Maximum iteration number Final population 0 0.001 0.3 0.7 0.999 1 5 15 5 0.5 5 15 5 Population extinction in the range r = (0, 1) We express that function (1) intersects with the 45 diagonal by the following equation (3) r ( x x2 ) x function (1) the diagonal By dividing each side of equation (3) by r, we get a quadratic equation x2 (1 r1 ) x 0 . After factoring out x, we obtain an alternate expression x (1 1r ) x 0 , which shows there are two possible solutions for x. We see at once x 0, (4) is one solution. This simply says that function (1) and the diagonal start out from the common origin at x 0 . Now, the other solution is x (1 1r ) 0 , so we can write the second solution as x 1 r1 . (5) Now, this is where one expects function (1) will come to cross the diagonal somewhere along the x-axis of figure 2, other than the origin x 0 . As it turns out, when r is less than 1, solution (5) makes no sense because x is negative, so that only the first solution (4) is good in the range r (0,1) . To see this, two round curves of function (1) for r = 1 and 0.5 are plotted in figure 3, and neither of them can cross the diagonal except for at the origin x 0 . Hence, solution (4) represents the fixed point of population model (1) in the range r (0,1) . 5 Figure 3. Intersection of function (1) with the diagonal For the initial xo of table 4, you can verify by Prog#9 that x 0 is the final population. This is evidenced by that the vertical and horizontal line segments always move toward x 0 , as the iteration proceeds, in the graphical iteration plot of Prog#9. In fact, x 0 is the stable fixed point of function (1), and we therefore conclude population annihilation over the entire range r (0,1) . Table 4. Iteration data set for r = (0, 1) r Initial population xo 0.2 0.3 0.5 0.3 0.5 0.5 0.5 0.8 0.9 0.3 1 0.3 Final population Stable population growth in the range r = (1, 3) Obviously, solution (4) is valid for any value of r, which means that the round curve and diagonal always start out from the common origin x 0 . However, as soon as r becomes larger than 1, the round curve can intersect with diagonal at another point x 1 1r on the x-axis, which is given by solution (5). So, function (1) now has two fixed points x 0 and x 1 1r for r 1 . Although x 0 was the stable fixed point for r 1 , it has become an unstable fixed point as r is larger than 1, so that it pushes away iterates from approaching x 0 . Hence, x 1 1r is now a fixed point of function (1), as shown f ( x) r ( x x 2 ) 1 1r 1 1 r (1 1r )2 6 First you evaluate x 1 1r in the second column entries of table 5. Now, by Prog#9 you can determine the final iteration values in the third column, and also record the maximum iteration numbers in the last column of table 5. Did you use big enough iteration numbers to reach the final iterate of the second column? In particular, we must point out that a maximum of 14,000 iterations is not really large enough for r = 3, as evidenced by final iterates 0.66467 and 0.66866, which oscillate about the target value 0.66666. Table 5. r 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 Fixed point: 1 1r Stable fixed points for r = (1.2, 3) Final iterate Max iteration number: Iteration completed? 0.16666 0.66666 Summary of the population dynamics up to r = 3 We plot the results of tables 4 and 5 in figure 4 to summarize the population level for r = (0,3) . For r 1 population model (1) cannot support life, so that any initial population eventually dies off to give zero population x 0 . However, as r becomes larger than one, there is a steady growth of population by x 1 1r , reaching x 23 at r 3 as shown in figure 4. 7 Figure 4. Fixed-point diagram of the population model We now examine in detail population dynamics for the two values r = 0.5 and 2, which are indicated by a round dot in figure 4. First, for r = 0.5 we have already observed that three initial xo 0.3 , 0.5, and 0.8 get iterated to zero population in table 4. This is typified in figure 5 by the successive iterates resting at x 0 , whereas the initial transient iterates are tentatively shown by a dotted line. One cannot help but notice a striking similarity between zero iterates in figure 5 and trailing decimal digits of 34 0.75000... , which are also zeros. Hence, figure 5 has a perfect analogy to the bouncing soccer ball that comes to rest at the center hollow of a concave floor (figure 4 of Lesson 8). Figure 5. Successive iterates for r = 0.5 Next, in table 3 for r = 2 we have also observed that the iterations eventually settle down to x 0.5 from several of the initial xo , and this is schematized in figure 6 by a dotted line connecting xo 0.3 to x 0.5 . Here, we compare successive iterates 8 at x 0.5 with the repeating decimal digits of 1 3 0.333... (figure 1 of Lesson 8). therefore infer that successive iterates of figure 6 have period 1. Figure 6. Successive iterates for r = 2 9 We