Complex and adaptive systems
Lots of interesting systems share a common set of properties:
- They are complex, with lots of components that interact in non-obvious ways. This complexity obscures the responses that a system may make to particular circumstances or perturbations, making them hard to predict and control.
- They are adaptive, meaning that their organisation and response changes as a function of their environment and history.
- They are often hybrid, combining analogue and digital elements as well as logical and physical (real-world) behaviours.
We are interested in how we design, model, and analyse such complex adaptive systems. Our work encompasses both software systems (like sensor networks and pervasive computing) and non-software systems (like epidemics and opinion dynamics) — and especially where these areas have common mathematical and computational structures. We use a range of scientific techniques, including:
- Machine learning, for recognising human activities from sensor traces, for improving sensor interpretation, and for predicting system evolution.
- Network science, to study how simple stochastic interactions can, when they happen at a large scale, lead to predictable consequences.
- Software tools for simulation and exploration.