In complex systems, even though the behaviour of each individual element in the system may be well-understood, the outcome when all the sequence of operations and object interactions operate together may be difficult to predict.


This is especially the case when the initial state of the system may be different from run to run, or if different inputs can affect the system during its operation. 

Under these circumstances, building a computer model of the behaviour and running it many times, perhaps millions of times with slightly different inputs each time ('Monte Carlo analysis'), is much more effective than acting out the various scenarios in real life.  Combinations of inputs that lead to particularly undesirable outcomes can be identified, so efforts may be expended on seeking to prevent them or mitigate them. Mitigation testing of the behaviour model will ensure that they have no unforeseen side effects.


A familiar example is traffic management, where each individual vehicle follows simple rules most of the time (travel close to the speed limit, maintain a reasonable distance from other vehicles etc.) and yet complex effects can be seen if the volume of vehicles increases too much, or if part of a road is closed, or if one or more vehicles strays outside the 'normal' rules by speeding, braking suddenly or driving erratically.