1 Overview

1.1 Purpose

1.1.1 What is the purpose of the study?

1.1.2 For whom is the model designed?

1.2 Entities, state variables and scales

1.2.1 What kinds of entities are in the model?

The primary entity of the model is the boat. The boat represents both the business unit as well as the decisions and memory taken by its captain. Boats are all assumed independent from one another.
The biology is represented by a biomass value for each cell of the map. We model its movement and recruitment process.
Minor entities that take no actions per se are the ports, the social network tying the fishers, the market for fish and the regulations in place in the fishery.
There is no policy-maker agent as all the policies are set exogenously by parameters.

1.2.2 By what attributes (i.e. state variables and parameters) are these entities characterised?

Boats are defined by their bank balance, current location, current gear, fishing experience, friendship network as well as their decision making algorithms (where to fish, when to come back and which gear to use). Biomass at each location is defined by a vector where each element is the weight of fish for that particular species at that location.

I replicate here the parameter table from the baseline scenario in section 2.1.2 of the Electronic Supplementary Material(ESM)

Parameter Value Meaning
Biology Logistic
\(K\) 5000 max units of fish per cell
\(m\) 0.001 fish speed
\(r\) 0.7 Malthusian growth parameter
Fisher Explore-Exploit-Imitate
rest hours 12 rest at ports in hours
\(\epsilon\) 0.2 exploration rate
\(\delta\) \(\sim U[1,10]\) exploration area size
fishers 100 number of fishers
friendships 2 number of friends each fisher has
max days at sea 5 time after which boats must come home
Map
width 50 map size horizontally
height 50 map size vertically
port position 40,25 location of port
cell width 10 width (and height) of each cell map
Market
market price 10 $ per unit of fish sold
gas price 0.01 $ per litre of gas
Gear
catchability 0.01 % biomass caught per tow hour
speed 5.0 distance/h of boat
hold size 100 max units of fish storable in boat
litres per unit of distance 10 litres consumed per distance travelled
litres per trawling hour 5 litres consumed per hour trawled

1.2.3 What are the exogenous factors/drivers of the model?

Regulations, market price and biological carrying capacity are always exogenous to the model.

1.2.4 If applicable, how is space included in the model?

Space is included as a gridded matrix, each cell representing a square of equal area and we assume that movement between one cell and another is always determined by the distance between their two centres.

1.2.5 What are the temporal and spatial resolutions and extents of the model?

All model runs have a daily time step, even though this parameter could be modified. More precisely each step each boat is given a budget of 24 hours they can use to travel, fish or stay at port. Map cells in the conceptual runs are assumed to be 10km squares.

1.3 Process overview and scheduling

1.3.1 What entity does what, and in what order?

Each step fishers act first, then the biology (movement, growth and so on) and then the policy (market price changes, quota trading and so on).

 The order in which the model's components are activated for each step (by default a step is 24 simulated hours)

The order in which the model’s components are activated for each step (by default a step is 24 simulated hours)

Technically each boat is coded as a state machine, as shown here:

A state-machine representation of the fisher

A state-machine representation of the fisher

Fishers decisions are when to leave the AtPort state, when to stop fishing (that is when to break the Fishing-Arriving loop) and where to go fish (breaking the Moving loop). Whenever a boat runs out of its hourly budget, it is frozen in whatever last state it happened to be in. The boat resumes from the frozen state when it is its turn again.

Fish (in the biology step) move every day between neighbouring (in the Von-Neumann definition) cells if there is a difference in their biomasses. The daily movement between two cells is given by: \[ m * ( \text{Biomass at cell } i - \text{Biomass at cell } j ) \] Where \(m\) is a parameter describing fish spreading speed. With \(m=0.001\) two undisturbed cells take about 5 years to equalize their biomass. Every year the surviving biomass in each map cell grows logistically with its own carrying capacity \(K\) and Malthusian parameter \(r\). \[ \text{Biomass}_{t+1} = \text{Biomass}_{t} + r * \left( 1 - \frac{\text{Biomass}_{t}}{K} \right) * \text{Biomass}_t \] Quota regulations reset at the end of each year as do fishing seasons in the policy part of the step.

2 Design Concepts

2.1 Theoretical and Empirical Background

