Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3583131.3590374acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article
Open access

pyribs: A Bare-Bones Python Library for Quality Diversity Optimization

Published: 12 July 2023 Publication History

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. Pyribs is available at https://pyribs.org

Supplementary Material

PDF File (p220-tjanaka-suppl.pdf)
Supplemental material.

References

[1]
Abadi, M., Barham, P., Chen, J., Chen, Z., Davis, A., Dean, J., Devin, M., Ghemawat, S., Irving, G., Isard, M., Kudlur, M., Levenberg, J., Monga, R., Moore, S., Murray, D. G., Steiner, B., Tucker, P., Vasudevan, V., Warden, P., Wicke, M., Yu, Y., and Zheng, X. Tensorflow: A system for large-scale machine learning. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation (USA, 2016), OSDI'16, USENIX Association, p. 265--283.
[2]
Allard, M. Quality-diversity algorithms. https://maximeallard.lu/2021/03/24/quality-diversity-algorithms/, 03 2021. Retrieved 2023-01-31.
[3]
Anaconda, Inc. Anaconda. https://anaconda.org.
[4]
Anaconda Inc. Numba: A just-in-time compiler for numerical functions in python. https://numba.pydata.org. Computer software.
[5]
Bhatt, V., Tjanaka, B., Fontaine, M., and Nikolaidis, S. Deep surrogate assisted generation of environments. In Advances in Neural Information Processing Systems (2022), S. Koyejo, S. Mohamed, A. Agarwal, D. Belgrave, K. Cho, and A. Oh, Eds., vol. 35, Curran Associates, Inc., pp. 37762--37777.
[6]
Bradbury, J., Frostig, R., Hawkins, P., Johnson, M. J., Leary, C., Maclaurin, D., Necula, G., Paszke, A., VanderPlas, J., Wanderman-Milne, S., and Zhang, Q. JAX: composable transformations of Python+NumPy programs. http://github.com/google/jax, 2018.
[7]
Cazenille, L. Qdpy: A python framework for quality-diversity. https://gitlab.com/leo.cazenille/qdpy, 2018.
[8]
Chatzilygeroudis, K., Cully, A., Vassiliades, V., and Mouret, J.-B. Quality-Diversity Optimization: A Novel Branch of Stochastic Optimization. Springer International Publishing, Cham, 2021, pp. 109--135.
[9]
Clune, J., Lehman, J., and Stanley, K. O. Recent advances in population-based search for deep neural networks. ICML 2019 Tutorials, https://youtu.be/g6HiuEnbwJE, 2019.
[10]
Colas, C., Madhavan, V., Huizinga, J., and Clune, J. Scaling map-elites to deep neuroevolution. In Proceedings of the 2020 Genetic and Evolutionary Computation Conference (New York, NY, USA, 2020), GECCO '20, Association for Computing Machinery, p. 67--75.
[11]
Conti, E., Madhavan, V., Petroski Such, F., Lehman, J., Stanley, K., and Clune, J. Improving exploration in evolution strategies for deep reinforcement learning via a population of novelty-seeking agents. In Advances in Neural Information Processing Systems 31, S. Bengio, H. Wallach, H. Larochelle, K. Grauman, N. Cesa-Bianchi, and R. Garnett, Eds. Curran Associates, Inc., 2018, pp. 5027--5038.
[12]
Cully, A. Quality-diversity optimisation algorithms. https://quality-diversity.github.io. Retrieved 2023-01-31.
[13]
Cully, A. Autonomous skill discovery with quality-diversity and unsupervised descriptors. In Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, USA, 2019), GECCO '19, Association for Computing Machinery, p. 81--89.
[14]
Cully, A. Multi-emitter MAP-elites. In Proceedings of the Genetic and Evolutionary Computation Conference (jun 2021), ACM.
[15]
Cully, A., Clune, J., Tarapore, D., and Mouret, J.-B. Robots that can adapt like animals. Nature 521 (05 2015), 503--507.
[16]
Cully, A., and Demiris, Y. Quality and diversity optimization: A unifying modular framework. IEEE Transactions on Evolutionary Computation 22, 2 (2018), 245--259.
[17]
Cully, A., Mouret, J.-B., and Doncieux, S. Quality-diversity optimisation. In Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion (New York, NY, USA, 2020), GECCO '20, Association for Computing Machinery, p. 701--723.
[18]
Cully, A., Mouret, J.-B., and Doncieux, S. Quality-diversity optimisation. In Proceedings of the Genetic and Evolutionary Computation Conference Companion (New York, NY, USA, 2021), GECCO '21, Association for Computing Machinery, p. 715--739.
[19]
Cully, A., Mouret, J.-B., and Doncieux, S. Quality-diversity optimisation. In Proceedings of the Genetic and Evolutionary Computation Conference Companion (New York, NY, USA, 2022), GECCO '22, Association for Computing Machinery, p. 864--889.
[20]
De Jong, K. Evolutionary Computation: A Unified Approach. Bradford Books, 2006.
[21]
Du, Q., Faber, V., and Gunzburger, M. Centroidal voronoi tessellations: Applications and algorithms. SIAM Review 41, 4 (1999), 637--676.
[22]
Earle, S., Snider, J., Fontaine, M. C., Nikolaidis, S., and Togelius, J. Illuminating diverse neural cellular automata for level generation. In Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, USA, 2022), GECCO '22, Association for Computing Machinery, p. 68--76.
[23]
Endo, T., Abe, H., and Oka, M. Toward automatic generation of diverse congestion control algorithms through co-evolution with simulation environments. In ALIFE 2022: The 2022 Conference on Artificial Life (July 2022).
[24]
Flageat, M., and Lim, B. Benchmarking quality-diversity algorithms on neuroevolution for reinforcement learning. https://aihub.org/2022/12/14/benchmarking-quality-diversity-algorithms-on-neuroevolution-for-reinforcement-learning/, 12 2022. Retrieved 2023-01-31.
[25]
Fontaine, M., Hsu, Y.-C., Zhang, Y., Tjanaka, B., and Nikolaidis, S. On the Importance of Environments in Human-Robot Coordination. In Proceedings of Robotics: Science and Systems (Virtual, July 2021).
[26]
Fontaine, M., and Nikolaidis, S. A quality diversity approach to automatically generating human-robot interaction scenarios in shared autonomy. Robotics: Science and Systems (2021).
[27]
Fontaine, M. C., Lee, S., Soros, L. B., De Mesentier Silva, F., Togelius, J., and Hoover, A. K. Mapping hearthstone deck spaces through map-elites with sliding boundaries. In Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, USA, 2019), GECCO '19, Association for Computing Machinery, p. 161--169.
[28]
Fontaine, M. C., Liu, R., Khalifa, A., Modi, J., Togelius, J., Hoover, A. K., and Nikolaidis, S. Illuminating mario scenes in the latent space of a generative adversarial network. Proceedings of the AAAI Conference on Artificial Intelligence 35, 7 (May 2021), 5922--5930.
[29]
Fontaine, M. C., and Nikolaidis, S. Differentiable quality diversity. Advances in Neural Information Processing Systems 34 (2021).
[30]
Fontaine, M. C., and Nikolaidis, S. Covariance matrix adaptation map-annealing. arXiv preprint arXiv:2205.10752 (2022).
[31]
Fontaine, M. C., and Nikolaidis, S. Evaluating human-robot interaction algorithms in shared autonomy via quality diversity scenario generation. J. Hum.-Robot Interact. 11, 3 (Sep 2022).
[32]
Fontaine, M. C., Togelius, J., Nikolaidis, S., and Hoover, A. K. Covariance matrix adaptation for the rapid illumination of behavior space. In Proceedings of the 2020 Genetic and Evolutionary Computation Conference (New York, NY, USA, 2020), GECCO '20, Association for Computing Machinery, p. 94--102.
[33]
Frans, K. Quality diversity: Evolving ocean creatures. https://kvfrans.com/quality-diversity-evolving-ocean-creatures/, 12 2020. Retrieved 2023-01-31.
[34]
Gaier, A., Asteroth, A., and Mouret, J.-B. Data-Efficient Design Exploration through Surrogate-Assisted Illumination. Evolutionary Computation 26, 3 (09 2018), 381--410.
[35]
Gaier, A., Asteroth, A., and Mouret, J.-B. Discovering representations for black-box optimization. In Proceedings of the 2020 Genetic and Evolutionary Computation Conference (New York, NY, USA, 2020), GECCO '20, Association for Computing Machinery, p. 103--111.
[36]
Gaier, A., Stoddart, J., Villaggi, L., and Bentley, P. J. T-domino. In Parallel Problem Solving from Nature - PPSN XVII (Cham, 2022), G. Rudolph, A. V. Kononova, H. Aguirre, P. Kerschke, G. Ochoa, and T. Tušar, Eds., Springer International Publishing, pp. 263--277.
[37]
Galanos, T., Liapis, A., Yannakakis, G. N., and Koenig, R. Arch-elites: Quality-diversity for urban design. In Proceedings of the Genetic and Evolutionary Computation Conference Companion (New York, NY, USA, 2021), GECCO '21, Association for Computing Machinery, p. 313--314.
[38]
Google. Google python style guide. https://google.github.io/styleguide/pyguide.html. Retrieved 2023-02-09.
[39]
Google. Yapf: A formatter for python files. https://github.com/google/yapf. Computer software.
[40]
Hansen, N. The CMA evolution strategy: A tutorial. CoRR abs/1604.00772 (2016).
[41]
Hansen, N., Akimoto, Y., and Baudis, P. CMA-ES/pycma on Github. Zenodo, Feb. 2019.
[42]
Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., Kern, R., Picus, M., Hoyer, S., van Kerkwijk, M. H., Brett, M., Haldane, A., del Río, J. F., Wiebe, M., Peterson, P., Gérard-Marchant, P., Sheppard, K., Reddy, T., Weckesser, W., Abbasi, H., Gohlke, C., and Oliphant, T. E. Array programming with NumPy. Nature 585, 7825 (Sept. 2020), 357--362.
[43]
He, H. The state of machine learning frameworks in 2019. https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-dominates-research-tensorflow-dominates-industry/, 2019.
[44]
Institute of Digital Games. Game ai - creative artificial evolution through quality diversity algorithms. https://www.game.edu.mt/blog/game-ai-creative-artificial-evolution-through-quality-diversity-algorithms/, 04 2019. Retrieved 2023-01-31.
[45]
Kent, P., and Branke, J. Bop-elites, a bayesian optimisation algorithm for quality-diversity search. arXiv preprint arXiv:2005.04320 (2020).
[46]
Khalifa, A. Mario AI framework. https://github.com/amidos2006/Mario-AI-Framework, 2019.
[47]
Kingma, D. P., and Ba, J. Adam: A method for stochastic optimization. In 3rd International Conference on Learning Representations, ICLR 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings (2015), Y. Bengio and Y. LeCun, Eds.
[48]
Kivy Team, et al. PyJNIus. https://github.com/kivy/pyjnius, 2010.
[49]
Lehman, J., and Stanley, K. O. Abandoning Objectives: Evolution Through the Search for Novelty Alone. Evolutionary Computation 19, 2 (06 2011), 189--223.
[50]
Lehman, J., and Stanley, K. O. Evolving a diversity of virtual creatures through novelty search and local competition. In Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation (New York, NY, USA, 2011), GECCO '11, Association for Computing Machinery, p. 211--218.
[51]
Lim, B., Allard, M., Grillotti, L., and Cully, A. Accelerated quality-diversity for robotics through massive parallelism. arXiv preprint arXiv:2202.01258 (2022).
[52]
Mohamed, O. Quality-diversity algorithms: Map-polar. https://towardsdatascience.com/quality-diversity-algorithms-a-new-approach-based-on-map-elites-applied-to-robot-navigation-f51380deec5d, 03 2021. Retrieved 2023-01-31.
[53]
Morel, A., Kunimoto, Y., Coninx, A., and Doncieux, S. Automatic acquisition of a repertoire of diverse grasping trajectories through behavior shaping and novelty search. In 2022 International Conference on Robotics and Automation (ICRA) (2022), pp. 755--761.
[54]
Morrison, D., Corke, P., and Leitner, J. Egad! an evolved grasping analysis dataset for diversity and reproducibility in robotic manipulation. IEEE Robotics and Automation Letters 5, 3 (2020), 4368--4375.
[55]
Mouret, J.-B., and Clune, J. Illuminating search spaces by mapping elites. arXiv preprint arXiv:1504.04909 (2015).
[56]
Mouret, J.-B., and Doncieux, S. SFERESv2: Evolvin' in the multi-core world. In Proc. of Congress on Evolutionary Computation (CEC) (2010), pp. 4079--4086.
[57]
Mouret, J.-B., et al. Python3 map-elites. https://github.com/resibots/pymap_elites, 2019.
[58]
Mouret, J.-B., and Maguire, G. Quality diversity for multi-task optimization. In Proceedings of the 2020 Genetic and Evolutionary Computation Conference (Jun 2020), ACM.
[59]
Nilsson, O., and Cully, A. Policy gradient assisted map-elites. In Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, USA, 2021), GECCO '21, Association for Computing Machinery, p. 866--875.
[60]
Paolo, G., Coninx, A., Doncieux, S., and Laflaqière, A. Sparse reward exploration via novelty search and emitters. In Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, USA, 2021), GECCO '21, Association for Computing Machinery, p. 154--162.
[61]
Paszke, A., Gross, S., Massa, F., Lerer, A., Bradbury, J., Chanan, G., Killeen, T., Lin, Z., Gimelshein, N., Antiga, L., Desmaison, A., Kopf, A., Yang, E., DeVito, Z., Raison, M., Tejani, A., Chilamkurthy, S., Steiner, B., Fang, L., Bai, J., and Chintala, S. Pytorch: An imperative style, high-performance deep learning library. In Advances in Neural Information Processing Systems (2019), H. Wallach, H. Larochelle, A. Beygelzimer, F. d'Alché-Buc, E. Fox, and R. Garnett, Eds., vol. 32, Curran Associates, Inc.
[62]
Pierrot, T., Macé, V., Chalumeau, F., Flajolet, A., Cideron, G., Beguir, K., Cully, A., Sigaud, O., and Perrin-Gilbert, N. Diversity policy gradient for sample efficient quality-diversity optimization. In Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, USA, 2022), GECCO '22, Association for Computing Machinery, p. 1075--1083.
[63]
Python Code Quality Authority. pylint. http://pylint.pycqa.org/. Computer software.
[64]
Python Software Foundation. Python Package Index. https://pypi.org.
[65]
Schneider, L., Pfisterer, F., Thomas, J., and Bischl, B. A collection of quality diversity optimization problems derived from hyperparameter optimization of machine learning models. In Proceedings of the Genetic and Evolutionary Computation Conference Companion (New York, NY, USA, 2022), GECCO '22, Association for Computing Machinery, p. 2136--2142.
[66]
Stanley, K. O., and Miikkulainen, R. Evolving neural networks through augmenting topologies. Evolutionary Computation 10, 2 (2002), 99--127.
[67]
Tjanaka, B., Fontaine, M. C., Kalkar, A., and Nikolaidis, S. Training diverse high-dimensional controllers by scaling covariance matrix adaptation map-annealing. arXiv preprint arXiv:2210.02622 (2022).
[68]
Tjanaka, B., Fontaine, M. C., Togelius, J., and Nikolaidis, S. Approximating gradients for differentiable quality diversity in reinforcement learning. In Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, USA, 2022), GECCO '22, Association for Computing Machinery, p. 1102--1111.
[69]
Vassiliades, V., Chatzilygeroudis, K., and Mouret, J.-B. Using centroidal voronoi tessellations to scale up the multidimensional archive of phenotypic elites algorithm. IEEE Transactions on Evolutionary Computation 22, 4 (2018), 623--630.
[70]
Vassiliades, V., and Mouret, J.-B. Discovering the elite hypervolume by leveraging interspecies correlation. In Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, USA, 2018), GECCO '18, Association for Computing Machinery, p. 149--156.
[71]
Verhellen, J., and Van den Abeele, J. Illuminating elite patches of chemical space. Chem. Sci. 11 (2020), 11485--11491.
[72]
Wolz, D. fcmaes - a python-3 derivative-free optimization library. Available at https://github.com/dietmarwo/fast-cma-es, 2022. Python/C++ source code, with description and examples.
[73]
Zhang, Y., Fontaine, M. C., Hoover, A. K., and Nikolaidis, S. Deep surrogate assisted map-elites for automated hearthstone deckbuilding. In Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, USA, 2022), GECCO '22, Association for Computing Machinery, p. 158--167.
[74]
Zhao, S. Cabbagecat's blogs. https://szhaovas.github.io. Retrieved 2023-01-31.

