Classic Computer Magazine Archive CREATIVE COMPUTING VOL. 11, NO. 9 / SEPTEMBER 1985 / PAGE 22

Explosion in paradise: can your keep the population of a desert island under control? (Try this!) Edward H. Carlson.

I magine being cast away on a deserted Polynesian isle with an attractive companion. Warm climate, refreshing cool sea showers, food within reach on mango trees, and swimming in the lagoon--what a paradise! But remember to bring your computer and solar batteries because you will have some calculations to do.

Soon tiny foot prints scuff the beach sand alongside those of you and your mate. In the fullness of time, grandchildren and finally a whole island of descendents appears. The idyllic tropical island becomes more and more like the real world we inhabit and must cope with. Before things get out of hand, enter the program Island (Listing 1) in your computer, and figure out what the population explosion will be like, given various scenarios.

The program assumes a less fanciful situation than a loaf of breadfruit, a jug of palm wine, and thou. Eleven couples arrive on the island and set up housekeeping. (Why 11? Just because a population of 22 fits the computer screen nicely.) We choose an extreme age distribution--all the castaways are 20 years old. Running the program with this "spike" age distribution shows the tendency of future generations to spread out in age range, eventually attaining a "mature" profile somewhere between "rectangular" and "triangular." More later.

The program was written on an IBM PC with an 80-column green screen monitor, but can be adapted to other computers and to 40 column displays. The program calulates populations down to fractions of a person, but displays results as integers. Fractional people are included so you can scale up the results to large populations. If you truly want to do small populations, put INT() functions in as appropriate, and add RND() functions, so that nothing is certain--not even death or the consequences of love.


The Island program makes two sets of assumptions, one about the death rate at various ages, and another about birth rates. Have fun with this program by altering these assumptions and seeing what happens.

The death rate is set by the function FND() in line 2115 and has three parts. A constant term (currently a tenth percent) represents death by accident, occurring with equal probability at any age. A term proportional to one over age square is largest at young ages and so represents infant mortality. The first few years of a child's life are unusually hazardous. Finally, a term proportional to the quantity age-to-a-power increses mortality sharply for the older folk. (This topic is getting more than a little morbid, and I apologize for that. Just be thankful that I am not also talking about taxes.)

The death rates I have chosen are more typical of a modern society with advanced health care and sanitary measures than of a primitve society on a remote and lonely island. Make other assumptions in the function FND() if you wish. Especially, try higher infant death rates and higher constant rates to model the effects of epidemics or an accident-prone life style.

Birth rates are governed less by biological facts than by personal and social attitudes. In the program as listed, custom prevents nubile females from marriage until the age of 20, and childbearing ceases at age 36 (implemented by the FOR statement of line 232. The simplist birth rate function (FNB of line 2120) has the ladies give birth with equal probability each year until they are 36 years old.

Many other attitudes and practices about family size are possible, and most have been tried in one human society or another. I give some other birth rate functions as REMS in lines 2121 to 2124. Try them out, making your own modifications in the numerical values and functional forms. For example, line 2123 shows a birth rate that is decreased if too many old folk are tottering around. Line 2124 decreases birth rate when a gaggle of year old babies is squalling. Improve on this idea by adding an array FS() to hold the average family size in each age cohort--letting the parents decide on an optimum family size. The effects of such feedback loops are further explained in the book by the Weinbergs [1].

National policy also affects birth rates. Given some kind of retirement program, parents do not need many children to provide for their old age. A war-like nation (like Nazi Germany) needing young men for cannon fodder or one attempting to extend its cultural influence in the world (like France under deGaulle) may foster high birth rates. A nation that feels natural resource pressures (scarcity of coal, oil, minerals, farm land), crowding of its population into giant cities, or environmental damage (acid rain, smog, contaminated water), may induce its people to slow or stop population growth (like China and India).

Attitudes in individual families also affect birth rates. Affluent societies tend to have relatively low birth rates, typically from 2.1 to 2.8 children per mother, apparently because children are costly to raise and families would rather spend their income on "quality of life" goods and services--homes, cars, education, vacations, eating out, nice clothes.

Population Profitles

All these decisions yield different profiles for population versus age. A mature, affluent, healthy population has a "rectangular" distribution and zero growth rate. Infants grow up with little probability of death until old age, so the population vs. age graph stays nearly constant until approaching 70 years. Rapidly growing populations have a traingular shaped graph -- lots of children. For zero population growth with high birth and death rates, the shape is also triangular. War and economic roller coasters make for wiggly graphs (like the United States).

Like a cobra which hypnotizes its prey, the curent world population explosion paralyzes our institutions. Throughout most of human existence, population growth rates were near zero. Since the start of recorded history (about 5000 years ago), growth has been quite moderate--for example, about 0.1% per year (for a doubling time of 700 years). As sanitation and modern medicine improved, death rates fell to a very low level and population growth rose to high levels--as much as 2% world wide in the 1970's, and currently about 1.5%. These numbers may not sound very large, but 2% gives a population doubling time of 35 years. So the population would quadruple in the lifetime of each of us, or increase ten-fold over the combined life spans of you and your grandchildren.

Here is a rule of thumb for calculating doubling times in any king of growth problem: Simply divide 70 by the percentage growth rate to get the doubling time. Seventy divided by 2% per year gives a 35-year doubling time. (If you are familiar with exponentials and with natural logarithms, you may recognize where the rule comes from--remember that the natural log of 2 is 0.693.)

Now adjust your Island program to have a growth rate of 2%, change the initial population to 5 billion people (the present world population) and let it run an hour or so. You will find that in about 500 or 600 years, the world population woudl reach 5 trillion. I say would, because it is very unlikely that this will really happen. Five trillion is the number of square yards of earth surface (including the oceans). It is hard to keep a smile on your face when your personal space consists of one square yard!

One sign of our times is the oft repeated statement that "90E of all scientists who have every lived are alive today." I believe this quote goes back to Haldane in the 1920's, and that the correct percentage for the 1980's would be somewhat lower. Even so, why so many scientists? The answer is not so much that nowadays we need or can support many scientists, but that a substantial fraction of all people who have ever lived are still alive today.

Population Explosion

Run the Population Explosion program (Listing 2). It computes the total number of people who have ever lived by summing over populations starting 50,000 years ago and dividing by an average life span of 30 years. The answer is near 40 billion, or only 8 times the present population.

The population estimates in the DATA statements of this program come from McEvedy and Jones, Atlas of World Population History [2]. I chose the starting date of 50,000 BP (years before the present) because the Neanderthals disappeared about that time, leaving modern man to explode into civilization. The world population was then about 1.7 million compared to 5 billion now, so even extending the time back to 100,000 years (when Homo sapiens first appeared) would add only about 10 billion to the total of "the number of people who ever lived."

The other number I grabbed out of the air for this calculation was an average life span of 30 years. I would appreciate any clues you may offer for making a better estimate to replace this wild guess.

The programs in this article model interesting human population issues. In a later column I will return to a less important but still fascinating population conundrum: How do the individual 17-year locusts know which year to emerge as adults in order to be in the crowd?