2.1.2 On what assumptions is/are the agents’ decision model(s) based?

The boats are assumed to be profit maximizing. However they are also assumed to have no information about the state of the stock or its location.

2.1.3 Why is/are certain decision model(s) chosen?

We model the profit maximization problem as a modified version of the \(\epsilon\)-greedy bandit algorithm (see the monograph by Bubeck and Cesa-Bianchi 2012 as an introduction). These are sometimes used in social science and in agent-based models (see ??? for example) but are more common in computer science industrial application.

We chose a bandit algorithm as it represents an efficient and simple way to deal with the exploration-exploitation trade-off for all kinds of discrete choices. We aimed for agents that are profit-maximizers without hyper-rationality.

2.1.4 If the model/submodel (e.g. the decision model) is based on empirical data, where do the data come from?

The model is conceptual and uses no data, however the 20% exploration rate was described to us during informal interviews with fishers in California groundfish fishery.

2.1.5 At which level of aggregation were the data available?

None.

2.2 Individual Decision-Making

2.2.1 What are the subjects and objects of the decision-making? On which level of aggregation is decision-making modelled? Are multiple levels of decision making included?

All decision making is done by the boats. All boats act and decide individually.

The boat needs to decide when to depart (in the scenarios described in the ESM this is simply a matter of waiting 12 hours), where to fish, when to come back (in the scenarios described in the ESM this happens when the hold is full or the boat has been out more than 5 days) and what gear to use.

2.2.2 What is the basic rationality behind agent decision-making in the model? Do agents pursue an explicit objective or have other success criteria?

Agents are profit maximizing and proceed by trial and error (as well as imitation) as described below. Explicit profit maximization is impossible because the agents do not know how much fish is in the sea and where. The trial and error can be seen as an imperfect hill-climbing routine, looking for the profit function peak over time.

2.2.3 How do agents make their decisions?

With probability \(\epsilon\) the boat explores a new slot fishing spot. If not exploring the agent copies the fishing spot of her most profitable “friend” (imitation). If the boat is doing better than her friends, she returns to the same fishing spot as the previous trip (exploitation). In pseudo-code terms:

# with probability epsilon, explore
if(runif()<epsilon)
# shock your position by delta
position <- position + runif(min=-delta,max=delta)
else
# if a friend is doing better, copy them
if(profits[me] < profits[best_friend])
position<- positions[best_friend]
# otherwise keep fishing where you usually go
fish(position)

2.2.4 Do the agents adapt their behaviour to changing endogenous and exogenous state variables? And if yes, how?

The decision algorithm described above is adaptive as it keeps trying new areas and imitating friends who are doing the same. An example of adaptation to gas price changes is available in the ESM section 2.3.

2.2.5 Do social norms or cultural values play a role in the decision-making process?

None

2.2.6 Do spatial aspects play a role in the decision process?

Fishing decisions are inherently spatial as they return which cell to fish in. Distance enters the profit function both in terms of time out and in terms of travelling costs.

2.2.7 Do temporal aspects play a role in the decision process?

Only indirectly as a boat can only be at one place at a time. When exploring a new area, the agent compares today’s profit there with yesterday’s profit in the previous favourite cell. There is an implicit assumption that profits are stable within that time frame, but no evidence can be collected to support it.

Agents compare fishing locations by profits made per hour out so that a bountiful area could still be rejected if it takes too long to reach.

2.2.8 To which extent and how is uncertainty included in the agents’ decision rules?

The boats’ algorithm deals with unknown spatial distribution by sampling it. However the algorithm does not deal with sampling uncertainty (that is, the agents believe that the profits made each trip are a fair representation of the overall quality of the area fished).

2.3 Learning

2.3.1 Is individual learning included in the decision process? How do individuals change their decision rules over time as consequence of their experience?

The examples shown in the conceptual paper do not have learning as defined in (???). A replicator dynamic is however available in the Github repository for agents to switch their adaptation strategy, either by changing parameters or by changing algorithms wholesale.

2.3.2 Is collective learning implemented in the model?

Collective adaptation emerges from the model through imitation. No collective decision making is implemented.

2.4 Individual Sensing

2.4.1 What endogenous and exogenous state variables are individuals assumed to sense and consider in their decisions? Is the sensing process erroneous?

