People and energy library

BehaviourComposer: ignore everything before this.

This library of micro-behaviours (MBs) has been created to help build models where people interact with resource and each other. 

The questions underpinning this research: 
  1. can modelling strengthen the critique of arguments made using everyday language
  2. how can modelling be best used in discussions
  3. what skills are needed to appreciate arguments made using modelling


The idea is to create a library of MBs that can be used to explore a wide range of philosophical, political and economic discussions. 
Create and distribute a resource:
  1. resource is finite and unevenly distributed, when it is consumed it is not replenished (coal, oil, gas etc)
  2. resource is finite but constantly replenished at a finite and variable rate (solar, wind, tidal etc)
Put people into this world:
  1. add n agents to the world
    1. start in random position
    2. start in a position according to some pattern e.g. grid
  2. move around according to some set of rules
    1. randomly
    2. between n pre-defined goals e.g. home, leisure, workplace
  3. take resource
    1. static according to pre-set rate
    2. according to pre-set rate +/- local agent influence
  4. re-conceptualise resource that has been taken as assets
  5. agents assert social behaviours
    1. bribe others using assets
    2. punish other using social capital
    3. buy patches using assets
    4. add culture to world with social capital and assets
  6. messaging groups try to influence (religion, media, government)
    1. consume more/less
  7. social rule enforcement (law and justice)
    1. collect taxes
    2. protect private property
    3. state punishment (police)
  8. agent life-cycle
    1. birth, sexual reproduction, death

Initialise model


The patches represent the landscape or environment on which the agents move. Patches can be given attributes such as a quantity of energy, that grows and which agents can consume.


  •  - edit this MB to create and initialise the values of attributes you want the agents to have

Agent script

Scan neighborhood

Agents scan the neighboring patches and memorise things about the patches and any agents nearby.
  •  - scan to find patch with least energy
  •  - scan to find patch with most energy
  •  - scan to find patch with at least one other agent
  •  - scan to find patch with lowest entry cost
  •  - scan to find patch where agents are least wealthy
  •  - scan to find patch where agents are wealthiest
  •  - scan to find patch where agents are least greedy
  •  - scan to find patch where agents are most greedy

Decide where to move

The agent decides where to move based on what it has memorised during the scanning step.
  •  - move to patch with most energy and fewest other agents
  •  - move to patch with the most energy and poorest other agents

Decide how much to consume

Next an agent decides how to much to consume e.g. patch energy 
  •  - take sustainable share of energy or defect and take my-greed or whatever is available: take energy
  •  - only take my-greed unless funds drop below a (risk) threshold
  •  - take my-need unless funds drop below a (risk) threshold, then take my-greed

Manage assets

Once an agent has taken patch energy it becomes assets that the agent can use e.g. to bribe and punish. Assets are put into funds that represent the agents priorities (something akin to personality or character traits)
  •  - agents have a fixed fund-preference value for each fund that determines how much assets they put into each fund


Agents decide which agent(s) in their neighborhood to link to
  •  - link to the richest other agent within a radius of agent vision
  •  - link to the poorest other agent within a radius of agent vision
  •  - link to the greediest other agent within a radius of agent vision
  •  - link to the least greedy other agent within a radius of agent vision
  •  - link to the agent with the highest culture kudos value within a radius of agent vision

Decide how to interact 

Agents decide how to interact with the other agents they are linked to e.g. whether to punish or bribe
  •  - if my punishment fund > n, punish any of my linked agents that have consumed more than the sustainable share of energy of the patch with an amount a (punishment detracted from other agent's assets)
  •  - if my bribe fund > n and I took more than the sustainable share of the energy of the patch, bribe n of my linked agents with an amount a (bribe added to other agent's assets)


To simulate status anxiety, agents with the most assets alter key attributes of the agents nearby by an amount proportional to the difference in asset values
  •  - simulate status anxiety for each agent by comparing assets values and re-setting key attributes in favour of richer agent e.g. greed, defect and fund preference attribute values

Control privacy

Agents can use assets to make themselves the owner of a patch. Becoming an owner means other agents cannot enter the patch unless they pay a fee
  •  - agent sets an entry price to a patch, this price slowly ticks down with time, other agents can take ownership but must pay more than the current entry price, entry to this patch is free to the owner. 

Contribute to culture

Agents can use assets to contribute to the culture value of a patch.
  •  - agent adds to culture value of patch, the value slowly ticks down with time, other agents can contribute at any time, the act of contributing contributes to an agent kudos score

Starting point for modelling

This model shows how energy would be consumed in what might be described as a world where agents do not exhibit human behaviour:

BehaviourComposer: ignore everything after this.