Natural systems consisting of many small coupled components can be found everywhere, for example, in the cells of our bodies, colonies of social insects such as ants, vegetations forming a forest, or schools of fish or flocks of birds. Even large human-made constructs such as cities follow this scheme. Such self-organizing systems are scalable (they can grow without requiring a redesign), robust (against failure of a component), and adaptive to changing environments. These properties make self-organizing systems an interesting paradigm for future technical systems.
In such a system, components interact in simple and localized ways. Although the individual entities perform simple tasks, the system as a whole shows coordinated activity and manages to solve complex tasks. In other words, simple interaction rules at the microscopic level may result in complex, adaptive, and robust behavior at the macroscopic level. Although we can list numerous examples for self-organizing systems, there is no straightforward method for the design and testing of microscopic rules to achieve a desired macroscopic behavior.
Existing approaches are based on trial-and-error, biological inspiration, or evolutionary approaches. But trial-and-error is limited by the fact that an overall system sometimes shows counterintuitive behavior. For example, there are cases of road systems, where introducing a speed limit slows down the individual vehicle but speeds up traffic as an entity. Biological inspiration depends on the existence of an appropriate biological role model. Often a working biological system has to be simplified and recreated to work for technical applications.
The evolutionary approach is basically performing an automated trial-and-error search guided by a continuous fitness evaluation. Yet, engineering is more than just providing a self-organizing algorithm. To be fit for a purpose, results must be tested in the intended application. A system ready to be deployed must be maintainable – e.g., it should not require expert knowledge to fix a broken part of such a system. In our projects DEMESOS and MESON, we elaborate concepts and tools for addressing these questions. One result is the freely available FREVO tool, which supports the evolutionary approach.
FREVO has so far been successfully used to create such different systems as a robot soccer team, experimental studies for social behaviour, and an algorithm for a swarm of drones observing an area.
Our research aims at giving rise to future technical applications, which will be more distributed, networked and self-organized. Considering that the fact that technical systems continuously become more complex, it is about time we find suitable concepts to cope with it.
A. Sobe, I. Fehérvári, and W. Elmenreich. Frevo: A tool for evolving and evaluating self-organizing systems. In Proc. Intern. Workshop on Evaluation for Self-Adaptive and Self-Organizing Systems, Lyon, France, September 2012.
I. Fehervari and W. Elmenreich. Evolving neural network controllers for a team of self-organizing robots. Journal of Robotics, 2010.
Á. Pintér-Bartha, A. Sobe, and W. Elmenreich. Towards the light: Comparing evolved neural network controllers and finite state machine controllers. In Proc. Intern. Workshop on Intelligent Solutions in Embedded Systems, Klagenfurt, Austria, July 2012.
W. Elmenreich, I. Fehervari. Evolving self-organizing cellular automata based on neural network genotypes. In Proc. Intern. Workshop on Self-Organizing Systems, Springer, 2011.
I. Fehervari, W. Elmenreich. Towards evolving cooperative behavior with neural controllers. In Proc. Intern. Workshop on Self-Organizing Systems, 2009.
I. Fehervari, W. Elmenreich. Evolutionary Methods in Self-organizing System Design. In Proc. Intern. Conf. Genetic and Evolutionary Methods (GEM), part of World Congress in Computer Science, Computer Engineering, and Applied Computing (WORLDCOMP), Las Vegas, NV, USA, 2009.