The major sensing process in this model is a by-product of fishing: at the end of each trip the agent knows how much money they have made. The process is not stochastic per se but it can still be erroneous. In the time it takes for a fisher to go back to port and decide whether to go to back to the same spot, fish may spawn or move and other boats might trawl the same area. So that while the sensing itself is not erroneous it may be wrong by the time the agent acts on it.

2.4.2 What state variables of which other individuals can an individual perceive? Is the sensing process erroneous?

Boats can see the location targeted and the profit made by friends within their social network. This information can only be sensed about the last complete trip. This means that even though the sensing process is not erroneous, the information value depreciated as biomass moved and competitors fished the area.

2.4.3 What is the spatial scale of sensing?

The sensing only involve one map cell at each time and is only accomplished by visiting the area.

2.4.4 Are the mechanisms by which agents obtain information modelled explicitly, or are individuals simply assumed to know these variables?

They are modelled explicitly as the agent parses its trip level information to extract the profits per hour made during it.

2.4.5 Are the costs for cognition and the costs for gathering information explicitly included in the model?

There are no cognition costs but there are exploration costs (the exploration-exploitation trade-off). Exploration costs are implicit and apply whenever a boat explores somewhere new that turns out to be worse than the currently known best.

2.5 Individual Prediction

2.5.1 Which data do the agents use to predict future conditions?

Agents use only the profit per hour of their last trip (as well as their friends’ last trip.)

2.5.2 What internal models are agents assumed to use to estimate future conditions or consequences of their decisions?

Agents assume that rewards are stationary: repeating the same trip should return the same amount of profits. This assumption is wrong, even within the model, but it’s good enough for exploration and imitation to drive agents to high profits.

2.5.3 Might agents be erroneous in the prediction process, and how is it implemented?

Erroneous prediction is implemented indirectly. If an agent completes a very profitable trip, they’ll predict the same profits next time the trip is made. Others may copy them (or independently discover the same area) or fish move however and the original prediction will likely be false.

2.6 Interaction

2.6.1 Are interactions among agents and entities assumed as direct or indirect?

Boats fish out biomass directly. Boats affect one another only indirectly (by depleting biomass or sharing information).

2.6.2 On what do the interactions depend?

Interactions between biomass and boats depend on gear. Interactions between boats depend on a randomly generated social network. This random network is generated exogenously and does not change through the simulation.

2.6.3 If the interactions involve communication, how are such communications represented?

We do not define how communication takes place. Imitation works regardless of whether agents are actively talking on the radio or subtly spying each other on the radar

2.6.4 If a coordination network exists, how does it affect the agent behaviour? Is the structure of the network imposed or emergent?

Agents know only about the last trip of their friends (connected boats). The network is fixed and exogenous.

2.7 Collectives

2.7.1 Do the individuals form or belong to aggregations that affect and are affected by the individuals? Are these aggregations imposed by the modeller or do they emerge during the simulation?

Agents do not belong to any collective and each boat optimises its own profits alone. However temporary collectives might emerge endogenously. For example in the “fishing the habit line” example in section 2.4.1 of the ESM, agents split into groups, each targeting the border of a separate rocky area. These collectives emerge primarily due to social network connections and their membership can change quickly.

2.7.2 How are collectives represented?

Not represented.

2.8 Heterogeneity

2.8.1 Are the agents heterogeneous? If yes, which state variables and/or processes differ between the agents?

In most simulation agents are homogeneous in terms of gear, boat size, speed and decision making. However, since the decision-making itself is adaptive, path-dependent and stochastic differences can emerge even from an initial homogeneous state. As the “habitat line” fishers in section 2.4.1 shows.

In most scenarios agents differ in terms of exploration range (the \(\delta\) parameter). Agents are also heterogeneous in terms of initial gear in section 2.7, 3.2 and 3.3; since in these sections gear is also being modified, these differences are amplified through the course of a simulation run.

2.8.2 Are the agents heterogeneous in their decision-making? If yes, which decision models or decision objects differ between the agents?

Agents in this set of simulation all use the same decision making routine with different \(\delta\) parameters. Heterogeneity in outcomes emerges as the same adaptive decision-making algorithm interact with different fishing histories and experience.