Cited By

View all
  • (2024)Multi-Agent Diagnostics for Robustness via Illuminated DiversityProceedings of the 23rd International Conference on Autonomous Agents and Multiagent Systems10.5555/3635637.3663024(1630-1644)Online publication date: 6-May-2024
  • (2024)Generalizing Diversity with the Signature TransformProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3638530.3654295(275-278)Online publication date: 14-Jul-2024
  • (2024)Dynamic Quality-Diversity SearchProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3638530.3654257(463-466)Online publication date: 14-Jul-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
GECCO '23: Proceedings of the Genetic and Evolutionary Computation Conference
July 2023
1667 pages
ISBN:9798400701191
DOI:10.1145/3583131
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 July 2023

Check for updates

Author Tags

  1. quality diversity
  2. framework
  3. software library

Qualifiers

  • Research-article

Funding Sources

Conference

GECCO '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)262
  • Downloads (Last 6 weeks)32
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Multi-Agent Diagnostics for Robustness via Illuminated DiversityProceedings of the 23rd International Conference on Autonomous Agents and Multiagent Systems10.5555/3635637.3663024(1630-1644)Online publication date: 6-May-2024
  • (2024)Generalizing Diversity with the Signature TransformProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3638530.3654295(275-278)Online publication date: 14-Jul-2024
  • (2024)Dynamic Quality-Diversity SearchProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3638530.3654257(463-466)Online publication date: 14-Jul-2024
  • (2024)Density Descent for Diversity OptimizationProceedings of the Genetic and Evolutionary Computation Conference10.1145/3638529.3654001(674-682)Online publication date: 14-Jul-2024
  • (2023)Arbitrarily scalable environment generators via neural cellular automataProceedings of the 37th International Conference on Neural Information Processing Systems10.5555/3666122.3668621(57212-57225)Online publication date: 10-Dec-2023
  • (2023)Training Diverse High-Dimensional Controllers by Scaling Covariance Matrix Adaptation MAP-AnnealingIEEE Robotics and Automation Letters10.1109/LRA.2023.33130128:10(6771-6778)Online publication date: Oct-2023
  • (undefined)Covariance Matrix Adaptation MAP-Annealing: Theory and ExperimentsACM Transactions on Evolutionary Learning and Optimization10.1145/3665336

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media