Biomaker CA: ein Biome-Maker-Projekt unter Verwendung von Zellulären Automaten
Biomaker CA: a Biome Maker project using Cellular Automata
July 18, 2023
Autoren: Ettore Randazzo, Alexander Mordvintsev
cs.AI
Zusammenfassung
Wir stellen Biomaker CA vor: ein Biome-Maker-Projekt, das Zelluläre Automaten (CA) verwendet. In Biomaker CA ist Morphogenese ein zentrales Element, und kleine Keime müssen sich zu pflanzenähnlichen Organismen entwickeln, um in einer nährstoffarmen Umgebung zu überleben und schließlich mit Variationen zu reproduzieren, sodass ein Biom über lange Zeiträume bestehen bleibt. Wir simulieren komplexe Biome mithilfe von CA-Regeln in 2D-Gittern und parallelisieren alle Berechnungen auf GPUs durch das Python-JAX-Framework. Wir zeigen, wie dieses Projekt verschiedene Arten von Umgebungen und „physikalischen“ Gesetzen sowie unterschiedliche Modellarchitekturen und Mutationsstrategien ermöglicht. Weiterhin analysieren wir einige Konfigurationen, um zu demonstrieren, wie Pflanzenagenten wachsen, überleben, sich fortpflanzen und evolvieren können, wodurch stabile und instabile Biome entstehen. Anschließend zeigen wir, wie Modelle meta-evolviert werden können, um in einer rauen Umgebung zu überleben, entweder durch end-to-end Meta-Evolution oder durch einen gezielteren und effizienteren Ansatz, genannt Petrischalen-Meta-Evolution. Schließlich demonstrieren wir, wie interaktive Evolution durchgeführt werden kann, bei der der Benutzer entscheidet, wie ein Pflanzenmodell interaktiv evolviert wird, und es dann in einer größeren Umgebung einsetzt. Wir veröffentlichen Biomaker CA als Open Source unter: https://tinyurl.com/2x8yu34s.
English
We introduce Biomaker CA: a Biome Maker project using Cellular Automata (CA).
In Biomaker CA, morphogenesis is a first class citizen and small seeds need to
grow into plant-like organisms to survive in a nutrient starved environment and
eventually reproduce with variation so that a biome survives for long
timelines. We simulate complex biomes by means of CA rules in 2D grids and
parallelize all of its computation on GPUs through the Python JAX framework. We
show how this project allows for several different kinds of environments and
laws of 'physics', alongside different model architectures and mutation
strategies. We further analyze some configurations to show how plant agents can
grow, survive, reproduce, and evolve, forming stable and unstable biomes. We
then demonstrate how one can meta-evolve models to survive in a harsh
environment either through end-to-end meta-evolution or by a more surgical and
efficient approach, called Petri dish meta-evolution. Finally, we show how to
perform interactive evolution, where the user decides how to evolve a plant
model interactively and then deploys it in a larger environment. We open source
Biomaker CA at: https://tinyurl.com/2x8yu34s .