2.9 Stochasticity

2.9.1 What processes (including initialisation) are modelled by assuming they are random or partly random?

The parameter tables in each scenario described by the ESM (sections 2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8) show which variables are random and from what distribution they are drawn.

Within each time step, the order in which agents activate is random (as per MASON default implementation).

Whenever an agent explores, it samples a random cell within the neighbourhood where it previously fished as described in the ESM (section 1.1). The same mechanism applies when agents sample new gear (as in the ESM section 2.7).

2.10 Observation

2.10.1 What data are collected from the ABM for testing, understanding and analysing it, and how and when are they collected?

Each scenario in the ESM collects a different set of observations in order to test a particular pattern.
Section 2.1 collects yearly number of tows for and biomass remaining in each cell of the map. Section 2.2 collects daily average distance from port for all boats in the model. Section 2.3 collects yearly biomass left and CPUE (catches per unit of effort) in each simulation. Section 2.4 collects aggregate average distance from port as well as number of tows per map cell. Section 2.6 collects overall average catches in each simulation. Section 2.7 collects daily biomass and number of fishers using each gear type.

2.10.2 What key results, outputs or characteristics of the model are emerging from the individuals? (Emergence)

Hyperstability, fishing the line, optimal gear switching without knowledge of the underlying biology, race to fish without tradeable quotas and geographically optimal targeting when a full ITQ is introduced.

3 Details

3.1 Implementation Details

3.1.1 How has the model been implemented?

The model is coded in Java using the MASON library(Luke et al. 2003).
We use the spearmint python library for Bayesian optimisation(Snoek, Larochelle, and Adams 2012; Hernández-Lobato et al. 2015).

3.1.2 Is the model accessible, and if so where?

The model is available under the GPL3 open source library on Github at this repository

3.2 Initialisation

3.2.1 What is the initial state of the model world, i.e. at time t=0 of a simulation run?

In every scenario, boats start with no money, anchored at port with no fish in hold. Biomass in each cell of the map is randomly selected given the parameter table for each scenario (printed in the ESM). Fishers may be heterogeneous in terms of initial gear (see for example, section 2.8 of the ESM) or behaviour (for example the \(\delta\) parameter), in which case these are also randomly set at \(t=0\).

3.2.2 Is the initialisation always the same, or is it allowed to vary among simulations?

A new random seed is used for each run and each scenario.

3.2.3 Are the initial values chosen arbitrarily or based on data?

All values are chosen arbitrarily and their sensitivity tested in the ANT tests that accompany each scenario in the ESM.

3.3 Input Data

3.3.1 Does the model use input from external sources such as data files or other models to represent processes that change over time?

When coupled with OSMOSE (see section 2.5 of the ESM), that model drives the biological processes. Fishing mortality from POSEIDON feeds back into OSMOSE.

Bibliography

Bubeck, Sébastien, and Nicolo Cesa-Bianchi. 2012. “Regret Analysis of Stochastic and Nonstochastic Multi-Armed Bandit Problems.” arXiv Preprint arXiv:1204.5721.

Hernández-Lobato, José Miguel, Michael A. Gelbart, Matthew W. Hoffman, Ryan P. Adams, and Zoubin Ghahramani. 2015. “Predictive Entropy Search for Bayesian Optimization with Unknown Constraints,” February. http://arxiv.org/abs/1502.05312.

Luke, Sean, Gabriel Catalin Balan, Liviu Panait, Claudio Cioffi-Revilla, and Sean Paus. 2003. “MASON: A Java Multi-Agent Simulation Library.” In Proceedings of Agent 2003 Conference on Challenges in Social Simulation. Vol. 9.

Snoek, Jasper, Hugo Larochelle, and Ryan P Adams. 2012. “Practical Bayesian Optimization of Machine Learning Algorithms.” In Advances in Neural Information Processing Systems 25, edited by F. Pereira, C. J. C. Burges, L. Bottou, and K. Q. Weinberger, 2951–9. Curran Associates, Inc. http://papers.nips.cc/paper/4522-practical-bayesian-optimization-of-machine-learning-algorithms.pdf.


  1. Corresponding author:richard.bailey@ouce.ox.ac.uk