4 research outputs found

    How crossover speeds up evolutionary algorithms for the multi-criteria all-pairs-shortest-path problem

    No full text
    Understanding the impact of crossover in evolutionary algorithms is one of the major challenges in the theoretical analysis of these stochastic search algorithms. Recently, it has been shown that crossover provably helps to speed up evolutionary algorithms for the classical allpairs- shortest path (APSP) problem. In this paper, we extend this approach to the NP-hard multi-criteria APSP problem. Based on rigorous runtime analyses, we point out that crossover leads to better worst case bounds than previous known results. This is the first time that rigorous runtime analyses have shown the usefulness of crossover for an NP-hard multi-criteria optimization problem.Frank Neumann and Madeleine Theil

    How Crossover Speeds Up Building-Block Assembly in Genetic Algorithms

    Get PDF
    We re-investigate a fundamental question: how effective is crossover in Genetic Algorithms in combining building blocks of good solutions? Although this has been discussed controversially for decades, we are still lacking a rigorous and intuitive answer. We provide such answers for royal road functions and OneMax, where every bit is a building block. For the latter we show that using crossover makes every (\mu+\lambda) Genetic Algorithm at least twice as fast as the fastest evolutionary algorithm using only standard bit mutation, up to small-order terms and for moderate \mu and \lambda. Crossover is beneficial because it effectively turns fitness-neutral mutations into improvements by combining the right building blocks at a later stage. Compared to mutation-based evolutionary algorithms, this makes multi-bit mutations more useful. Introducing crossover changes the optimal mutation rate on OneMax from 1/n to (1+\sqrt{5})/2 \cdot 1/n \approx 1.618/n. This holds both for uniform crossover and k-point crossover. Experiments and statistical tests confirm that our findings apply to a broad class of building-block functions
    corecore