For the Easter of 2014, let me repropose my post on the dynamic modelling of the Easter egg hunt which, for some reason, has been the most successful post ever to be published (in 2012) on the former "Cassandra's Legacy" blog, now known as "Resource Crisis." -Happy Easter, everyone!
Here
is a little Easter post where I try to model the Easter Egg hunt as if
it were the production of a mineral resource. A simple model based on
system dynamics turns out to be equivalent to the Hubbert model of oil
production. We can have "peak eggs" and the curve may also take the
asymmetric shape of the "Seneca Peak."
So, even this simple model confirms what the Roman Philosopher told us
long ago: that ruin is much faster than fortune. (Image from uptownupdate)
For
those of you who may not be familiar with the Easter Bunny tradition,
let me say that, in the US, bunnies lay eggs and not just that: for
Easter, they lay brightly colored eggs. The tradition is that the Easter
Bunny spreads a number of these eggs in the garden and then it is up to
the children to find them. It is a game that children usually love and that
can last quite some time if the garden is big and the bunny has been a
little mean in hiding the eggs in difficult places.
A
curious facet of the Easter Egg hunt is that it looks a little like
mineral prospecting. With minerals, just as for eggs, you need to search
for hidden treasures and, once you have discovered the easy minerals
(or eggs), finding the well hidden ones may take a lot of work. So much
that some eggs usually remain undiscovered; just as some minerals will
never be extracted.
Now, if searching for minerals is
similar to searching for Easter Eggs, perhaps we could learn something
very general if we try a little exercise in model building. We can use
system dynamics to make a model that turns out to be able to describe
both the Easter Eggs search and the common "
Hubbert" behavior of mineral production. The exercise can also tell us something on how system dynamics can be used to make "
mind sized" models (to use an expression coined by Seymour Papert). So, let's try.
System
dynamics models are based on "stocks"; that is amounts of the things
you are interested in (in this case, eggs). Stocks will not stay fixed
(otherwise it would be a very uninteresting model) but will change with
time. We say that stocks (eggs) "flow" from one to another. In this
case, eggs start all in the stock that we call "hidden eggs" and flow
into the stock that we call "found eggs". Then, we also need to consider
another stock: the number of children engaged in the search.
To
make a model, we need to make some assumptions. We could say that the
number of eggs found per unit time is proportional to the number of
children, which we might take as constant. Then, we could also say that
it becomes more difficult to find eggs as there are less of them left.
That's about all we need for a very basic version of the model.
Those
are all conditions that we could write in the form of equations, but
here we can use a well known method in system dynamics which builds the
equations starting from a graphical version of the model. Traditionally,
stocks are shown as boxes and flows as double edged arrows. Single
edged arrows relate stocks and flows to each other. In this case, I used
a program called "
Vensim"
by Ventana systems (free for personal and academic use). So, here is
the simplest possible version of the Easter Egg Hunt model:
As
you see, there are three "boxes," all labeled with what they contain.
The two-sided arrow shows how the same kind of stock (eggs) flows from
one box to the other. The little butterfly-like thing is the "valve"
that regulates the flow. Production depends on three parameters: 1) the
ability of the children to find eggs, 2) the number of children (here
taken as constant) and 3) the number of remaining hidden eggs.
The
model produces an output that depends on the values of the parameters.
Below, there are the results for the production flow for a run that has
50 starting eggs, 10 children and an ability parameter of 0.006. Note
that the number of eggs is assumed to be a continuous function. There
are other methods of modeling that assume discrete numbers, but this is
the way that system dynamics works.
Here,
production goes down to nearly zero, as the children deplete their egg
reservoir. In this version of the model, we have robot-children who
continue searching forever and, eventually, they'll always find all the
eggs. In practice, at some moment real children will stop searching when
they become tired. But this model may still be an approximate
description of an actual egg hunt when there is a fixed number of
children - as it is often the case when the number of children is small.
But
can we make a more general model? Suppose that there are many children
and that not all of them get tired at the same time. We may assume that
they drop out of the hunt simply at random. Then, can we assume that the
game becomes so interesting that more children will be drawn in as more
eggs are found? That, too can be simulated. A simple way of doing it is
to assume that the number of children joining the search is
proportional to the number of eggs found (egg production). Here is a
model with these assumptions. (note the little clouds: they mean that we
don't care about the size of the stocks where the children go or come
from)
This
model is a little more complex but not so much. Note that there are two
new constants "k1" and "k2" used to "tune" the sensitivity of the
children stock to the rest of the model. The results for egg production
are the following:
Now
egg production shows a very nice, bell shaped peak. This shape is a
robust feature of the model. You can play with the constants as you
like, but what you get, normally, is this kind of symmetric peak. As you
probably know, this is the basic characteristic of the
Hubbert model
of oil production, where the peak is normally called "Hubbert peak".
Actually, this simple egg hunt model is equivalent to the one that I
used, together with my coworker Alessandro Lavacchi, to describe real
historical cases of the production of non renewable resources. (see
this article published in "Energies" and
here for a summary)
We
can play a little more with the model. How about supposing that the
children can learn how to find eggs faster, as the search goes on? That
can be simulated by assuming that the "ability" parameter increases
with time. We could say that it ramps up of a notch for every egg
found. The results? Well, here is an example:
We
still have a peak, but now it has become asymmetric. It is not any more
the Hubbert peak but something that I have termed the "
Seneca peak"
from the words of the Roman philosopher Seneca who noted that ruin is
usually much faster than fortune. In this example, ruin comes so fast
precisely because people try to do their best to avoid it! It is a
classic case of "
pulling the levers in the wrong direction",
as Donella Meadows told us some time ago. It is counter-intuitive but,
when exploiting a non renewable resource, becoming more efficient is not
a good idea.
There are many ways to skin a
rabbit, so to say. So, this model can be modified in many ways, but
let's stop here. I think this is a good illustration of how to play with
"mind sized" models based on system dynamics and how even very simple
models may give us some hint of how the real world works. This said,
happy Easter, everyone!
(BTW, the model shown here is rather
abstract and not thought to describe an actual Easter Egg hunt. But, who
knows? It would be nice to compare the results of the model with some
real world data. My children are grown-ups by now, but maybe someone
would be able to collect actual data this Easter!)