A computer simulation is an artificial representation of a real world system. Agent-based modelling (ABM) is one particular simulation method that comprises of decision-making entities called agents who behave and interact with each other within their artificial world based upon a set of rules. These rules are built using a standard programming language, such as Java, Python, or C++. Agents can perceive and react to their environment and make their own decisions. They may be heterogeneous (i.e. have individual characteristics, like size, shape, colour), and can remember and learn from their past experiences that may affect their future choices, their interactions with other agents, or their impact on the environment.
Agents are often represented as people or animals, but they can also represent diseases, cells, neurons, particles, cars, buildings or countries.
Whilst it's tempting to compare agent-based models with popular video games, such as the Sims, agent-based models are in fact very different, as explained by the blogger Aaron Bramson. For starters, video games are mainly for entertainment purposes. The observer (you) plays a dominant part of the game - you control the characters (the agents), where they go and who or what they interact with.
Agent-based models, however, are normally used for scientific purposes and for theory testing, or to help decide which policy or management strategy to implement in the real world. Here, agents are autonomous - they make they own decisions and have some control over their own 'destiny'. They may be given a set of rules to follow as the model is being constructed and programmed, but as soon as the researcher presses that 'start' button, agents are left to behave and survive on their own in their simulated world. No invisible hand or outside influence controls what they do.
Why is the focus upon agents so important?
Because it turns out that many complex phenomena - such as ecosystems, weather systems, stock markets, human behaviour, crime patterns and the way in which diseases spread (to name a few) - may be explained by the interactions of the components which form them. Even very simple rules of behaviour at the level of an entity (e.g. an individual) can lead to complex and unexpected outcomes and patterns. For example, the complex patterns observed in bird flocks (or fish shoals) can be shown not to occur because of an invisible hand that guides the group, but because the individuals simply maintain a preferred distance from their nearest neighbour. Thus the patterns emerge as a result of the interactions of these individuals.
Statistical methods and equations alone would struggle to accommodate the feedback loops which occur in these complex, dynamic and nonlinear systems. But they can often be captured inside an agent-based model.
ABM is often described as a particular mindset or way of thinking, rather than it being just a methodological tool. The focus is upon describing the individual components of a system, and the researcher has to think very carefully about the way in which the model represents the system in reality. This will be dependent upon the research question being asked and the overall purpose of the model. For example, a simple abstract model may be sufficient for theory testing; whilst models used for prediction may require the model to represent the system as accurately as possible as it does so in reality.
Model development typically requires identifying the relevant elements of the system, establishing its properties, articulating the mechanisms and agent interactions and their behavioural rules, and then encapsulating them in a structured programming language, which allows inspection and evaluation. This rigorous iterative process can significantly help clarify vague ideas and identify gaps in a theory that otherwise might go undiscovered. This can be a daunting task, particularly those relatively new to ABM.
This web resource aims to provide researchers with advice and further information on developing agent-based models via our resources pages, online discussion forums and UCL-ABM monthly seminar series.