Complex and Adaptive Systems

The Complex and Adaptive Systems Research Group in the School of Computer Science at the University of St Andrews.

Research Projects


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 hybid, 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.

Recent posts

Latest Complex and Adaptive Systems Research Group posts from the School of Computer Science blog:

More Complex and Adaptive Systems Research Group posts.