Co-evolutionary algorithms have a wide range of applications, such as in hardware design, evolution of strategies for board games, and patching software bugs. However, these algorithms are poorly understood and applications are often limited by pathological behaviour, such as loss of gradient, relative over-generalisation, and mediocre objective stasis. It is an open challenge to develop a theory that can predict when co-evolutionary algorithms find solutions efficiently and reliable. This paper provides a first step in developing runtime analysis for population-based competitive co-evolutionary algorithms. We provide a mathematical framework for describing and reasoning about the performance of co-evolutionary processes. An example application of the framework shows a scenario where a simple co-evolutionary algorithm obtains a solution in polynomial expected time. Finally, we describe settings where the co-evolutionary algorithm needs exponential time with overwhelmingly high probability to obtain a solution.
翻译:共进化算法具有广泛的应用,例如硬件设计、棋类游戏策略演化以及软件漏洞修复。然而,这些算法的内在机制尚不清晰,其应用常受限于梯度消失、相对过度泛化及平庸目标停滞等病态行为。如何构建能够预测共进化算法高效可靠求解的理论仍是一个开放性挑战。本文为基于种群的竞争性共进化算法的运行时分析迈出了第一步。我们提出了一个用于描述和评估共进化过程性能的数学框架。该框架的应用示例表明,在特定场景下,简单的共进化算法能够在多项式期望时间内获得解。最后,我们描述了共进化算法在极高概率下需要指数时间才能获得解的设定条件。