LogoReynolds, R., Whallon, R, and Goodhall, S. (2001). Transmission Of Cultural Traits By Emulation: An Agent-Based Model Of Group Foraging Behavior.
Journal of Memetics - Evolutionary Models of Information Transmission, 4.
http://cfpm.org/jom-emit/2001/vol4/reynolds_r&al.html

Transmission Of Cultural Traits By Emulation: An Agent-Based Model Of Group Foraging Behavior

Robert G. Reynolds*, Robert Whallon+andSteven Goodhall&
*Dept. of Computer Science
Wayne State University
Detroit, Michigan 48202
+Museum of Anthropology
University of Michigan
Ann Arbor, Michigan 48104
&Senior Project Manager
Compuware
Farmington Hills
Abstract
1 - Introduction
2 - 2. Implementing Cultural Transmission In The Vector Voting Model
3 - 3. Model Description
3.1 - The Basic Agent Model
3.2 - The Food Distribution Patterns
3.3 - The Swarm Model Implementation
4 - Experimental Results
4.1 - Random Walk Versus The Vector Voting Model
4.2 - The Effect Of Resource Sharing On Vector Voting Model Performance
5 - Conclusions
Acknowledgements
References

Abstract

The goal of this research is to assess the impact of Culture on decision-making behavior. Specifically we are concerned whether the emergence of human culture provided humans with an adaptive advantage over non-human primate counterparts in terms of hunter-gathering capabilities. Reynolds has proposed several mathematical models of hunter-gatherer and primate decision making based upon differences in human and primate cultural traits [1], these were labeled the cultural algorithm and vector voting models respectively.
In this paper an agent-based implementation of the vector voting model using Swarm is presented. Learning takes place in the model by emulation. The performance of this model in a variety of patchwork landscapes is compared with that of a random walk model. The impact that the distribution of food resources has on the outcome is also tested using several different strategies such as equal sharing, round robin, satisfied first, neediest first, and fixed rank order. The results suggest that the vector voting model performs best when certain resource sharing strategies are used (fixed rank order, satisfied first) as opposed to others such as neediest first, and equal sharing. In the latter case it behaves equivalently to a random walk. Thus, when knowledge is not shared equally, it is not adaptive to share resources equally either.


1 Introduction

The goal of this research is to assess the impact of Culture on decision-making behavior. Specifically we are concerned with the question of whether the emergence of human culture provided humans with an adaptive advantage over non-human primate counterparts in terms of hunter-gathering capabilities. Reynolds has proposed several mathematical models of hunter-gatherer and primate decision making based upon differences in primate and human cultural traits [1], these were labeled the vector voting and cultural algorithm models respectively. In the vector voting model each individual's vote was based upon their own knowledge and knowledge was not shared between individuals. The decision made by the group was a consensus based upon the weights and opinions of the members and was modeled after the patterns of interaction seen among primate groups. In the cultural algorithm model the individuals knowledge was pooled and used by a central decision maker to produce a decision.

The basic context in which these two decision-theoretic models were compared was a two-dimensional cellular space divided into R discrete sub-regions or cells each of unit area. The task facing the model groups was to compute the answers to various spatial predicates or queries about the region based upon the agents current knowledge. The models were analyzed theoretically and it was shown that the ability to form a collective intelligence through the pooling of knowledge with Cultural Algorithms had some distinct advantages over the vector voting model.

In particular, predicates such as the best direction within a region in which to forage, the direction containing the most resources, was limited by the maximum area over which each individual had knowledge. On the other hand, pooling of that knowledge theoretically allowed a group to make these decisions over the entire region.

However, even in a social system where knowledge is not directly pooled, learning can take place. For example, Tomasello and Call [2] state that there are many similarities between how humans and primates understand their social worlds. Each has its own cultural system. In an extensive survey of primate cognition studies they conclude that, "all primates live in basically that same type of social world, in which they individually recognize conspecifics and appreciate both the vertical (dominance) and horizontal (affiliative) relationships that hold between group members. They also have the ability to predict the behavior of conspecifics in many situations based upon combinations of cues and insights, and in some cases to affect the behavior of group mates via various social and communicative strategies."

They state that the basic difference between primate and human cultures is that in the latter the "inter-subjectivity of human linguistic symbols- and their perspective nature as one offshoot of this inter-subjectivity- means that linguistic symbols do not represent the world directly, in the manner of perceptual or sensory-motor representations, but rather they are used by people to induce or construe certain perceptual and conceptual situations in order to attend to them in one way rather than another".

Thus, learning in a primate social system relies heavily on emulative learning. An individual watches another perform an action and observes the state changes that result. Learning in this context is directly associated with sensory motor activities relative to objects in the environment. While humans can acquire knowledge in this way as well, they are able to support the imitative learning of concepts. With imitative learning "an individual understands others as intentional agents, like the self, that have a perspective on the world that can be followed into, directed, and shared."

The idea is that even when a group makes a decision based upon the knowledge of each individual without pooling, the physical results of that decision can be observed by everyone and learning can take place in an emulative fashion. The question of interest in this paper is what additional behaviors emerge from a group that uses the vector voting approach along with an emulative learning process. Specifically, to what extent do behaviors typically observed within a primate foraging group emerge from the use of the vector voting model? In future studies we will examine the impact that adding communication and abstraction capabilities in the form of Cultural Algorithms has on these patterns of behavior.

Here we develop an agent-based implementation of the vector voting model using the Swarm Simulation environment. In section 2 we describe the theory behind the vector voting model and the emulative learning method that serves as the basis for the primate cultural transmission here. In section 3 the Swarm implementation of the vector voting model with emulative learning is presented in detail. Next, in section 4 we describe the results of running this model in a variety of environments with a variety of social configurations. Specifically, we use our system two sets of experiments. Our first set of experiments are used to determine whether the vector voting model outperforms a baseline model which performs a simple random walk through the landscape. We also observe any generalized behavior patterns that emerge from the model group. The second set of experiments is designed to observe how differences in social interaction effect the the performance of the vector voting model. Here, we propose several different ways of distributing the collected resources including approaches based upon dominance and equal sharing. We then attempt to identify which form of distribution works best in conjunction with the vector voting model. Section 5 provides our conclusions.


