CoEvolutionary Approaches in Cognitive Robotic System Design

A Cognition Briefing

Contributed by: Michail Maniadakis, Foundation for Research and Technology-Hellas (FORTH)

In recent years, a large number of research efforts have been directed towards implementing cognitive robotic systems. One of the approaches for accomplishing cognitive system design is by following an optimization procedure. In particular, following this approach, the complete structure of the cognitive system is described by a set of parameters, while an optimization process is utilized to explore the parameters domain, identifying those values that give the cognitive system an appropriate behavior, according to a set of human-specified design criteria.

The characteristics and the effectiveness of the employed optimization methodology strongly influence the quality of the resulted system. Classical gradient-based optimization procedures are not very effective in approaching complex highly non-linear problems [1]. The limitations of traditional optimization techniques led to the growth of stochastic search methods. One very popular stochastic search approach is evolutionary algorithms which are capable of accomplishing near globally optimal solutions (e.g. cognitive system configurations) in highly non-linear problems. However, many difficulties arise with evolutionary approaches when large systems need to be implemented. In order for the employed design methodology to be more effective, it should be capable of addressing the structural characteristics of the particular system. Specifically for the cognitive systems, distributedness is one of the most widely assumed characteristics. Distributedness means that there is no central processor or homunculus that controls behavior but a distributed and functionally integrated network of recursive processes from which a coherent behavior emerges as a global product of the system. This property of cognitive systems should be explicitly addressed by the optimization design methodology in order to effectively design the overall system.

This is particularly the approach followed by coevolutionary algorithms which utilize separate populations to evolve partial entities of the problem [2, 3]. In order to formulate a composite problem solution, individuals within different populations have to be selected, put together and operate in parallel [4, 5]. In other words, coevolution breaks down the overall problem into smaller pieces and then solves partial problems taking also into account the dynamics of their interaction. The capability of coevolution to address the distributed nature of cognitive systems makes it very appropriate for being employed as an effective design methodology.

An extended version of this briefing is available as a white paper on the euCognition website. The references in above can be found in the white paper.