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.
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- David Ha. 2020. Slime Volleyball Gym Environment. https://github.com/hardmaru/slimevolleygym.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- John D. Hunter. 2007. Matplotlib: A 2D graphics environment. Computing in Science and Engineering 9, 3 (2007), 90--95. Google ScholarDigital Library
- 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 ScholarDigital Library
- John R Koza. 1994. Genetic programming II: automatic discovery of reusable programs. MIT press.Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Maelstrom: An Accelerator-compatible GP Framework
Recommendations
HMXT-GP: an information-theoretic approach to genetic programming that maintains diversity
SAC '11: Proceedings of the 2011 ACM Symposium on Applied ComputingThis paper applies a recent information--theoretic approach to controlling Genetic Algorithms (GAs) called HMXT to tree--based Genetic Programming (GP). HMXT, in a GA domain, requires the setting of selection thresholds in a population and the ...
Investigating the success of spatial coevolution
GECCO '05: Proceedings of the 7th annual conference on Genetic and evolutionary computationWe investigate the results of coevolution of spatially distributed populations. In particular, we describe work in which a simple function approximation problem is used to compare different spatial evolutionary methods. Our work shows that, on this ...
On Synergies between Diversity and Task Decomposition in Constructing Complex Systems with GP
GECCO '16 Companion: Proceedings of the 2016 on Genetic and Evolutionary Computation Conference CompanionComplexity in genetic programming is unfortunately often associated with undesirable properties such as code bloat. In this work, we review developments in which complex systems are promoted through: 1) the evolution of teams of programs, and then 2) ...
Comments