2 Implementing Cultural Transmission In The Vector Voting Model

The vector voting model represents how primate groups might make consensus based decisions. Human hunter-gatherers can also employ this technique as well and one assumes that human cultural systems are able to build upon the capabilities of the vector voting approach.

The motivation for the vector model can be seen in the following quote from Kummer [3, p. 66], "In choosing the direction of their departure, hamadryas baboons have to rely on information gathered on previous trips. We do not know how or by whom these sites are explored and remembered, but we know that on different mornings different males of the troop strive in different directions. The decision is made by a long process in which most of the males in the troop participate while the rest seem unconcerned. I have already described how a hamadryas troop prepares for departure during its morning rest. The troop performs slow on-the spot movement, changing its shape like an undecided ameba. Here and there, males move a few yards away from the troop and sit down, facing in a particular direction away from the center. Pseudopods are generally formed by the younger males and their groups, until one of the older males in the center rises and struts toward one of the pseudopods. At this, the entire troop is alerted and begins to depart in the indicated direction. Detailed observation reveals that two male roles are involved in leading the hamadryas troop : the younger initiators who "propose" certain directions and the deciders who choose among the proposed directions."

One of the basic decisions that a forgaing group can make is the direction in which to forage during the day. It was shown in [4] that it was not possible for a vector voting model to always select the direction with the maximal amount of resources within a region R. However, theoretical limits aside how does the vector voting model actually perform when coupled with emulative learning, the type of learning that is frequently observed in primate cultures.

In emulative learning the observer makes a cognitive connection between what action is performed and the state changes it produces. For example, a primate can observe another rolling over a log and exposing a number of insects. That action can be viewed as producing a state change which can be stored in memory. In our model, the result of a directional decision produces a trajectory through the landscape. As a result of that path each individual has an opportunity to acquire food. In each cell that the group enters the resources there are divided among group members by various strategies such as priority or fixed order access or equal sharing of resources.

At the end of the day each individual can store a memory, not of the decision, but of the result. An individual does this by associating a visible landmark with the degree to which they were fed (satisfaction scale) the day they saw that landmark. A memory can more than one landmark attached to it and different individuals in the group can associate different landmarks with their memory. The memory made by an individual is a function of the food resources that they received that day. Each individual has a maximum number of memories that it can store and a memory is forgotten after a certain number of days (memdepth) unless it is used again.

Emulative learning using memories associated with the icons encountered relative to a groups previous decision can now be used to impact future decisions. Here, our region R has a number of landmarks (numLandmarks) which are distributed through the space. The cellular space is of size N by M and a cell can have at most one landmark assigned to it. Each day after the group decides on a direction to move based upon the memories associated with the landmarks currently visible from their location (visibility).

Each individual effectively pools the satisfaction scores for the memories associated with the visible landmarks in each of the eight direction. Here the scores are represented by a preference scale from -5 to +5 where the + direction represents satisfaction and - dissatisfaction. The direction with the highest score is the direction of choice for an individual. That choice is then weighted by their status in the group. Each member then moves in the direction of their choice and is observed by the others. The group moves in the direction which achieves the highest consensus as observed by a mediator.

Group size can change based upon the extent to which individuals are fed. Individuals who have not gotten sufficient resources over a given period die and a group is removed when all of each individuals have died. On the other hand if the group has been able to feed all of it members over a given period it can add a new individual up to a maximum group size. When it reaches that size it can fission into a second group.


3 Model Description

The Band model is an agent based model that simulates the foraging behavior of groups of hunter-gatherers using the vector voting method described above. The bands move in a rectangular space, looking for food. The size of the band can increase or decrease over time based on its success in acquiring resources. Fission or fusion of a band takes place when a maximum or minimum number of individuals is produced.

The model supports a variety of food distributions, agent characteristics, and foraging behaviors. Food distributions include completely random distributions, distributions based on mathematical functions, and distributions that simulate a variable distribution based upon local conditions such as terrain, water supply, etc.

Each band member can form memories of their individual successes and failures that they can use to guide their future search for food. At the beginning of each model day, each individual evaluates these memories and selects a preferred direction of travel or vector. The members of a band are polled and the direction preferred by a majority of the members is selected according to the vector voting model given in the previous section.

The band then moves in the selected direction, collecting food as they go. At the end of the day the collected resources are distributed according to the consumption strategy used, each member evaluates how well it was fed, and associates that memory with one or more visible landmarks on the terrain. Several consumption strategies are supported here. They are fixed rank order, round-robin, equal sharing, neediest first, and satisfied first. Each will be described in more detail later.

During the execution of the model, detailed information is written to files for subsequent analysis. This information includes:

These data are then analyzed to develop the graphs that accompany this report. The project is implemented using Swarm, a multi-agent modeling package developed at the Santa Fe Institute (www.sfi.edu)

3.1 The Basic Agent Model

The system models the activities of hunter-gatherers searching for food in a defined landscape, these constitute our agents here. The hunter-gatherers are organized into bands that travel together in search of food. Their search is guided by fixed landmarks that are distributed across the landscape. Individual members of the bands form memories of their past successes and failures in finding food. Each memory is associated with one or more landmarks that are nearby when the memory is formed. Each memory records the degree to which the individual was successful in obtaining enough food on the day that the memory is formed.

Each day, every band selects a direction of travel based on the memories of the individual members of the band. Bands can move basically in a straight line in any of 8 compass directions (N, S, E, W, NE, NW, SE, SW). The distance traveled is limited to a maximum number of squares in the landscape grid. A limit of 4 squares has been used for all trials used in this paper.

