The University of Queensland Homepage
School of ITEE ITEE Main Website

 Modelling Complex Systems

The necessity of models

In the past we have chosen to approach complex system as a 'black box', for which we study only the mapping between inputs from the environment and the resulting actions of the system. The complexity of such descriptions can be expressed as:
C = Ca × 2Ce
Where Ca is the complexity of the systems actions and Ce is the complexity of the environment in which the system operates. This formula essentially expresses the size of the table needed to provide a thorough mapping from inputs to outputs.

Unfortunately, this formula demonstrates that the complexity of the black box description increases exponentially with the complexity of the environment. Conversely, we would in general expect that the complexity of the system itself would not be vastly more than it needs to be to operate in its environment. By Ashby's 'Law of Requisite Variety' this would lead us to expect that the complexity of the system is on the order of some multiple of the complexity of the environment. So even if our model was as complex as the system itself, it would still constitute a much shorter description than the one provided by the black box approach.

The essential outcome is that in order to gain an adequate understanding of systems that interact with complex environments we need to build models.[1]

Fundamentals

Modelling requires that we isolate a system from its environment by separating out processes that are occurring at different scales. In summary these are:
  1. Fine scale or fast processes which can averaged.
  2. Large scale or slow processes which result in constants.
  3. Processes occuring at the scale of the behaviour we are interested in.
However, as stated before, in complex systems there is usually dynamical behaviour across a number of scales which interact producing complex unpredictable behaviour. The trick to modelling these processes involves recognising that not everything is interconnected, and identifying the relevant parameters. There are no general guides to surmounting this problem, it is considered to be a process of trial error, in which we attempt to build models that intergrate the required processes and then explore parameter space to try and find the requisite behaviour.

Mathematical Approaches

There are a number of fundamental mathematical tools that are used as the basis for models of complex systems. At the heart of the process there are a number of core decisions to be made about how the model will be constructed. Perhaps the most important of which is whether the model will be fully deterministic, or whether it will include some kind of randomness.

The iterative map is the foundational mathematical model for a discrete deterministic process. It is a model that seeks to capture the dynamics of a particular system parameter by the recursive application of a function in discrete time steps. It is of interest also because it was from iterative maps that we first discovered deterministic chaos.

However a model need not be completely deterministic, indeed there are several ways in which a system might be subject to random influences on its dynamics. Either unpredictable fine grain details such as quatum effects, or external influences being imposed by the environment.

There are several archetypal modelling techniques that include some element of stochasticity. A stochastic map is simply the introduction of randomness to an iterative map. A random walk is a model that will generate a probability distribution of final states based an iteration of a single probability distribution. For models that include complex probabilities depending on the state and history of a system we need to look at Markov chains.

Finally many models in complex systems are derivatives of cellular automata. These models are inherently spatial, consisting of an arrangement of discrete points in an n (usually only 1 or 2) dimensional space. Each point in the space has a discrete set of states that it can be in and a set of rules for determining what its state will be in the next time step. The function for the next state usually consists of taking into consideration the current state and some subset of the neighbouring points.

Cellular automata constitute a field of inquiry in and of themselves, but there are a number of key insights that they bring to the field. Certain rulesets such as Conway's Life show clear emergence, there is such a rich variety of patterns that form from such a simple rule set that it is hard not to be astounded. Local activation long range inhibition models, can show in a relatively simple fashion how properties like markings in the fur of animals can arise spontaneously without being sepcifically genetically coded.

It is worth noting that all the techniques discussed above use a discrete time model of the system. The alternative is to employ a continuous time model, for which we commonly use differential equations. This involves specifying the rate of change of system parameters as a function of some set of system parameters. Models of any real world system are usually not tractable to finding an explicit solution, and in order to be modelled computationally must be treated with some discretisation of time.

General Modelling Heuristics

  • Modest simulations built out of entities one scale below the phenomenon of interest
  • Using carefully selected parameters will be more effective than gratuitously fine grained simulations.
  • Try using clustering instead of averaging to uncover hidden details in population wide properties.
  • Keep in mind that all models are wrong, it is up to you to understand the limits to which you model corresponds with the real world.

The modelling process

  1. Clearly identify the phenomenon to modelled.
  2. Build the model at a scale just below this phenomenon.
  3. Identify the interacting objects (or Agents).
  4. Identify the states the objects can take.
  5. Determine the manner in which the model is arranged, spatial layout, size and boundary conditions.
  6. Identify the manner in which objects interact.
  7. Determine the nature of the update function. Is time discrete? Does the system contain stochastic elements.

Evaluating the model

  1. Evaluate the model over numerous runs, look for stable and unstable behaviour.
  2. Find qualitative descriptions.
  3. Compare these with the real world system.
  4. Search the parameter space for the best match with real world behaviour.
  5. Make use of any analytical techniques to which the model is tractable.
  6. Think carefully about the assumptions that have been made.
When searching the parameter space and trying to relate the model to real world phenomena, it is important to remember that there are a number of ways in which the model can correspond with the real world system.
  1. Qualitative pattern formation
  2. Scaling behaviour
  3. Values of variables
  4. Averages or clusters
  5. Exact Dynamics

Multiscale Analysis

As mentioned previously, a key feature of complex systems is the presence of ordered behaviour across a range of spatial and temporal scales. One way of analysing a model for coherence with reality is to examine the model for the presence of this multiscale complexity.

One technique for performing multiscale analysis of a system is Renormalisation. This is a technique from physics, demonstrated using the Ising model. In the Ising model a lattice of magnetic particles are experiencing frustration because of their inability to find an equilibrium. As the system evolves over time particles flip their direction depending on the magnetic direction of their nearest neighbours and the total magnetic field in which they are embedded.

Renormalisation involves changing the scale of observation by grouping together particular subsets of the particles and treating them as an individual particle. By then observing the behaviour of this aggregated system, we can see whether the dynamic behaviour of the system is sustained across a change in scale, or if and how it has changed.