Challenges in Engineering Self-Organizing Systems
From Self-Organization Wiki
- Design of emergence:
- How to design local rules achieving the desired global properties?
- How to couple local (unit) behaviors to global (System) behavior?
- Non-trivial but approaches exist (eg. evolutionary design), Bio-inspired techniques (stigmergy, social insects metaphors, immune systems, evolutionary algorithms), these approaches perform well in some specific domains (dynamic networks : routing, P2P, ..)
- Definition of fitness function (designer needs to provide intermediate goals first (eg. subgoals like ball handling in a soccer simulation), but overall system can later revise/remove those intermediate steps (only winning the game counts))
- Design of the representation / communication / interaction:
- Degrees of freedom and adaptability
- How to represent/set up the problem (cartesian vs. polar spatial coordinates in the sensor protocol made a difference in evolving a control system: I. Fehervari and W. Elmenreich. Evolving neural network controllers for a team of self-organizing robots. Journal of Robotics, 2010.)
- The representation of a problem is very important (see Heylighen F. (1988): Formulating the Problem of Problem-Formulation, in: Cybernetics and Systems '88, Trappl R. (ed.), (Kluwer Academic Publishers, Dordrecht), p. 949-957.)
- Simple versus chaotic behavior: Can we describe the system state?
- The state of some self-organizing systems can be easily modeled (firefly sync)
- The state of other self-organizing systems cannot be modeled, they exhibit chaotic behavior, which makes it impossible to predict future states.
- Robustness issues
- Malicious nodes, faults, defects
- Testing:
- It can be very difficult to test a proposed self-organizing system with respect to a given goal (many entities, large operational range, chaotic behavior)
- Rare events may lead to major global effects.
- Repeatability of results
- even simple deterministic systems can bear an interesting, unexpected (unwanted?) behavior, cf. Langton's Ant.
- User aspects
- To what extend can today’s systems be replaced or complemented by self-organizing systems, taking into account
- constraints and acceptance of the technology and
- risks for users?
- To what extend can today’s systems be replaced or complemented by self-organizing systems, taking into account
- Reliability and trust (this point is somehow connected to the aboce two points on testing and user aspects)
- "Hey, look, I have just evolved a complex control algorithm for the cooling system of the reactor."