From Krzysztof Krawiec

Research: Coevolution

Coevolutionary algorithms

Coevolutionary algorithms (CoEAs) is a variant of evolutionary algorithm in which the fitness of a candidate solution in a population depends on the performance of the other individuals, rather than being determined by an external objective function. In this sense, fitness in CoEAs is subjective and may change from one generation of search process to another. Most importantly, a CoEA should create search gradient for itself, a bit like the famous Baron Munchausen pulled himself out of a swamp.

My interest in coevolutionary algorithms concerns the following aspects:

Using coevolution to extract the underlying structure of a given problem

Together with PaweĊ‚ Liskowski, we are working on a family of methods that analyze the outcomes of interactions on the fly and use the acquired information to turn the (originally single-objective) problem into a multiobjective one. This idea proves beneficial for, among others, evolving strategies for the Iterated Prisoner's Dilemma game and for synthesizing programs using genetic programming.

Combining coevolution with reinforcement learning (RL)

Coevolution, being a variant of evolutionary algorithm, can perform long 'leaps' in the search space. Traditional RL works more incrementally, gradually improving performance in each step; but on the other hand, it can directly benefit from information on gradient. This calls for using both these search paradigms in parallel. In this study, we hybridized coevolutionary algorithm with an RL algorithm (TDL to be more precise) and applied it to the game of Othello.

The role of interactions in coevolution

In particular: extracting coordinate systems from interactive domains, e.g., game matrices. See our recent paper on that topic.


We are using coevolutionary algorithms to evolve game strategies. Selected results include:

Retrieved from
Page last modified on September 12, 2016, at 11:44 AM