Computation and the Human Predicament
The Limits to Growth and the limits to computer modeling
Levels and rates of flow are the principal actors in a system dynamics model, and they usually occupy the spotlight. But there is also a large supporting cast. Among the 150 equations of the World3 model there are just 12 level equations and 21 rate equations; all the rest are “auxiliary” equations of various kinds. In the course of reimplementing the model I learned that the tangled net of auxiliary equations is where most of the complexity—and perplexity—lies.
Level and rate equations are subject to strong constraints, rooted in physical conservation laws. The level of population, for example, can change only by adding births and subtracting deaths; the books of account must balance. The auxiliary equations are not constrained in this way. They represent flows of information rather than materials, and they can take almost any mathematical form. Furthermore, the information pathways of World3 form an intricately branching tree, so that tracing connections through the long chains of nodes is like playing “six degrees of separation.” One pathway between service capital and population is shown in the fourth illustration. The basic idea is simply that services include health services, which affect life expectancy and hence death rates; but it takes about a dozen steps to make the connection.
Many of the auxiliary equations have associated constants and coefficients, or even whole tables of constants. For example, the function relating service output per capita to health service allocation per capita is defined by a table of nine numeric values. More than 400 constants, coefficients, table entries and initial values appear in the model. They are not mathematically determined; they have to come from empirical knowledge of the real world. They represent a great many degrees of freedom in the construction of the model.
Interactions between auxiliary variables are a further source of complication—and mystification. As noted above, health services are assumed to have an effect on life expectancy. But life expectancy is also influenced by three other factors: nutrition, pollution and crowding. How are the four inputs to be combined? Mathematics offers an infinite spectrum of possibilities, but the most obvious choices are to add or multiply. The results can differ dramatically. Suppose the health services variable falls to zero: With an additive scheme, the variable would cease to have any effect on life expectancy, but with a multiplicative combining rule, life expectancy itself would be driven to zero. How does World3 do it? The rule is multiplicative, but with a clamping function that keeps life expectancy in the range from 20 to 80 years.
In bringing up this matter I don’t mean to suggest that one combining form is correct and another wrong; I merely want to call attention to how many subtle decisions are buried in the foundations of the model. And when I read through the program, I kept seeing opportunities for still more elaboration. For example, the demographic effects of health services might well vary depending on whether the services are for young people (vaccination) or older people (nursing homes). This refinement could certainly be incorporated into the model, along with many more, but would it be an improvement? Where do you stop?