Bands move in pseudo-parallel, one square at a time, in rotation among the bands. Each band continues to move in that direction until sufficient resources are acquired to feed all band members, an object is encountered, or the maximum distance limitation (4 squares) is met. A band will alter its trajectory in order to avoid an obstacle. Here the obstacles are either static (the region boundaries) or dynamic (other bands). It is assumed here that two bands cannot occupy the same cellular space at the same time. If a band encounters an obstacle a new direction is selected, based on the same vector voting mechanism used at the beginning of the day, in order to avoid the obstacle.

At the beginning of the day, each band member reviews the memories associated with any landmarks that are currently visible and forms a weighted sum of memory scores for each possible direction of travel. Weighting is based on the interval that has elapsed since the memory was formed or reinforced and the distance to the landmark. Old memories eventually expire. The direction with the highest score becomes that individuals preferred direction of travel. The direction in which the band will travel is selected by summing up the preferred direction for each voting member. The preferred directions of all adult members are scored and the band will travel in the direction that receives the most votes. One constraint that is placed on the selected direction is that no band can reverse its direction of travel from the previous day. If the reverse direction is selected, the second choice is used. The band then travels together in the selected direction with its members collecting food as they go.

Several algorithms are implemented in order to regulate the distribution of the collected food among the members of the band as they collect food in each new cell. These distribution algorithms include round robin, equal sharing, fixed rank order, neediest first, and a satisfied first strategy. Movement for the day stops when the band has traversed the maximum number of squares or when all members of the band have consumed as much food as they can for the day. Each member of the band has a Minimum Daily Requirement for food. A provision is made in the model for an individual to consume more than one day's requirement. This permits an individual that has not been fully fed in the past to "catch up". It also permits individuals to "get ahead" so that they will survive subsequent food shortages. An individual's failure to obtain the MDR on a given day produces a cumulative deficit in nutrition. If the deficit exceeds a selected limit, the individual dies.

At the end of each day, each member of the band forms memories based on how much food they obtained during the day. These memories are associated with one or more landmarks that are visible from the location at the end of the day. Both the visibility of landmarks and the visual abilities of individuals are controlled by model parameters. Each individual selects a random direction and records the landmarks that are visible in that direction. An alternative strategy of using the nearest landmarks for all individuals failed to produce enough variability of experience to drive the voting model.

3.2 The Food Distribution Patterns

The pattern of food distributions are an important part of the agents environment here. Initially we tried various mathematical distributions that were intended to produce gradients of food availability. For reference purposes, we also ran trials against a completely random distribution of food on a cell by cell basis. In a completely random distribution each cell is assigned a resource value between 0 and the maximum quantity allowed in the cell selected from a uniform random distribution. Recently, we have settled on a "patchwork" distribution that is intended to simulate a semi-arid environment in which food supply varies over the entire space but is uniform within localities. Our implementation of this distribution ties each locality to a landmark located at the center of of the local area. Regardless of the distribution, as a group moves through a cell it is able to remove resources from the cell. This amount is generated using a uniform random distribution between the current cell value and 0. After the group has moved on the cell can "regrow" it resources in a linear fashion over time. The parameters for regrowth are provided at run time.

The patchwork distribution represents or attempt to emulate the attributes of a semi-arid environment. This distribution is generated by creating uniform areas of food availability around each landmark on the landscape, perhaps analogous to desert oases. This distribution is created according to the following procedure;

The following image shows a patchwork distribution:


Figure 1. An example patchwork distribution of resources in the model.

3.3 The Swarm Model Implementation

The simulation was written in objective C and runs within the Swarm simulation environment. The Swarm simulation environment provides a collection of software objects and associated methods or algorithms (routines that manipulate these objects) to support the execution of our band model. One of the advantages of this approach is that the basic utilities that are in common to many agent based simulations are pre-written and we only need to supply the object-oriented code for the model. The fundamental swarm object within which our simulation runs is called the observer space object. This object controls the graphics interfaces, scheduling of agent activity, and the performance of basic model control functions such experiment length, and run initialization. It provides a framework in which the behavior of the simulation can be controlled and observed, hence the name observer space object. Table 1 gives the attributes or variables associated with the observer object along with the algorithms that it uses to control the execution of our simulation model here.
 
Object attributes
Attribute Description and usage
Display Interval Controls how often the GUI display is updated. Set to 1 for all trials.
Experiment Duration Number of days that the model will run before terminating.
Schedule Objects Swarm scheduling control objects
Display Objects Swarm display control objects

 
Object algorithms
Attribute Description and usage
Create model Create the model objects
Run model Execute the model
Table 1. The Observer Space is a swarm object that supports the graphical interfaces, scheduling, and control functions for the model.

Running within the observer object is our model. The key object in our model is the model space object. The Model Space is a rectangular grid depicting the agents environment onto which other model objects are mapped. Its attributes and algorithms are described in table 2. Individual bands are placed into cells in the model space as they move about the landscape. Other objects, such as Landmarks, and Food Cells are overlaid on the Model Space and displayed on the common interface provided by the observer object. The dimensions of the grid are set by a pair of parameters. For most trials, a 128 by 128 model space has been used. Practical considerations of the data analysis software preclude large dimensions at this time.

The band model object attributes contain statistics that describe overall model behavior such as the number of bands that are dead, the life span of a band, the number of elapsed days in the model among others. In addition there are attributes that point to a lists of the current bands, the individual agents that comprise them, the current landmarks, and resource cells respectively. These constitute the basic model objects. In subsequent sections we will discuss the attributes and algorithms associated with each. There are also pointers to files that will be used to retrieve model data and archive results. Finally, the model parameter pointer references the list of model parameters that can be set upon model initialization and govern the interaction of the model objects.

The algorithms for the model space object are in charge of getting the model parameters, initializing the model according to those parameters, updating the model statistics after each model event, and logging diagnostic information about model performance that can be useful in debugging the model.
 

