Agents, Hierarchies and Sustainability Agent

Andreas König, Michael Möhring, and Klaus G. Troitzsch
Agents, Hierarchies and Sustainability
Agent-Based Computational Demography Workshop
Rostock, 21-23 February 2001
Authors’ addresses:
–
Andreas König,E-mail: [email protected], WWW: http://www.koenig-andreas.de, phone: +49–261–
41459
–
Dr. Michael Möhring,Institut für Wirtschafts- und Verwaltungsinformatik, Rheinau 1, D–56075 Koblenz, Email: [email protected], WWW: http://www.uni-koblenz.de/~moeh, phone: +49–261–287–2668, fax:
+49–261–287–2642
–
Professor Dr. Klaus G. Troitzsch,Institut für Wirtschafts- und Verwaltungsinformatik,Rheinau 1, D–56075
Koblenz, E-mail: [email protected], WWW: http://www.uni-koblenz.de/~kgt, phone: +49–261–287–
2643, fax: +49–261–287–2642.
Abstract
Our paper describes asexually reproducing agents in a sugarscape-like world who move around and feed on
resources. Agents have a number of possible actions: move, gather food, breed offspring, subordinate and
unsubordinate, start and end co-ordinating, and, last but not least, rest.
Some of the agents may act as co-ordinators for others. Co-ordinators and subordinates co-operate: co-ordinators
give their subordinates hints at where resources can be found, subordinates share their information with coordinators and pay them a contribution for their co-ordinating work. Thus, the emergence of a (rather flat)
hierarchy can be modelled.
Resources grow and are eaten, and they can spread into neighbouring fields. If all resources in a field are eaten,
growth of resources ceases until seed is spread from a neighbouring field. An agent will eat all or part of the
resources in the field it is living in, depending on the value of its attributes ‘‘gatherAmount’’ (the maximal
amount it will consume) and ‘‘gatherRest’’ (the minimal amount it leaves on the field). Thus, sustainability can
be modelled.
User-accessible parameters of the JAVA simulation program facilitate user control over a wide variety of
features of the model.
One of the simulation results is that in an agent society with co-ordination and subordination sustainability can
easier be achieved than in a society of isolated agents.
Setting: A SugarScape-like Grid
The model which we describe defines a sugarscape-like world — a toroidal grid in whose cells food grows and
is eaten by agents who move over the grid. Agents can co-ordinate others, thus building up a (flat — two-level)
hierarchy1. Agents can choose among a number of different actions, their choice depends on how promising the
possible actions are (to which degree their needs are satisfied by their actions). Food is modelled as plants which
grow and spread seed into neighbouring cells.
The World
1
This is not actually a hierarchy, since it has only two levels. Co-ordination is similar as in and in .
circles and triangles: agents
– triangles, upward pointing: co-ordinators
– triangles, downward pointing: subordinates
– circles: ordinary agents
– colour shade: degree of saturation
– black: agents recently deceased
colour shade of cells: amount of food
Plants
Plants grow on most cells (but some may be infertile, at the modeller’s discretion).
Cells are defined by three parameters:
• GFmin is the minimum amount of food which allows it to grow
• GFmax is the maximum amount of food which the cell can carry
• GFinc is the increase of food per simulation round
(given that the actual amount > GFmin )
min(GFinc , GFmax − food ) if
growth = 
0

