One of the first emergent properties identified and measured was the carrying ca- pacity of the lattice. That is, the number of agents that a fixed size lattice can support. The original graph produced by Epstein and Axtell shows the carrying capacity graph [Epstein and Axtell, 1996] has a distinctive shape. Population size initially steeply declines but very quickly levels off to a constant population size that represents the carrying capacity.
1
The simulation used to attain the carrying capacity employs three rules: Metabolism, Growbackand Movement. The first two of these rules Metabolism and Growback belong to the class of Independent actions and so will not be affected by the updat- ing strategy (i.e. they produce the same outcomes under all updating strategies). The final rule, Movement, belongs to the Write-Dependent category and so will be affected by the strategy employed. Therefore any differences between the SU and AU versions can only be due to the Movement rule.
To reproduce the results of the original simulation we measured the carrying capacity of Sugarscape using SU over time. The specific carrying capacity of Sugarscape depends on many factors including:
Lattice Size Larger lattice sizes (all other factors being equal) will support more agents. A lattice size of 50×50 is used throughout the original tests so we replicate this in all our tests;
Maximum Sugar Capacity and Distribution Each location has a maximum amount of sugar that it can hold. The distribution of sugar capacities will decide whether the sugar is evenly distributed throughout the lattice or concentrated into smaller parts of the overall lattice. If the locations with the ability to hold higher levels of sugar are concentrated into smaller areas this will force agents to crowd together in those areas thereby increasing agent interaction and competition. The original simulation setup used an uneven distribution of sugar carrying capacities with higher capacity locations centred on the Northeast and Southwest quadrants of the lattice. Unless stated otherwise we used a similar distribution that matches the original as closely as possible given the information available. The exact configuration of this distribution is shown in Figuer 7.2 has been made openly available alongside our code; Growback Rate The rate at which sugar grows back at each location (up to the
maximum amount a location can hold) has a large affect on the carrying capacity. A standard grow back rate of one sugar unit per time step has been applied as per the original setup;
Agent Metabolism This determines how much sugar an agent must consume dur- ing each turn in order to survive. The higher an agents metabolism the more sugar it needs to consume in order to survive;
Agent Vision Vision determines how far in each direction an agent can see and also move. An agent with a vision of seven, for example, can move up
Figure 7.1: Food Distribution (Green indicates amount of Sugar at a Location)
to seven locations in a single move. The greater the vision the greater the chance of an agent reaching an adequate food supply and surviving longer. In all cases the resulting graph (see Figure 7.2) of lattice carrying capacity repli- cated the characteristic shape obtained by Epstein and Axtell. Figure 7.2 shows the carrying capacity over time for a 50 × 50 lattice. In this case individual loca- tion maximum sugar carrying capacities ranging from 0 to 3 and were distributed evenly throughout the lattice. The initial agent population size was 600 and all agents were randomly assigned metabolisms ranging from 1 to 3 sugar units per step and a vision of 1.
This indicates that the original outcome, as reported by Epstein and Axtell, is not just an artefact of the updating strategy employed in the simulation. We have in fact shown a stronger result than just replication of previous results: the simulation is shown to reach a stable population size in the same general manner independent of updating strategy employed. This is a successful example of reproducing results as defined by [Drummond, 2009].
Figure 7.2: Lattice Carrying Capacity with Synchronous Updating (Agent Popula- tion versus Time
Table 7.1: Carrying Capacity
Strategy Minimum Maximum Average
Synchronous 127 145 137
Line By Line 150 169 161
Random New Sweep 167 199 181
To see if there is any difference in the carrying capacity when different updat- ing strategies are used we compared the carrying capacities under each updating strategy while keeping all other aspects of the simulation identical. The simulation setup again closely matched the original setup used by Epstein and Axtell. The initial setup was:
• 50 × 50 lattice size;
• Max Sugar levels ranging from 0 to 3 sugar units per location with higher maximum levels clustered in the northeast and southwest quadrants; • Agent metabolisms for each agent were individually randomly assigned val-
ues of between 1 and 3 units of sugar; • Agent vision was fixed at 1;
• Growback of sugar resources at eah location was fixed at one unit per time step.
When we compare the carrying capacity of the simulation under the different updating strategies (Figure 7.3) we can see that although they all have the same dis- tinctive shape there are some differences between them. The original sugarscape updating strategy was Random New Sweep, the most commonly employed updat- ing strategy in ABM and ABSS.
There are two points of interest:
1. The carrying capacity of the simulation under SU is noticeably lower than it is under any AU strategy. It is not clear why this is the case but it can only be due to some manifest differences between movement under SU;
2. As we can see from Table 7.1, there is less variation in carrying capacity under SU. This is perhaps less surprising as synchronous updating is more deterministic that asynchronous updating. Given the same initial state the outcome of applying AU will depend on the random order applied to the agents during each step. Under SU this randomness is not present so we would expect less variation during each step.
A question that arises is whether the collision detection and resolution mecha- nism employed by the synchronous algorithm is responsible for these differences. The synchronous Move rule resolves collisions that occur between agents trying to
move to the same destination by favouring the agent closest to the destination. This is more deterministic than the asynchronous approach where the winner is chosen randomly.
To test this hypothesis that the collision resolution mechanism is responsible for the differences in outcomes, and since we have formally specified two col- lision resolution mechanisms for M ovement, we compared two versions of the synchronous version of Move. The first version applies the standard resolution mechanism as already discussed while the second determines the winners of con- flicts at random. Each version was run with identical starting parameters so that the only differences between them is the presence or absence of the collision res- olution mechanism. For these simulations vision was set to seven for all agents so as to ensure overlap between agents occurs when choosing destinations to move to. Increasing the range of vision ensures that there is more possibility of agents attempting to move to the same destination and the collision resolution strategy will come into play more often. Each version was run 300 times and the resulting carrying capacities checked for any differences.
Table 7.2: Carrying Capacity with different synchronous Movement Rules
Strategy Minimum Maximum Average
Closest Wins 210 267 210
Random Choice 211 272 211
As we can see from Table 7.2 there is no discernible differences between either version of the rule. Our hypothesis that the collision resolution aspect of the rule causes these differences turns out to be false. In this case, the differences between asynchronous and synchronous updating appears to be intrinsic to the nature of the two approaches and not affected by collision detection.