Object attributes
Attribute Description and usage
Day Number Counter of the current day in the model.
Number of Dead Bands Current count of the number of dead bands
Number of bands that have died. Count of the total number of bands that have died since the beginning of the model.
Sum of band age at death Sum of the age of all dead bands at the time of their death. Used to calculate average mortality.
Average age of band at death Average age of bands that have died or are still living.
List Food Spaces Pointers to the Food Space Objects
List of Landmarks Pointer to the list of landmarks.
File object pointer Pointer to the file control object
Maximum distance The calculate diagonal distance across the landscape
Model parameters Shared elements that can be set at the start of the simulation run to control the operation of the model.

 
Model Parameters
Parameter Name Parameter Description
BandSize maximum size of each band (number of members)
BandSplit size at which band can split
BandStart size of each band at the beginning of the run (number of members)
BaseMDReq base minimum daily food requirement for an adult
BounceMode Behavior mode when a band reaches the edge of the space or collides with another band

0 – reflex bounce

1 – vote on a new direction

CAAcceptanceInterval Cultural Algorithm Acceptance Interval (days) this is the interval at which the CA component accesses the data in the model space
CAInfluenceInterval Cultural Algorithm Influence Interval (days) this is the interval at which the CA component provides feedback to the model space
CAMode Selects the CA algorithm to be used,
caption Trial Caption
consumeMode mode of consumption during foraging
daysAhead Number of days of consumption that an individual can stockpile to recover from shortfalls or to get ahead
daysToDie number of days without MDR before a guy dies
decayDays number of days for a dead band to decay and disappear from the display until this interval expires, the square occupied by the band is blocked to other bands
diagBand A band number to trigger diagnostic outputs that are limited to a selected band
diagnosticDest destination for diagnostic outputs 

1 = > console 
2 => log, 
3 => both

diagnosticInterval diagnostic interval in days, interval at which diagnostic outputs will be written
diagnosticMask diagnostic mask, a bitmap selecting various classes of diagnostic outputs
flipMode select a yes no parameter to be flipped for each trial
foodDistFactor First computational factor for food distribution. Used differently by each mode. Not always used.
foodDistFactor2 Second computational factor for food distribution. Used differently by each mode. Not always used.
foodDistMode food distribution function
foodDistRange food distribution range in squares

usage varies by algorithm

currently used only for mode 6, patchwork around Lankmarks to control the size of the patches

foodMaxValue The maximum quantity of food that can exist in a single cell
forageMax number of squares to forage in Mode 1
forageMode forage mode 

0=en mass while traveling

1=individual after traveling (unimplemented)

lmDistMode landmark distribution mode
lmPerMemory controls how many landmarks are attached to a memory when it is formed
logDataInterval interval to write to data log (days)
memDepth memory depth in days, number of days after a memory is formed before it is forgotten
memMode Memory formation mode
numBands number of bands to generate
numLandmarks number of landmarks to generate
quitAfter Terminate the mode after this many steps. Results in program failure. Superseded by batch mode operation.
randomDays number of days of random movement before using memory (during this interval, bands do not starve)
regenRate rate of food regeneration per day (<= 1.0)
reincarnateDays number of days before a dead band is reincarnated
reproduceDays Number of days where the band is fully fed before it can add a member.
searchMode search mode
seedProb probability of food in a cell (random distribution) also controls the minumum amount of food

not currently used in other modes

starveMode Mode for determining starvation
stepsPerDay maximum number of steps to move in one day
stopEvery interval (days) at which the model will pause
trialName file name prefix for the trial (yyyymmdd_hhmmss)

this is not specified externally, but is generated and exported at run time

visibility default landmark visibility in squares, for how many squares is a landmark visible
vision default vision in squares, how many squares can a Guy see a landmark
worldXSize X dimension of the model space
worldYSize Y dimension of the model space
ZoomFactor swarm zoom factor, 0 = automatic

1-


 
Object algorithms
Attribute Description and usage
Get methods Obtain model parameters and control variables
Set methods Set model parameters and control variables
Diagnostic methods Log diagnostic information about model execution
Tracking methods Maintain global information on model execution, such as number of living bands, etc.
Table 2. The Band Model space object attributes and associated algorithms

Now each of the model objects that interact within the grid world will be described. The basic objects are: the food space cells, the landmarks, and the bands. The bands are composed of individual member agents and each member agent has a list of memories. We will now describe each of these objects in turn starting with the top level model objects.

The Food Space is a rectangular grid that overlays the Model Space. Each cell in the food space contains a quantity of food that can be consumed. Two supplemental food spaces are defined to support variation in the food supply. The first of these contains the original values calculated when the Food Space was populated. This is used to control the re-growth of food after it has been consumed. The second is used to support seasonal variation of the food supply.
 

Object attributes
Attribute Description and usage
Current food values Array containing the amount of food available in each cell of the landscape.
Maximum food values Array containing the permitted maximum amount of food for each cell of the landscape.

 
Object algorithms
Algorithm Description and usage
Seed food space A group of methods that seed the food space according to the selected distribution function
Regenerate Grow more food to make up for the amount of food consumed. Executed daily.
Vary food Change the available food according to a seasonal cycle.
Get methods Obtain model parameters and control variables
Set methods Set model parameters and control variables
Diagnostic methods Log diagnostic information about model execution
Table 3. The object attributes and the algorithms for the food space object. Its attributes include the current and maximum food values for all grid cells.

Just as the food cells are overlaid onto the model grid, so are the landmarks. Landmarks are randomly distributed throughout the landscape. They are commonly observed landscape features that can be used as reference points in the decision making of the bands. While landmarks can be randomly placed within the landscape, certain landmarks were placed in certain grid positions to ensure that the entire region was potentially exploited by the bands. For example, a Landmark is placed in each corner square of the landscape. This choice was based on early observation that bands could not navigate into the corners of the space unless their was a Landmark towards which they could move.

Landmarks are used to support memory formation and band navigation. Each memory references one or more landmarks that are visible from the location where the memory was formed. All navigational choices made by individuals are made on the basis of moving towards or away from a landmark.

