Nothing Special   »   [go: up one dir, main page]

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

Maelstrom: An Accelerator-compatible GP Framework

Published: 24 July 2023 Publication 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.
[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/jax
[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.
[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.
[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.
[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/document
[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.
[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.
[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.
[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.
[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.
[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.
[13]
David Ha. 2020. Slime Volleyball Gym Environment. https://github.com/hardmaru/slimevolleygym.
[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.
[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.
[16]
John D. Hunter. 2007. Matplotlib: A 2D graphics environment. Computing in Science and Engineering 9, 3 (2007), 90--95.
[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-programming
[18]
John R Koza. 1994. Genetic programming II: automatic discovery of reusable programs. MIT press.
[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.
[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.
[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/
[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).
[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.
[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.
[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.pdf
[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.html
[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.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 July 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. software systems
  2. genetic programming
  3. island models
  4. coevolution

Qualifiers

  • Research-article

Conference

GECCO '23 Companion
Sponsor:

Acceptance Rates

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

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 58
    Total Downloads
  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)3
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media