food > GFmin
otherwise
(1)
Thus, the increase per round is
Seed
Plants can spread seed into neighouring cells. If GFmin > 0 in the neighbouring cell, the seed remains there
(otherwise it is deleted), and if the amount of seed transferred into this cell is > GFmin , it starts growing.
Two parameters control the mechanism of seed spread:
•
•
Spread.probability is the (global) probability that seed is spread into neigbouring cells.
Spread.percentage is the proportion of seed spread into neighbouring cells (the proportion is calculated
from food - GFmin , thus a proportion is calculated from the difference of the actual plant mass and the
minimum necessary for the survival of the plant mass).
Dynamics of the world
In general, the simulation runs as follows. After the initialisation, in every simulation step first seed is spread,
than the growth of plants is effected, and in the end of each step agents perform their considerations and take
their actions.
Features of the simulation programme
The simulation programme shows the world as it is populated by agents and plants. Various monitors allow a
view into the memories of the agents, the attributes of the cells and of the agents.
Most parameters of the model can be edited, some of them even in the running model.
Agents: Overview
An agent is endowed with a number of capabilities:
–
It can consume food from its supplies.
–
It will die, either from starvation (if no supplies are left over) or from old age (there is a period during which
the agent’s probability of dying increases linearly from 0 to 1).
–
It can recognise the state of neighbouring cells, their amount of food, the agents currently staying in these
cells; the neighbourhood is a Moore neighbourhood whose radius is a parameter.
–
It can estimate the results of all its possible actions.
–
It will decide which action to take.
–
After all this, it will carry out an action.
Memory
Agents store their knowledge of the supplies in cells and the positions of other agents in their memories2. The
following graph is a view into an agent’s memory. This agent — marked in orange near the top left corner of the
view — has no information about most of the cells of its world (black cells) either because he has never had this
information or because he forgot it. The most recent positions it knows about other agents are marked blue.
Green cells in different shades reflect its current information about the amount of food in these cells (the darker,
the more), while white cells do not contain any food — to its knowledge. The range of vision is a square of 9
9 in this example; memory is updated in every round, so the shape of the non-black region of the view keeps
track of the agent’s former movements.
2
This is the main difference between our model and
Agents’ needs
Agents’ considerations, decisions and actions are governed by the following needs:
–
survival: they want to survive,
–
wealth: they want to possess as much food as possible,
–
curiosity: they want to know as much as possible about their world,
–
breeding: they want to produce offspring (once they are old enough),
–
influence: they want to co-ordinate other agents.
Agents’ actions
In every round, an agent can carry out exactly one of the following actions:
–
gather food,
–
move to a neighbouring cell,
–
breed,
–
start or end co-ordinating,
–
subordinate or unsubordinate,
–
rest, i.e. do nothing at all.
Not all of these actions are available at every time.
Gathering food
Food is only gathered from the cell the agent stays on. The agent must not gather more than gatherAmount, and
he has to leave gatherRest on the cell. Both parameters are individual parameters under the modeller’s control,
thus gatherRest may be 0, and gatherAmount may be arbitrarily high.
Subordinates have to pay their co-ordinators coordinatorContribution, which is a fixed percentage of the amount
gathered.
Moving around
Agents can decide to move to one of the eight neighbouring cells, provided no agent occupies the foreseen cell.
Which cell the agent chooses depends on how promising the cells are. If all neighbouring cells are occupied, no
motion is possible. A subordinate can only move to the cell which is nearest to the target cell which its coordinator has told it to move to.
Breeding
If an agent is old enough (> pubertyAge), it can give birth to a new agent (asexually). The parent transfers an
initial amount of food (childFood) to its child and places it on to one of the immediately neighbouring
unoccupied cell (or, in another variant of the model, on to the nearest unoccupied cell).
Children inherit their attributes from their parents (except age, of course). Attributes underlie mutation at the
modeller’s discretion.
Mutation
At the modeller’s discretion, some of the agents’ attributes underlie mutation, i.e. children do not exactly inherit
their parents’ attributes, but receive slight modifications.
The mechanism is as follows: Beside a default value which is defined for every attribute (in the initialisation),
minimum and maximum values and the range of mutability can be defined. The actual value of the child’s
attribute is then a random number drawn from a triangular distribution with the parent’s value as the mode (with
an appropriate modification in case the parent’s value is near the minimum or maximum).
0,6
0,5
0,4
0,3
0,2
0,1
0
-2
-1
0
1
2
3
4
5
6
7
8
9
10
0,6
0,5
0,4
0,3
0,2
0,1
0
0
1
2
3
4
5
6
7
8
9
10
Decision-making
The table shows which actions have a special influence (X) on the satisfaction of the needs. If there is no special
influence, a default formula is used (D).
actions
needs
survival
wealth
breeding
influence
curiosity
gather
X
X
D
D
D
move
X
X
D
D
X
breed
X
X
X
D
D
start co-ordinating
X
X
D
X
X
end co-ordinating
X
X
D
X
X
subordinate
X
X
D
D
D
unsubordinate
X
X
D
D
D
rest
D
D
D
D
D
Estimating expected satisfaction
Before making a decision, an agent estimates how much satisfaction (satij) of its needs (j = 1 . . . J) it can expect
from all the possible actions (i = 1 . . . I; note that some actions may be impossible at some times).
How the decision is made can best be explained with the example of the following table (entries in row 1 and
two, columns D to F are satij:
weight
needs
αj
actions
sum
i=1
i=2
i=3
D
E
F
D..F
1
j=1
0.7
0.4
0.6
0.8
2
j=2
0.3
0.9
0.6
0.3
3
∑j αj satij
0.55
0.60
0.65
4
∑j αj satij - mini ∑i αj satij
0.00
0.05
0.10
0.15
5
P(i)
0.00
0.333
0.666
1.00
Needs have different weights (αj), so the overall satisfaction gained from an action is a weighted sum of the
satisfactions (satij) gained from the individual actions. To derive action probabilities from these weighted sums
of satisfactions (row 3), the smallest of these (0.55 in the example of the table) is subtracted from all values in
row 3, and the differences (in row 4) are divided by the sum of all these differences to yield the probabilities P(i)
of taking actions in row 5.
Satisfying needs
The degree to which an action can satisfy a need is given as a real number between 0 and 1.
A simple example is the need of breeding: It is completely satisfied (sat = 1) below the “age of puberty”, after an
agent has given birth to the maximum number of children (maxNumOfChildren as given in the initialisation), and
by the action of breeding. Otherwise it is decremented by default with birthRecreationFactor 1.
Another simple example is curiosity (the need to get information). This need is completely satisfied if an agent
knows all cells within its planning range (a square of radius R around its actual or — in the case of evaluating
the action move — a possible target cell). It would be completely unsatisfied if it knew nothing about any cell.
To evaluate the degree of satisfaction of the needs to survive and the need for wealth, it is necessary first to
analyse the food supply of a cell and its neighbourhood.
Analysing food supply
Food supply in the neighbourhood of a given cell is estimated as follows:
 R 1 
food ( f )  
b food = min1, ∑ d +1  ∑
 d =0 2  f ∈Fd av food  



(2)
with
R
the radius of the planning range (model parameter planningRange)
Fd
the set of all cells with distance d from the cell evaluated
food(f)
the supply in cell f; if the agent has to pay contributions to a co-ordinator, reduced appropriately; if the
cell is occupied, reduced by 50 per cent
avfood
the current average food supply in all cells
Satisfying the need for wealth and for survival
To give just one example of the default satisfactions mentioned above, the default satisfaction of the need to
survive is calculated as follows:
survivaldef = α min(1,
food agent
) + β b food
(3)
wealthdef = α saturation( food agent , avwealth ) + β b food
(4)
food perRound rounds
with
foodagent
the current food supply owned by the agent
foodperRound
the food demand per round
rounds
the number of rounds relevant for this decision
avwealth
the current average wealth of all agents
saturation
a sigmoid function with range [0, 1]
bfood
the estimated food supply in the neighbourhood of the agent’s current position
two weighting coefficients
Co-ordinating
An agent who is not a co-ordinator yet and is not subordinate to another agent may declare itself a (possible) coordinator. From then on, other agents may subordinate themselves to this co-ordinator. Co-ordinating means that
the co-ordinator has to give its subordinates hints at which cells are most promising. Subordinates tell their coordinators what they can see in their ranges of vision.
Co-ordinators have difficult work to do, so their demand of food is higher than the demand of ordinary agents or
subordinates. Subordinates have to pay their co-ordinators a coordinatorContribution.
Ordinary agents choose the most promising among potential co-ordinators. A subordinate keeps track of the
advantages of being co-ordinated by its co-ordinator.
Both co-ordinator and subordinate can terminate the relationship of co-ordination.
Choice of a co-ordinator
An agent can choose among all co-ordinators whom it knows (either because they are within its range of vision
or because it knows them from earlier periods of subordination).
Subordinating decreases the satisfaction of the needs for survival and for wealth by the contribution to the coordinator. Co-ordinating increases these satisfactions by the same amount.
If the subordinate (or potential subordinate) already knows the (potential) co-ordinator, the proficiency of the coordinator can be evaluated. If this evaluation is positive, the satisfaction of the needs for survival and wealth are
increased, and the most promising co-ordinator is chosen.
Experiments
The experiment runs on a 80
60 grid and starts with 300 agents. Plants grow slowly (the increment is 0.05
per round), but everywhere. Co-ordination, once it occurs, is quite stable (subordinates have a long-run
perspective). Children are endowed with a high initial supply (Agent.childFood=100), and only few children are
born ((Agent.birthRecreationFactor=0.999). Mutation is switched off.
For comparison, the experiment is also carried out without co-ordination (flat).
Average food supplies
60000
sumFood flat
50000
sumFood co-ordinated
40000
30000
20000
10000
0
0
20
40
60
80
100
120
140
160
180
200
The variant with co-ordination proves more sustainable than the flat one: the amount of available food is higher
then in the flat variant at any time.
numAll flat
numAll co-ordinated
In the flat variant, agents exploit their world nearly twice as much as in the variant with co-ordination (around t =
40). In the end, average food supplies are sufficient in the variant with co-ordination, but not in the flat variant.
Extinction and survival
90
80
avAllFood flat
70
avAllFood co-ordinated
60
50
40
30
20
10
0
0
20
40
60
80
100
120
140
160
180
200
In the flat variant, the number of agents remains higher for a long time, but in the variant with co-ordination at
least some agents (about 30) survive.
Lotka-Volterra cycles
80000
sumFood
70000
numAll
350
300
60000
250
50000
200
40000
150
30000
100
20000
50
10000
0
5000
0
5100
5200
5300
5400
5500
5600
5700
5800
5900
6000
In a longer run, cycles as in a Lotka-Volterra process are observed. In fact, we have a Lotka-Volterra-like
situation, with agents as predators and plants as prey ().
Co-ordinators and subordinates
avNormsFood
140
avCoordsFood
120
avSubsFood
100
80
60
40
20
0
5000
5100
5200
5300
5400
5500
5600
5700
5800
5900
6000
In good times, ordinary agents are better off than both co-ordinators and subordinates, but in bad times, coordinators are best off.
200
numNorms
180
numCoords
160
numSubs
140
120
100
80
60
40
20
0
5000
5100
5200
5300
5400
5500
5600
5700
5800
5900
6000
When food supplies are decreasing, the proportion of co-ordinators and subordinates increases. At maximum
food supply, the number of subordinates exceeds the number of co-ordinators.
Unsubordinate when times become better
avNormsFood
140
avCoordsFood
120
avSubsFood
100
80
60
40
20
0
5000
5100
5200
5300
5400
5500
5600
5700
5800
5900
6000
In good times, ordinary agents are better off than both co-ordinators and subordinates, but in bad times, coordinators are best off.
coordsZeroSubs
70
coordsOneSub
60
coordsMoreSubs
50
40
30
20
10
0
5000
5100
5200
5300
5400
5500
5600
5700
5800
5900
6000
While food supply is decreasing, co-ordinators have many subordinates, while it is increasing, subordinates
unsubordinate.
Conclusion
While the simulation programs opens modellers a wide variety of parameter settings, in this paper we only
analysed the effect of a very simple hierarchical structure on the sustainability of food supplies. The model
shows that the co-ordination/subordination structure of the agent society facilitates sustainability of food
resources.
References
EpAx96
Epstein, Joshua M., and Robert Axtell. Growing Artificial Societies. Social Science from the Bottom
Up. Cambridge, Mass., London: MIT Press, 1996
Do98
Doran, Jim. Simulating Collective Misbelief. Journal of Artificial Societies and Social Simulation vol.
1. No. 1, http://www.soc.surrey.ac.uk/JASSS/1/1/3.html, 1998
DGPM94
Doran, Jim, Mike Palmer, Nigel Gilbert and Paul Mellars. The EOS project: modelling Upper
Palaeolithic social change. Chapter 9 in [, S.195-221], 1994
GD94
Gilbert, Nigel, Jim Doran eds. Simulating Societies. The Computer Simulation of Social Phenomena.
UCL Press, London, 1994
Tr00
Troitzsch, Klaus G.. Dynamik interagierender Bevölkerungen. In Handbuch der Demographie Band 1.
Hrsg. von U. Mueller, B. Nauck u. A. Diekmann. Springer-Verlag, Berlin, Heidelberg, 2000, pp. 135–
183