Each landmark is an object whose state is described in terms of its position on the grid, the maximum distance from which it can be viewed, along with a list of memory scores that have been produced by individuals within view of the landmark. The basic algorithms for landmarks are their distribution (randomization), and the collection of statistics about their use in decision making. Currently landmarks are viewed as staic objects so degradation or improvement in their visualization appears over time.
 

Object attributes
Attribute Description and usage
Position X and Y coordinates of the landmark
Visibility Distance at which the landmark is visible
Landmark scores Information about the quality of memories associated with the landmark.

 
Object algorithms
Attribute Description and usage
Distribute landmarks Distribute the landmarks more or less randomly on the space.
Landmark statistics A series of methods that maintain current and prior history on landmark performance in memory searches.
Table 4. The object attributes and algorithms for the Landmark objects.

While the positions of both food cell and landmarks do not change during the course of the simulation, the bands are able to move about in search of food. Bands are groups of individual hunter-gatherer agents. The members of a band move and forage together within a cell. At the beginning of a simulation run, bands are placed at random on the landscape. Since the carrying capacity of the environment can be estimated, the number of bands used will influence the selective pressure on the decision making process here. In all of the runs described here, more individuals are initially present than can be supported by the environment. This was done in order to assess therobustness of the vector voting model under duress.

Each band starts with a specified number of members. This number can be reduced by the death of members or increased by the addition of new members. Both the addition and deletion of members results from the foraging activity. If the group fails to meet the MDR for some of its members over a period of time, deaths can result. If all members of a band die, the band is removed from the model. New members can be added to a band whenever all members of the band have received their minimum daily requirement for a specified number of days. Only one member is added, and the interval starts over. When the band size reaches a maximum, fission can take place where the new band is placed in the location of a deceased band.

Since band decision making is at the heart of the model, the band object is the most complex model object here. Table 5 gives its attributes and its algorithms. A number of band attributes relate to its current status in terms of creation, number of members and a pointer to a list of it members, current direction of movement, and number of members fed among others. Random days is an attribute that determines how many days the group will move at random before decision making via vector voting begins. The random movement simulates the discovery of the new territory by the band and allows them to record memories about their experience which serve as the fuel for the decision making process. Random days is an attribute that determines how many days they forage randomly until decision making begins. For the completely random model, the number of days is equal to that of the simulation length. The band algorithms include methods for initializing a new band, starting a day, finishing a day, updating its members daily information among others.
 

Band object attributes
Attribute Description and usage
Size The maximum permitted size of the band.
Member list Points to the guys in the band
Random days The number of days of random motion to be performed before using the search algorithm. Zero for all recent trials.
Total Daily Requirement The total amount of food required by the band on a single day
Band dead An indicator that the band has died
Band decayed An indicator that the band has been dead long enough to be removed from the display and also long enough to be reincarnated.
Day created The model day on which the band was create or reincarnated
Direction The current direction of movement for the band
Days fed The number of days during which the all members of the band have received their MDR.
Have eaten Indicator of whether the members of the band received the MDR today
Number dead The number of members in the band who are currently not alive.
Number in and The number of members in the band who are currently alive
Consumption order controls Controls the order in which members are fed.
Contact information Counters of the number of times the band collided with or was next to another band
Day band died The day on which the band died. Used to control reincarnation of bands.
Range date Deflections in the X and Y axis during a measurement period.

 
Band object algorithms
Algorithm Description and usage
Get methods Obtain model parameters and control variables
Set methods Set model parameters and control variables
Diagnostic methods Log diagnostic information about model execution
Maintain count of alive and dead Methods to maintain the current living population of the band
Select direction Method to obtain and tally votes from the band members
Step Method to perform one step’s processing for the band, including movement and consumption
Start day Method to control beginning of day processing, including selection of direction
End day Method to control end of day processing, including memory formation by band members
Reincarnate Reincarnate a band that has previously died.
Forage Consume food at the end of a day’s movement (unimplemented future function.)
Maintain movement and contact statistics Group of methods to maintain statistics on range of movement and contact with other bands.
Reproduce Method to add a member to a band during good times.
Table 5. Band object attributes and methods. The band object is the most complex of the model objects. In particular there are a number of algorithms associated with its behavior.

Agents are individual members of a band. They are the second most complex model objects. Each member object forms memories based on how much food it receives on a given day. A number of variables describe the state of an agent including their age and gender, the MDR for their category, where they are located, the landmarks that are visible from their current location, the amount of food they have gotten today, the memories that they have of their experiences, and how they have voted in terms of the bands decision making. The algorithms for an individual agent include making memories, consuming food, starting the day, ending the day, their vote in the foraging decision, and other algorithms to compute agent statistics. The description of the agent object attributes and algorithms are given in table 6 below.
 

Object attributes
Attribute Description and usage
Adult Flag indicating whether the member is and adult of a child
Gender Flag indicating whether the member is male of female
MDR Minimum Daily Requirement of food
Memory list List of memories
Vision Number of square in the landscape that the individual can see a landmark. Not used in any current models.
Food consumed today Amount of food consumed today
Days without food Number of days during which the member has not received the MDR
Dead Indicates whether the individual is dead
Food deficit Cumulative shortfall of consumption against MDR
Number of Memories Current number of memory entries for this individual. Used to gather model statistics
Last vote Holds the last direction the member voted for. Use to calculate dissatisfaction.
Total dissatisfaction Cumulative total of dissatisfaction. Used to determine consumption order.

 
Object algorithms
Attribute Description and usage
Get methods Obtain model parameters and control variables
Set methods Set model parameters and control variables
Diagnostic methods Log diagnostic information about model execution
Vote for a direction Decide which way the member wants to travel
Make a memory Create a memory based on current location and today’s consumption experience.
Start of day Perform start of day processing, including clearing of consumption counters
End of day Perform end of day processing, including calculation of satisfaction
Consume food Consume food up to the MDR
Consume more food Consume food beyond the MDR if it is available, up to the permitted multiplier
Forage Look for food at the end of a day’s movement (unimplemented future function)
Food needed Calculate the current need for food. Used to control consumption order
Check whether fed Compare the amount consumed with the MDR
Reproduce Change status from dead to living, resetting all controls
Table 6. The attributes for the agent objects and their algorithms.

