The trend toward pervasive computing and networked systems has lead to increased complexity and dynamics of today's technical systems.
Thus, future systems are expected to be even more complex requiring novel ways to handle such complex networked systems. One approach to solve this problem is to increase the level of self-organization in those systems. Self-organizing systems offer numerous advantages over traditional ones like robustness against a failure of a component and scalability but due to the distributed structure there is no straightforward way to design a self-organizing system.
This thesis investigates how evolutionary computation can be applied to find the appropriate micro-level rules of a self-organizing system that provide the desired emergent global behavior for a given system. In particular, we propose a design methodology built on meta-heuristic search that guides the designer throughout the whole engineering process.
Additionally, we investigate the evolvability of self-organizing technical systems via several case studies focusing on the effects of certain design decisions explained in the proposed methodology. First, a self-organizing cellular automata model is described that is evolved to present a desired 2D structure. Using this example the connection between problem complexity and evolvability is discussed.
Two further studies focus on evolutionary swarm robotics. In the first one, we discuss the effects of various interaction interfaces and their effects on the quality of the evolved solutions. We find that seemingly identical interfaces can produce significantly different group behavior.
The second experiment investigates how a self-organizing team of soccer robots can be evolved. Here, we study the effects of different agent controller structures and interface interpretation models.
We also describe a novel evolutionary software framework that supports the proposed design methodology and aids engineers and researchers working with self-organizing systems.