Blog‎ > ‎

20:30:50 and agent-based modelling

posted Sep 16, 2011, 7:36 AM by Howard Noble   [ updated Sep 16, 2011, 8:38 AM ]
I like to ask audiences questions when I present. I've been asking this one for the last few years:

Consider a population where:

20% have reduced their consumption of energy significantly
30% consume to their heart’s content
50% mirror the consumption patterns of people close to them

What effect might the 20% have on overall energy consumption?

a.    It will decrease  
b.    It will stay the same
c.    It will increase

There is of course no right answer, the idea is to stimulate thinking on the topic of the Rebound Effect and Jevons Paradox. 

The agent-based model (ABM) below relates to this question:

Below are the agents and behaviours that this model is composed of:

In words what is happening is:
  • create a population with 3 types of agent:
    • 20 % consume 1 unit of energy each time unit e.g. per day
    • 30 % consume between 3 and 5 units of energy
    • 50 % consume whatever one of the agents close to them is consuming
  • set the agents moving around randomly and interacting as inferred above
  • they accrue the energy they take from the patches underneath them
  • if they run out of energy they die
What happens? Well if you set the energy growth rate fairly low e.g. 0.0021 per time unit we get the following:

The 30% out-compete the other agents by avoiding the influence of the 20%. Even though the greedy 50% do well for much of the time, at some stage in the simulation their greed changed down to that of the 20% so they accrued less energy. This meant they had less reserves when things got tough (less energy available in the system). The stubborn and greedy 30% out-competed everyone simply by never flirting with the idea that they should consume less. The simulation at the end is dominated by 1 type of greedy agent and everyone else perished. Don't believe me - try it! 

I have not proved anything about the world - that is not what ABM is about. I have made a set of assumption explicit and created an environment that allows other people to explore the inferences that can be made from these assumptions. By doing this within the BehaviourComposer I have hopefully made it easy for others to change the model to something that is more meaningful to them. For instance, they may decide that the 20% might team up with the converted 50% to punish the high consuming 30% somehow - see Nature: Altruistic Punishment paper

I've prepared this for my talk at People and Energy conference next week. Feedback most welcome!