Just as band objects are contained in the model grid, and agent objects make up the bands, each agent has a list of memories that guides their decision making. At the end of each day's movement, every member forms a memory. The content of this memory is a score that indicates how well the individual was fed on that day along with the landmarks associated with the memory by the individual (good), the x and y location in which the memory was formed, and the list of landmarks associated with the memory by the individual. The basic algorithms for this object are the addition and deletion of memories. This constitutes the emulative learning component of the model.The description of the memory object attributes and algorithms are given in table 7.
 

Object attributes
Attribute Description and usage
Get methods Obtain model parameters and control variables
Set methods Set model parameters and control variables
Diagnostic methods Log diagnostic information about model execution
Active indicator Indicates whether the memory is active or expired
Directions Direction of movement into and out of the square where the memory was formed (unimplemented future function)
Good Score reflecting the food consumption associated with the memory
–5 – obtained no food

+5 – obtained as much extra food as was allowed.

Landmark list List of landmarks associated with the memory. Used to select memories for navigation.
Position X and Y position at which the memory is formed. This is maintained but is not used when interpreting a memory.

 
Object algorithms
Attribute Description and usage
Get methods Obtain model parameters and control variables
Set methods Set model parameters and control variables
Diagnostic methods Log diagnostic information about model execution
Reincarnate Clear memories as part of the band reincarnation process
Add a landmark Associate a landmark with a memory
Table 7. A description of the memory object attributes and algorithms

This concludes the basic description of the objects used to support the Band simulation model in the swarm environment. In the following section we use the simulation model to ask various questions about the capabilities of the vector voting model when used in conjunction with emulative learning.


4 Experimental Results

The vector voting model augmented with emulative learning was applied to a variety of different environments, each with a different resource distribution patterns. The goals of these experiments are four-fold:
  1. To compare the model to a base line random walk through the environment.

  2.  
  3. To observe any emergent patterns of foraging behavior that correspond to those exhibited in primate and hunter-gatherers groups.

  4.  
  5. To observe the relative survivability of groups in terms of various cognitive and social parameters, e.g. the number of memories an individual can have.

  6.  
  7. To observe the impact that resource sharing has on the performance of the vector voting model. That is, what forms of sharing are best able to support the vector voting decision making model are which make the model less robust.
While a number of experiments have been conducted we will summarize some of the results here. This section describes two sets of experiments that were performed during the initial stages of the project. The first set of experiments is intended to test the hypothesis that the vector voting strategy performs better than a random search for food in certain environments. In addition, we wanted to determine what specific patterns of behavior emerge when vector voting is used and how these patterns relate to those patterns observed within primate and human hunter-gatherers. The second set of experiments compares the effect that the sharing of resources among band members has on the overall performance of the vector voting model as well on the specific patterns of foraging behavior that emerge. That is, which sharing paradigms are most supportive of the vector voting model, and which paradigms are not.

In general, a set of 10 trials has been used for each of the two experiments. For each trial, a pair of simulations were run. The same random number seed was used for each of the trial pair. For example, for the first set of experiments the trial pair will be a vector voting model and a random walk model. The results of each series are averaged to produce a result set for analysis. The food and landmark distributions are held constant for a group of trials so that scoring of landmarks and interpretation of patterns of movement can be compared.

4.1 Random Walk Versus The Vector Voting Model

A series of 10 trials was run where every band performed a random search for food. An equivalent set of trials was run against the same food and landmark distributions using the vector voting model to regulate group decision making. All simulations are run using the patchwork food distribution and the set of model parameters given below.


Figure 2. An example of the patchwork distribution used in the runs.


 

Parameter Name Parameter Description Parameter Value 1 Parameter Value Description 1 Parameter Value 2 Parameter Value Description 2 Mismatch
bandSize maximum size of each band (number of members) 6   6    
bandSplit size at which band can split 0   0    
bandStart size of each band at the beginning of the run (number of members) 3   3    
baseMDReq  base minimum daily food requirement for an adult 1500   1500    
beliefOption Belief Space Option - unimplemented 0   0    
bounceMode Behavior mode when a band reaches the edge of the space or collides with another band 1 make new decision on bounce 1 make new decision on bounce  
CAAcceptanceInterval Cultural Algorithm Acceptance Interval (days) this is the interval at which the CA component accesses the data in the model space 10   10    
CAInfluenceInterval Cultural Algorithm Influence Interval (days) this is the interval at which the CA component provides feedback to the model space 100   100    
CAMode Selects the CA algorithm to be used, 1 basic landmark history 1 basic landmark history  
caption Trial Caption Memory Based Search   Random Search   YES
consumeMode mode of consumption during foraging 0 fixed order 0 fixed order  
daysAhead Number of days of consumption that an individual can stockpile to recover from shortfalls or to get ahead 2   2    
daysPerYear Number of days per year for seasonal variation 0   0    
daysToDie number of days without MDR before a guy dies 7   7    
decayDays number of days for a dead band to decay and disappear from the display until this interval expires, the square occupied by the band is blocked to other bands 7   7    
diagBand A band number to trigger diagnostic outputs that are limited to a selected band 0   0    
diagLM Diagnostic Landmark Number 0   0    
diagnosticDest destination for diagnostic outputs 

1 = > console 2 => log, 3 => both

0   0    
diagnosticInterval diagnostic interval in days, interval at which diagnostic outputs will be written 10   10    
diagnosticMask diagnostic mask, a bitmap selecting various classes of diagnostic outputs 0   0    
flipMode select a yes no parameter to be flipped for each trial 0 No Parameter Flipping 0 No Parameter Flipping  
foodDistFactor First computational factor for food distribution. Used differently by each mode. Not always used. 0.5   0.5    
foodDistFactor2 Second computational factor for food distribution. Used differently by each mode. Not always used. 0.5   0.5    
foodDistMode food distribution function 6 patchwork around landmarks 6 patchwork around landmarks  
foodDistRange food distribution range in squares

