When developing computer models of human systems, there are many situations where it is important to model the individual entities that drive the system, rather than using aggregate methods that combine individuals into homogeneous groups. In such circumstances, the technique of ‘agent-based modelling’ has been shown to be useful. In an agent-based model, individual, autonomous ‘agents’ are created. These agents can be given rules or objectives that determine how they will behave in a given situation. They can also interact with each other and with their environment. In this manner it is possible to simulate many of the interesting outcomes that emerge as social systems evolve which might be missed using aggregate methods that do not account for individuals, or their interactions, specifically.
There is a drawback with agent-based models though; they cannot incorporate real-time data into their simulations. This means that it is not possible to use agent-based modelling to simulate systems in real time. Agent-based modelling is an ideal tool for modelling systems such as traffic congestion, crowd dynamics, economic behaviour, disease spread, etc., but it is limited in its ability to make short term, real-world predictions or forecasts because it is not able to react to the most up to date data.
The aim of this project was to develop new methods that will allow real-time data to be fed in to agent-based models to bring them in to line with reality. It leveraged existing ‘data assimilation’ methods, that have been established in fields such as meteorology, and tested how applicable the methods are when adapted for agent-based modelling. The main difficulty that the project encountered was that, due to the complexity of an agent-based model, very large numbers of individual models were often required to be run simultaneously. This requires extremely large amounts of computing power. Therefore the algorithms that were the most useful were typically those that could conduct data assimilation while running the smallest number of models.
The results of the project are largely methodological; it has adapted methods and has shown them to be capable of feeding real-time data into agent-based models at runtime. This has important implications for society because it means that new types of models, such as social ‘digital twins’, could be possible if sufficient computing power and data were available. Immediate future work for the project will be to start to implement the methods in real situations.