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 = min1, ∑ 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
© Copyright 2026 Paperzz