A slightly-less dumb Agent Based Model

It’s been a frantic few days here at CASA in London. After several post-eleven o’clock ends to the working day, I’ve finally managed to get a slightly more interesting version of my agent-based model up and running.

This time the agents live in a world of varying fitness (I’ve described this fitness as “rainfall”, the reasons for which will become clear in about four months!) and, as before, will grow if they can. Each square of land occupied brings wealth every round, but fitter squares bring more wealth. Technology is then developed in a fashion stochastically related to wealth.

If an agent meet another agent, it can attack only if its wealth is greater and its technology is greater. If the attack succeeds, the agent ‘wins’ its enemy’s square but, if it loses, the costs to the agressor are high. Losing is far more likely than winning, but winning brings a new square and, with it, new wealth each turn.

This dynamic leads to near-equilibrium amongst agents: the wealthier will go on the attack, and will mostly lose. They will keep attacking and (mostly) losing until their wealth is so far depleted that they are no longer ‘allowed’ to attack their neighbours. Wealths amongst the surviving few agents therefore tend to converge and an unstable equilibrium is reached.

Here’s the outcome of a typical run of the model, with lighter areas representing more rainfall, and darker areas less.

ABM 2.0

Each agent occupies a peak, and cannot be driven off it by its neighbours.

The actual fitness function has a peak somewhere in the middle of the possible rainfall levels, meaning that more rainfall is better only up to a certain point, after which it becomes worse. A long and fun discussion was had with CASA colleagues about the shape of this fitness function, the white-board results of which look like this; it’s been a stimulating week!

rainfall function

Graphs showing the shape of the rainfall fitness function.