Typically, self-organisation (SO) is defined as the evolution of a system into an organised form in the absence of external pressures. SO within a system brings about several attractive properties, in particular, robustness, adaptability and scalability. In the face of perturbations caused by adverse external factors or internal component failures, a robust self-organising system continues to function. Moreover, an adaptive system may re-configure when required, degrading in performance “gracefully” rather than catastrophically. In certain circumstances, a system may need to be extended with new components and/or new connections among existing modules — without SO such scaling must be preoptimised in advance, overloading the traditional design process.
In general, SO is a not a force that can be applied very naturally during a design process. In fact, one may argue that the notions of design and SO are contradictory: the former approach often assumes a methodical step-by-step planning process with predictable outcomes, while the latter involves non-deterministic spontaneous dynamics with emergent features. Thus, the main challenge faced by designers of self-organising systems is how to achieve and control the desired dynamics. Erring on the one side may result in over-engineering the system, completely eliminating emergent patterns and suppressing an increase in internal organisation with outside influence. Strongly favouring the other side may leave too much non-determinism in the system’s behaviour, making its verification and validation almost impossible. The balance between design and SO is the main theme of guided self-organisation (GSO). In short, GSO combines both task-independent objectives (e.g., information-theoretic and graph-theoretic utility functions) with task-dependent constraints.
Via Complexity Digest