usage varies by algorithm

currently used only for mode 6, patchwork around Lankmarks to control the size of the patches

12   12    
foodMaxValue The maximum quantity of food that can exist in a single cell 16384   16384    
foodVarFactor1 Food variation factor 1 0   0    
foodVarFactor2 Food variation factor 2 0   0    
foodVarMode Vood Variation Mode 0   0    
forageMax number of squares to forage in Mode 1 0   0    
forageMode forage mode 

0=en mass while traveling

1=individual after traveling (unimplemented)

0   0    
goodMode Mode for calculating good scores 0   0    
lmDistMode landmark distribution mode 0 random (seeded corners) 0 random (seeded corners)  
lmPerMemory controls how many landmarks are attached to a memory when it is formed 2 2    
logDataInterval interval to write to data log (days) 0   0    
memDepth memory depth in days, number of days after a memory is formed before it is forgotten 64   64    
memMode Memory formation mode 0 use n closest landmarks in any direction 0 use n closest landmarks in any direction  
numBands number of bands to generate 128   128    
numLandmarks number of landmarks to generate 128 128    
quitAfter Terminate the mode after this many steps. Results in program failure. Superseded by batch mode operation. 0   0    
randomDays number of days of random movement before using memory (during this interval, bands do not starve) 0   0    
regenRate rate of food regeneration per day (<= 1.0) 0.05   0.05    
reincarnateDays number of days before a dead band is reincarnated 9999   9999    
reproduceDays Number of days where the band is fully fed before it can add a member. 10   10    
searchMode search mode 1 memory based vector voting 0 random YES
seedProb probability of food in a cell (random distribution) also controls the minumum amount of food

not currently used in other modes

1   1    
starveMode Mode for determining starvation 1 deficit > MDR * days to die 1 deficit > MDR * days to die  
stepsPerDay maximum number of steps to move in one day 4   4    
stopEvery interval (days) at which the model will pause 100   100    
trialName file name prefix for the trial (yyyymmdd_hhmmss)

this is not specified externally, but is generated and exported at run time

20010213_201544   20010213_200222   YES
visibility default landmark visibility in squares, for how many squares is a landmark visible 32   32    
vision default vision in squares, how many squares can a Guy see a landmark 32   32    
voteMode Voting mode (unimplemented) 0   0    
worldXSize X dimension of the model space 128   128    
worldYSize Y dimension of the model space 128   128    
zoomFactor swarm zoom factor, 0 = automatic 0   0    
Table 8. The run parameters for the experiments used here.

As we might expect, a memory directed search performs significantly better than random movement in almost all food landscapes. The one exception is that if the food distribution is completely randomized, there is no advantage to the memory directed search. However, in all of the examples given here, the global distribution of resources is random, but the local distribution of resources is patterned. The question is whether the vector voting model can outperform the random walk model even when there is just local patterning. If it can, then it should do even better when region-level patterns are present. The following diagrams compare metrics averaged over the 10 trials between the random walk (random search) and vector voting search (memory based search) models for the locally patterned patchwork examples.


Figure 3. The average age of model bands over a 1200 day simulation for the vector voting (memory based) and random walk (random search) models.

Figure 3 shows the average survival age of bands during the execution of the model. This calculation is an average of the age of bands at the time they died as well as the age of each surviving band. The curve for the random model flattens out over time indicating that the age of current bands is contributing less and less to the sum. In other words, the number of surviving band is approaching 0. On the other hand, the age of the surviving bands for the vector voting model is producing a relatively constant increment to the sum over the 1000 model days. That is, a consistent percentage of bands are surviving year after year.

Figure 4 shows the number of individuals getting fed over all bands for each year. The carrying capacity for the environment is approximately 300 individuals. Our initial population was 384, slightly over the maximum amount that we estimated could be supported by the environment on a continuous basis. So, it provides some initial selective pressure on the bands. Initially, the foraging is random in order to gather information for use in decision making. Since all of the food cells are at the maximum at onset the groups are able to increase the number of individuals getting their maximum daily requirements. However, once foraging has started to deplete the resources, the number of individuals getting fed tends to converge to around 200 for the vector voting model, about 100 less than the total carrying capacity. By the addition of more landmarks and the proper selection of the sharing algorithm, the system can plateau at even higher levels, approaching 300 as the maximum plateau. The number of indiivudals fed by the random walk model continues to decrease approaches 0 as an equilibrium point. Although it is clear that the environment can support more than that, the system has not been able to acquire sufficient information to exploit those patterns.


Figure 4. Average number of band members getting fed in the region over 10 runs each for the vector voting and random walk models.

Figure 5 shows the number of band members that were alive on each day of the model execution. Notice that in both cases the numbers of individuals alive exceeds the number of individuals getting fed. For the vector voting model, this number tends to plateau out around 260 here, about 40 less than the carrying capacity. The key is that in any one point in time not all individuals are getting fed, but enough get fed frequently enough in order to allow the overall population to plateau at a higher level than that for those getting fed. The random model again approaches an equilibrium of 0 as the difference between the number of those getting fed and those alive becomes 0 as does the population.


Figure 5. The average number of individuals alive for each model year in the vector voting (memory based) and random walk ( search) models for 1200 days.

The results above demonstrate the effectiveness of the memory based search algorithm in finding food in a harsh but consistent environment. The vector voting model is able to exploit sufficient local patterning of resources in order to produce a suggested equilibrium population of around 260, just under carrying capacity. All of the bands without any memory based decision making died out even though the environment was able to support a proportion of them.

4.2 The Effect Of Resource Sharing On Vector Voting Model Performance

