Quality and Diversity Optimization: A Unifying Modular Framework

Antoine Cully, Yiannis Demiris
5/12/2017
cs.NEcs.AI

Official code: sferes2/modular_QD (22 stars, last commit 2020-11-06).

Abstract

The optimization of functions to find the best solution according to one or several objectives has a central role in many engineering and research fields. Recently, a new family of optimization algorithms, named Quality-Diversity optimization, has been introduced, and contrasts with classic algorithms. Instead of searching for a single solution, Quality-Diversity algorithms are searching for a large collection of both diverse and high-performing solutions. The role of this collection is to cover the range of possible solution types as much as possible, and to contain the best solution for each type. The contribution of this paper is threefold. Firstly, we present a unifying framework of Quality-Diversity optimization algorithms that covers the two main algorithms of this family (Multi-dimensional Archive of Phenotypic Elites and the Novelty Search with Local Competition), and that highlights the large variety of variants that can be investigated within this family. Secondly, we propose algorithms with a new selection mechanism for Quality-Diversity algorithms that outperforms all the algorithms tested in this paper. Lastly, we present a new collection management that overcomes the erosion issues observed when using unstructured collections. These three contributions are supported by extensive experimental comparisons of Quality-Diversity algorithms on three different experimental scenarios.

View on arXivView PDF

Code Implementations(1)

sferes2/modular_QDOfficial100%

**Sferes2 module** A unifying modular framework for Quality-Diversity algorithms

227C++, PythonSep 5, 20165 years ago

Similar Papers

Cite this paper

@article{cully2017quality,
  title  = {Quality and Diversity Optimization: A Unifying Modular Framework},
  author = {Antoine Cully and Yiannis Demiris},
  year   = {2017},
  eprint = {1708.09251},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1708.09251}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1708.09251.svg)](https://codeofpaper.com/paper/1708.09251)

Discussion