Security is a pre-requisite for economic development and activity. Konrad and Skaperdas (2010) analyze the interaction of individual agents in anarchy, without any collective organization. Peasants spend their effort in productive activity, and consume some of their output to sustain themselves until the next period. Bandits produce no output, but prey on peasants, forcing the peasants to surrender their output for the bandits’ consumption.
Peasants may divide their effort between productive work, and securing their output against bandits. A protection function models this security effort; it converts security effort into effective protection of some proportion of a peasant’s output, leaving the remainder to be surrendered to a bandit. The model then analyses an equilibrium condition, where all actors have the same average payoff.
We modify several of the assumptions of the analytical model.
The protection function is given the specific functional form of a contest function.
Peasants randomly choose a protection proportion.
Agents are randomly matched for interaction.
Dynamic: each agent lives one period; if its payoff is below a survive threshold, it dies, otherwise it has a single descendant. If its payoff is higher, above a thrive threshold, it has two descendants.
Peasants inherit the protection proportion of the parent.
Equilibrium: average payoffs to bandits and peasants are equal, within a tolerance.
The simulation is written in Java, and its behavior is governed by a set of parameters. At a granular level, automated unit tests help ensure the correct behavior of individual classes and document the behavior of the simulation.
v1.1: fixes, new parameter for role-shifting dynamic
V1.0: partial implementation of bandits and peasants in the anarchy condition
Project is maintained in github: https://github.com/sjdayday/protection-simulation.git