pyribs: A Bare-Bones Python Library for Quality Diversity Optimization
Bryon Tjanaka
University of Southern California
tjanaka@usc.edu
Matthew C. Fontaine
University of Southern California
mfontain@usc.edu
David H. Lee
University of Southern California
dhlee@usc.edu
Yulun Zhang
Carnegie Mellon University
yulunzhang@cmu.edu
Nivedit Reddy Balam
University of Southern California
nbalam@usc.edu
Nathaniel Dennler
University of Southern California
dennler@usc.edu
Sujay S. Garlanka
University of Southern California
garlanka@usc.edu
Nikitas Dimitri Klapsis
University of Southern California
nklapsis@usc.edu
Stefanos Nikolaidis
University of Southern California
stefanosnikolaidis@gmail.com
Abstract
Recent years have seen a rise in the popularity of quality diversity (QD) optimization, a branch of optimization that seeks to find a collection of diverse, high-performing solutions to a given problem. To grow further, we believe the QD community faces two challenges: developing a framework to represent the field's growing array of algorithms, and implementing that framework in software that supports a range of researchers and practitioners. To address these challenges, we have developed pyribs, a library built on a highly modular conceptual QD framework. By replacing components in the conceptual framework, and hence in pyribs, users can compose algorithms from across the QD literature; equally important, they can identify unexplored algorithm variations. Furthermore, pyribs makes this framework simple, flexible, and accessible, with a user-friendly API supported by extensive documentation and tutorials. This paper overviews the creation of pyribs, focusing on the conceptual framework that it implements and the design principles that have guided the library's development.