In this section we perform a series of 10 trials each using 5 different resource distribution models. These were: Various success metrics were evaluated for each set. These include: Five sets of 10 trials each were run covering 5 food distribution modes with each mode coded as follows:
Mode 0 - Band members are fed in a fixed order on each turn.

Mode 1 - Band members receive equal shares of the food on each turn.

Mode 2 - The band members with the largest food deficit are fed first on each turn.

Mode 3 - The band members who wanted to travel in the chosen direction are fed first on each turn.

Mode 4 - The band members are fed in a fixed order, starting with a different member in rotation on each turn.

All simulations were run using a memory based search with a patchwork food distribution.

Figure 6 Shows the rate of survival for each of the five distribution modes. The vertical axis is the number of surviving band members and the horizontal axis is the day number.

One of the key things to note is that the performance of the vector voting model is markedly affected by how the resources are shared among the individuals in a band. This is due to the fact that there is no sharing of information among band members concerning the memories that brought about the decision of each. Thus, if individuals who are making bad choices are rewarded as much as those who are making good ones, it is likely that a member making a good choice will die and their memories will be lost to the group forever. Thus, both the round robin and equal sharing paradigms cause the number of individuals to be supported by vector voting models to converge to 0. This is equivalent to the random walk model. This is because the loss of key individuals is causing the decision making to behave in a random manner.

On the other hand, by rewarding the individuals who contributed to the winning decision we are rewarding the providers of key information and working to preserve the groups information that is stored at the individual level. Thus, satisfied first performs the best of the five, producing overall population levels approximately equal to the carrying capacity of the environment. In this case, vector voting exploits the local patterning of resources and satisfied first supports the retention of this information at the local level. "Survival of the fittest" in the case where there is no shared information between individuals means "survival of the group".

Fixed or rank order access to resources performs slightly less than the satisfied first paradigm, but not much less. It is also easier to enforce since one doesn't have to poll the members and decide who did what, where and when. Thus, fixed rank is a good fit with the vector voting model since it produces performance comparable to the satisfied first approach without the social overhead.

The neediest first paradigm is midway between the two groups. Once the population size is significantly below carrying capacity, the vector voting model allows sufficient exploitation of the environment to allow most individuals to be fed. Thus, the randomness that is introduced into the decision-making process is balanced out by the individuals that are helped through the process. Notice that if the group is allowed to share their detailed memories via language, the relative performance of this more altruistic strategy will improve.


Figure 6. The average number of individuals in the population over 10 runs for each of the 5 food distribution modes.


5 Conclusions

In this paper we augmented the vector voting model of consensus-based decision-making in primate groups with emulative learning. Emulative learning was the basic form for cultural transmission used here. Extensive runs of this model suggest that the consensus based approach based upon icon memories was sufficient to produce regional populations that approximate the carrying capacity of a randomized, resource scarce environment when certain resources sharing strategies as used to distribute resources among a band's members. Thus, while the vector voting model cannot theoretically make the best choice all of the time, coupled with feedback in the form of emulative learning it is able to effectively optimize the number of individuals living in a relatively harsh class of environments, semi-arid environments here. The key is that although the environment exhibits local dynamics, it does not display local dynamics at this point. Therefore, a decision-making approach, such as the vector voting paradigm, that efficiently exploits local dynamics is sufficient to produce an optimum population size here relative to carrying capacity.

The vector voting model, while exploiting local patterns effectively, is very sensitive to the resource distribution system used. This is because individual knowledge is not shared. This means that if resources produced by the vector voting approach are shared without any consideration of the individuals who made the decisions in the first place, the individuals and their attendant information can be lost introducing randomness into the process and ultimately generating performance that can be the same as a random walk. Thus survival of the fittest is synonymous with survival of the group when information is not sharable.

Also, there are two resource sharing strategies, satisfied first and rank order, that tend to produce the results that are closest to the carrying capacity. While the satisfied first approach is the most precise way to reward the individual responsible for a groups success, and in turn preserving the information that they used, it requires a certain amount of overhead to manage and enforce. A fixed or rank ordering of access to resources produces results that are slightly, but not much lower, and with less overhead in terms of how to determine allocation.

The next step in our project is to implement the Cultural Algorithm paradigm which allows the individuals to pool their memories. Theoretically, this sharing of information will allow the group to make regional decisions about certain predicates more reliably than in the vector voting model. In particular, the pooling of information via a belief space will allow the group to decide on predicates that are not tied to particular locations , e.g. norms of behavior, within the environment. These are called position invariant predicates. Being able to do this makes imitative learning , a form of learning largely unique to the human species, possible [5]. Both activities are influenced by the structure of the language used to perform the pooling and within which the learned information can be articulated. This will be the subject of a subsequent paper.

Also, it will be of interest to see how the introduction of shared information impacts the relative utility of the resource distribution modes. That is, will equal access to knowledge within the group imply that equal access to resources will provide better support for group decision making than it currently does in a vector voting environment.


Acknowledgements

Dr. Reynolds research is supported by NSF Intelligent Information Systems grant IIS-9907257.


References

[1] Reynolds, R. G., (1978) On Modeling the Evolution of Hunter-Gatherer decision-Making Systems, Geographical Analysis, Vol. X:31-46.

[2] Tomasello, M., (1999) The Human Adaptation for Culture, Annual Review of Anthropology, Vol. 28:509-529.

[3] Kummer, Hans, Primate Socieities, New York, Aldine Press, 1968.

[4] Reynolds, R. G., and Zeigler, B. P. (1979) A Formal Model for the Operation of Consensus-Based Hunting-Gathering Bands, in C. Rebfrew, K. Cooke (eds) Transformations: Mathematical Approaches to Culture Change, New York, Academic Press, pp:405-418

[5] Pedone, R., and Conte, R. (2000)The Simmel Effect: Imitation and Avoidance in Social Hierarchies, paper to be presented at Workshop on Cultural Transmission, Sienna, Italy.
 

© JoM-EMIT 2001

Back to Issue 2 Volume 4