**Principia Cybernetica Web (C)**
Author: F. Heylighen
Date: 20 March 1989
Parent Node(s): Network for Complexity Research
¥ mathematical formalization : setting up a static description based on a fixed set of axioms, and using it for calculating predicted values ¥ empirical observation : confirming or disconfirming quantitative predictions through experiments or through the collection and statistical processing of data
It is clear that the same methods can be applied to the study of complexity, e.g. the modelling of complex dynamics by means of non-linear differential equations or the experimental observation of self-organizing chemical reactions. However, it appears that these approaches are often insufficient if the system to be modeled is really complex. For example, the classical, behaviouristic methodology for psychological experiments does not provide much insight in the complex mechanism of the mind. The following limitations seem to apply:
¥ the intricacy and variability of a complex system precludes a complete, fixed axiomatic model ¥ the most interesting phenomena in complex evolution: (self-)organization, emergence, ..., are qualitative, and hence difficult to model by quantitative methods
¥ structureless, external data (measurable quantities, stimulus-response, statistical variables...) appear insufficient for determining the intrinsic organization of a complex system
An alternative approach is the construction of an "artificial" complex system (e.g a computer program, or a game) with a transparent, qualitative organization, which dynamically models or "simulates" the evolution of the complex system (e.g. the mind, or an organization) to be studied. Inconsistencies between the behaviour of the model system and the modeled system can then be gradually eliminated by interactively changing the architecture of the model.
A basic difference with the previous approach, is that the classical approach is essentially passive: the researcher is just observing and describing, whereas the newer approach is active or creative: the researcher is constructing and interacting. This may lead to model systems whose functions are enhanced or automatized compared to the modeled system. This is a starting point for the construction of technologies or tools for better coping with complexity.
Let us look at some existing methods and tools of this (inter)active approach.
The most obvious way of actively operationalizing a theory of complex evolution consists in building a computer model, based on the dynamical principles of the theory, and letting it evolve. If the autonomously evolving model produces the same kind of emerging phenomena as the complex system one tries to model, then the theory is in an important way confirmed. The criticism that "simulation is different from explanation" may be tackled by making the implementation of the theory as transparent as possible and by providing a mechanism which tracks all intermediate steps leading to the final result. In that way the actual process may be conceptually reconstructed, providing a satisfactory explanation of the observed result.
In order to meet this requirement the implementation must be based on a high level, structured programming language, able to express complex qualitative features, processes and relationships in a way which is transparent for the users. An ideal language of this kind is yet to be developed, but "symbolic" languages like lisp, prolog and smalltalk, are acceptable approximations of this ideal.
A general programming paradigm seems to be emerging, pattern directed systems, which is based on modules (objects, rules, ...), which communicate by sending messages characterized by a pattern (i.e. a set of variables or input channels structured in a specific way). A module will accept messages characterized by a specific pattern, and consider them as conditions for the initiation of a specific action. An action may change the state of the module, create a new module or simply send messages to other modules. The system is intrinsically parallel since different modules can respond simultaneously to the same (or different) message(s), but it is possible to simulate such mechanisms on sequential machines. Examples of pattern directed systems are : object-oriented systems, production systems, classifier systems, and logical or relational programming.
Such a programming approach is clearly consonant with the present view of complexity as consisting of an evolving network of interacting subsystems, leading to the creation of new subsystems.
The use of computers sketched above belongs to what we have called fundamental or theoretical research. Applied research or action implies a different use of computer technology. Practical action means solving real-world problems. A computer system can then function as a support, helping actors to solve the problems they are confronted with. Until now, the typical problems addressed in computer science are "well-structured" or "closed" problems. This means that all data necessary for solving the problem are determined beforehand, the computer must just apply an algorithm or heuristic for efficiently exploring the search space, which is rigidly defined. The role of the user is limited to introducing the initial data and then waiting for the result.
Complex problems, as we argued above, cannot be tackled in this way. The model, incorporating the data, and determining the search space, is by definition incomplete. It is characterized by inconsistencies, ambiguities, fuzziness, lacking or obsolete data and concepts, ... This means that the support system must allow for a continuous updating or adaptation of the model. One possible approach is to make the support system self-organizing, so that it can autonomously learn or discover new concepts and rules, i.e. create new order. Such a system would be provided with an ill-structured set of initial data, and a selection criterion, determining the requirements a solution must satisfy. It could then gradually evolve a structure satisfying the criterion.
Such a system is still closed, however: during the process no data are exchanged with the external world, the variation is purely internal. An alternative type of support systems would be open: the user (or the environment) is continuously interacting with the system, adding or deleting data in response to the provisional results the system offers. System and user are in a feedback relationship. Such an approach is clearly more effective if the initial data and the selection criterion are variable, vague or ambiguous. In comparison with the system, the user has a much better knowledge of the problem and its evolution, but this knowledge is generally intuitive, implicit and associative. The system can then help the user to structure and to represent (part of) this knowledge, so that a more effective model can be constructed. On the other hand, the user may steer the evolution of the system by introducing new concepts (external variation) and by selecting alternatives on the basis of intuitions. Eventually a "symbiosis" between user and system may develop, creating a higher order system which is more intelligent than the sum of its component systems.
The development of such social and individual support systems is the aim of the field of andragology. It demands methods of education in the broadest sense: from the learning of simple skills, to the gaining of insights in one's most profound feelings and aspirations (as experienced during certain types of psychotherapy). Such methods must be based on an analysis of cognitive systems, with an emphasis on their dynamics: the processes designated by learning, discovery, creativity, personal development... On the social level, these methods must be complemented by an analysis of communication and conversation, and by theories of the design, management and change of organizations. Existing techniques for stimulating creative problem-solving in groups or individuals are for example: brainstorming, Delphi procedures, simulation by games, and soft systems methodology.