skip to main content
10.1145/3583133.3596359acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

Maelstrom: An Accelerator-compatible GP Framework

Published:24 July 2023Publication History

ABSTRACT

This work presents the Maelstrom framework for strong-typed tree GP. Maelstrom is a Python library designed to facilitate rapid prototyping and exploration of weak-typed tree GP, strong-typed tree GP, island model, and coevolution with flexibility that enables support for accelerator frameworks such as JAX. The architecture and features of Maelstrom are discussed alongside several example applications employing Gym environments and an accelerated version of predator-prey.

References

  1. Clifford Bohm, Jory Schossau, Alexander Lalejini, and Charles Ofria. 2019. MABE 2.0 an introduction to MABE and a road map for the future of MABE development. GECCO 2019 Companion - Proceedings of the 2019 Genetic and Evolutionary Computation Conference Companion (7 2019), 1349--1356. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. James Bradbury, Roy Frostig, Peter Hawkins, Matthew James Johnson, Chris Leary, Dougal Maclaurin, George Necula, Adam Paszke, Jake VanderPlas, Skye Wanderman-Milne, and Qiao Zhang. 2018. JAX: composable transformations of Python+NumPy programs. http://github.com/google/jaxGoogle ScholarGoogle Scholar
  3. Alexander E.I. Brownlee, Ender Özcan, Jerry Swan, and Andrew J. Parkes. 2014. Hyperion2: A toolkit for {meta-, hyper-} heuristic research. GECCO 2014 - Companion Publication of the 2014 Genetic and Evolutionary Computation Conference (2014), 1133--1139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bogdan Burlacu, Gabriel Kronberger, and Michael Kommenda. 2020. Operon C++: An efficient genetic programming framework for symbolic regression. GECCO 2020 Companion - Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion (7 2020), 1562--1570. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Mark A. Coletti, Eric O. Scott, and Jeffrey K. Bassett. 2020. Library for evolutionary algorithms in Python (LEAP). GECCO 2020 Companion - Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion (7 2020), 1571--1579. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Rémi Coulom. 2002. Reinforcement Learning Using Neural Networks, with Applications to Motor Control. (6 2002). https://theses.hal.science/tel-00003985https://theses.hal.science/tel-00003985/documentGoogle ScholarGoogle Scholar
  7. François Michel De Rainville, Félix Antoine Fortin, Marc André Gardner, Marc Parizeau, and Christian Gagné. 2012. DEAP: A Python framework for Evolutionary Algorithms. GECCO'12 - Proceedings of the 14th International Conference on Genetic and Evolutionary Computation Companion (2012), 85--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Johann Dreo, Arnaud Liefooghe, Sébastien Verel, Marc Schoenauer, Juan J. Merelo, Alexandre Quemy, Benjamin Bouvier, and Jan Gmys. 2021. Paradiseo: From a modular framework for evolutionary computation to the automated design of metaheuristics: 22 years of Paradiseo. GECCO 2021 Companion - Proceedings of the 2021 Genetic and Evolutionary Computation Conference Companion (7 2021), 1522--1530. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. David Eby and R Averill. 1999. The optimization of flywheels using an injection island genetic algorithm. Evolutionary Design by Computers 13 (1999), 167--190.Google ScholarGoogle Scholar
  10. Achiya Elyasaf and Moshe Sipper. 2013. HH-evolver: A system for domain-specific, hyper-heuristic evolution. GECCO 2013 - Proceedings of the 2013 Genetic and Evolutionary Computation Conference Companion (2013), 1285--1291. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Guilherme Espada, Leon Ingelse, Paulo Canelas, Pedro Barbosa, and Alcides Fonseca. 2022. Data Types as a More Ergonomic Frontend for Grammar-Guided Genetic Programming. (11 2022), 86--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Michael Fenton, James McDermott, David Fagan, Stefan Forstenlechner, Erik Hemberg, and Michael O'Neill. 2017. PonyGE2: Grammatical evolution in python. GECCO 2017 - Proceedings of the Genetic and Evolutionary Computation Conference Companion 8 (7 2017), 1194--1201. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. David Ha. 2020. Slime Volleyball Gym Environment. https://github.com/hardmaru/slimevolleygym.Google ScholarGoogle Scholar
  14. Charles R. Harris, K. Jarrod Millman, Stéfan J. van der Walt, Ralf Gommers, Pauli Virtanen, David Cournapeau, Eric Wieser, Julian Taylor, Sebastian Berg, Nathaniel J. Smith, Robert Kern, Matti Picus, Stephan Hoyer, Marten H. van Kerkwijk, Matthew Brett, Allan Haldane, Jaime Fernández del Río, Mark Wiebe, Pearu Peterson, Pierre Gérard-Marchant, Kevin Sheppard, Tyler Reddy, Warren Weckesser, Hameer Abbasi, Christoph Gohlke, and Travis E. Oliphant. 2020. Array programming with NumPy. Nature 2020 585:7825 585, 7825 (9 2020), 357--362. Google ScholarGoogle ScholarCross RefCross Ref
  15. Sean N. Harris and Daniel R. Tauritz. 2021. Competitive coevolution for defense and security: Elo-based similar-strength opponent sampling. GECCO 2021 Companion - Proceedings of the 2021 Genetic and Evolutionary Computation Conference Companion (7 2021), 1898--1906. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. John D. Hunter. 2007. Matplotlib: A 2D graphics environment. Computing in Science and Engineering 9, 3 (2007), 90--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. John R Koza. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA. http://mitpress.mit.edu/books/genetic-programmingGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  18. John R Koza. 1994. Genetic programming II: automatic discovery of reusable programs. MIT press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. John R Koza, David Andre, Forrest H Bennett III, and Martin A Keane. 1999. Genetic programming III: Darwinian invention and problem solving. Vol. 3. Morgan Kaufmann.Google ScholarGoogle Scholar
  20. John R Koza, Martin A Keane, Matthew J Streeter, William Mydlowec, Jessen Yu, and Guido Lanza. 2005. Genetic programming IV: Routine human-competitive machine intelligence. Vol. 5. Springer Science & Business Media.Google ScholarGoogle Scholar
  21. Martín Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Citro, Greg S. Corrado, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Ian Goodfellow, Andrew Harp, Geoffrey Irving, Michael Isard, Yangqing Jia, Rafal Jozefowicz, Lukasz Kaiser, Manjunath Kudlur, Josh Levenberg, Dandelion Mané, Rajat Monga, Sherry Moore, Derek Murray, Chris Olah, Mike Schuster, Jonathon Shlens, Benoit Steiner, Ilya Sutskever, Kunal Talwar, Paul Tucker, Vincent Vanhoucke, Vijay Vasudevan, Fernanda Viégas, Oriol Vinyals, Pete Warden, Martin Wattenberg, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng. 2015. TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems. https://www.tensorflow.org/Google ScholarGoogle Scholar
  22. Yi Mei, Qi Chen, Andrew Lensen, Bing Xue, and Mengjie Zhang. 2022. Explainable Artificial Intelligence by Genetic Programming: A Survey. IEEE Transactions on Evolutionary Computation (2022). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Fernando E.B. Otero, Tom Castle, and Colin G. Johnson. 2012. EpochX: Genetic Programming in Java with statistics and event monitoring. GECCO'12 - Proceedings of the 14th International Conference on Genetic and Evolutionary Computation Companion (2012), 93--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Edward Pantridge and Lee Spector. 2017. PyshGP: PushGP in python. GECCO 2017 - Proceedings of the Genetic and Evolutionary Computation Conference Companion 8 (7 2017), 1255--1262. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Raison, Alykhan Tejani, Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and Soumith Chintala. 2019. PyTorch: An Imperative Style, High-Performance Deep Learning Library. In Advances in Neural Information Processing Systems 32, H Wallach, H Larochelle, A Beygelzimer, F d Alché-Buc, E Fox, and R Garnett (Eds.). Curran Associates, Inc., 8024--8035. http://papers.neurips.cc/paper/9015-pytorch-an-imperative-style-high-performance-deep-learning-library.pdfGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  26. Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, and Édouard Duchesnay. 2011. Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research 12, 85 (2011), 2825--2830. http://jmlr.org/papers/v12/pedregosa11a.htmlGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  27. Eric O. Scott and Sean Luke. 2019. ECJ at 20: Toward a general metaheuristics toolkit. GECCO 2019 Companion - Proceedings of the 2019 Genetic and Evolutionary Computation Conference Companion (7 2019), 1391--1398. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Maelstrom: An Accelerator-compatible GP Framework

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        GECCO '23 Companion: Proceedings of the Companion Conference on Genetic and Evolutionary Computation
        July 2023
        2519 pages
        ISBN:9798400701207
        DOI:10.1145/3583133

        Copyright © 2023 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 24 July 2023

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate1,669of4,410submissions,38%

        Upcoming Conference

        GECCO '24
        Genetic and Evolutionary Computation Conference
        July 14 - 18, 2024
        Melbourne , VIC , Australia
      • Article Metrics

        • Downloads (Last 12 months)48
        • Downloads (Last 6 weeks)3

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader