No, this is not the beginning of a bad joke – this is agent-based modelling (ABM): In the NetLogo World, a programming language and integrated development environment (IDE), the individual agents are named “turtles”. It was initially designed to introduce children to programming and thus using an easy language was essential. With the turtles, the children were not only able to understand the concept of the rather abstract agent, the actually turtle shaped agent also helped them to explicitly see how the agents reacted to their programming.
ABM is an approach that enables the researcher to investigate how a system evolves based on the agents’ decisions. An agent is a defined entity and may be an individual, a social group, an institution or enterprise, a nation or state. The agents are equipped with attributes and probabilities (e.g., size, age, gender, preferences, interests, biases), and make their decisions based on these parameters. This way, they influence the system and the system in turn influences the agents and their decisions; it is therefore a co-evolutionary process. The outcomes are used to analyse or predict the behaviour of agents and test it in different scenarios. If you want some more details about how ABMs work, take a look at Marcel’s blog!
The Behave Spring School
The Behave Spring School is a week-long workshop organised by the BehaveLab, the social science research centre of the University of Milan. It was delivered by Flaminio Squazzioni, Simone Gabbriellini, Federico Bianchi und Nicolas Payette – all leading researcher in social science and/or ABM.
After an introductory day, we already started coding models. We used popular ABMs from the literature and together transferred the plain language into code. The first model was a very simple one: Heroes and cowards. Imagine a group of people. Each person has one friend and one enemy. Now, in the first scenario, people are heroes and always place themselves between their friend and their enemy. In the second scenario, people are cowards and always place their friend between themselves and their enemy. Can you guess what movement patterns emerge and why?
The next model was Schelling’s segregation model. Here, the agents are placed in the NetLogo world, on the so-called patches. They have one attribute that divides them into two groups, in our case colour (yellow or blue). Each agent has a neighbourhood, the four patches immediately up, down, left and right to the agent. An agent is “happy” when a certain percentage of its neighbours has the same colour, and “unhappy” if not. Unhappy agents move to another empty patch with a “happy” neighbourhood. This procedure is repeated until there are no unhappy agents. Depending on the number of agents and the threshold that defines when an agent is happy, a stable state establishes, and the patterns look really nice!
Then it was time for the hard stuff: Axelrod’s model on dissemination of culture. In this model, each patch represents an individual with a certain culture. An individual’s culture is a list of cultural features (e.g., language, religion, style of dress). Each feature has a set of traits that are alternative values of the feature, represented by a number (e.g., language: English = 1, Spanish = 2, German = 3). Initially, individuals are assigned a random culture. The agents are surrounded by borders that visualise their similarity with their neighbours (black = no similarity, white = completely similar).
Now, one agent (active) is randomly selected, then one of his neighbours (passive). Both agents interact if they have at least one identical feature, i.e., the same feature with the same trait. If they interact, the active agent randomly selects one of his features in which he differs from the passive agent and copies the value from the passive agent, so that they become more similar. This procedure continues until no cultural change can occur, i.e., when every pair of neighbouring agents have cultures that are either identical or completely different. The results of this model depend on the number of features and traits, and may result in something like this:
After those exciting and intensive coding sessions, Flaminio concluded the Spring School with some really useful advice on how to perform credible and excellent research with ABM. You can watch his intro to the workshop on the BehaveLab YouTube Channel.
After this workshop equipped me with so much new ideas and skills, I can’t wait to put all that into practice. I will soon start to develop my own ABM which I will use to model the behaviour of the settlements (agents) in my case studies to analyse how they connect with each other and form networks.
Be sure to not miss this and check my blog to be up-to-date!
- Axelrod, R. (1997) ‘The Dissemination of Culture: A Model with Local Convergence and Global Polarization’, Journal of Conflict Resolution, 41(2), pp. 203–226. doi: 10.1177/0022002797041002001.
- Bianchi, F. and Squazzoni, F. (2015) ‘Agent-based models in sociology’, Wiley Interdisciplinary Reviews: Computational Statistics, 7(4), pp. 284–306. doi: 10.1002/wics.1356.
- Grimm, V. and Railsback, S. F. (2005), Individual-Based Modeling and Ecology, Princeton University Press, Princeton. Matthews, R. B., Gilbert, N. G., Roach, A., Polhill, J. G. and Gotts, N. M. (2007), ‘Agent-based land-use models: A review of applications’, Landscape Ecology 22(10), 1447–1459.
- Railsback, S. F. and Grimm, V. (2019), Agent-Based and Individual-Based Modeling: A Practical Introduction, 2nd ed.
- Schelling, T. C. (1971) ‘Dynamic models of segregation’, The Journal of Mathematical Sociology, 1(2), pp. 143–186. doi: 10.1080/0022250X.1971.9989794.