Biomaker CA : un projet de création de biomes utilisant des automates cellulaires
Biomaker CA: a Biome Maker project using Cellular Automata
July 18, 2023
Auteurs: Ettore Randazzo, Alexander Mordvintsev
cs.AI
Résumé
Nous présentons Biomaker CA : un projet de Biome Maker utilisant des Automates Cellulaires (CA). Dans Biomaker CA, la morphogenèse est une priorité, et de petites graines doivent se développer en organismes ressemblant à des plantes pour survivre dans un environnement pauvre en nutriments et finir par se reproduire avec des variations, permettant ainsi à un biome de perdurer sur de longues périodes. Nous simulons des biomes complexes grâce à des règles de CA sur des grilles 2D et parallélisons tous les calculs sur des GPU via le framework Python JAX. Nous montrons comment ce projet permet d'explorer plusieurs types d'environnements et de lois de 'physique', ainsi que différentes architectures de modèles et stratégies de mutation. Nous analysons également certaines configurations pour illustrer comment les agents végétaux peuvent croître, survivre, se reproduire et évoluer, formant des biomes stables ou instables. Nous démontrons ensuite comment il est possible de méta-évoluer des modèles pour survivre dans un environnement hostile, soit par une méta-évolution de bout en bout, soit par une approche plus ciblée et efficace, appelée méta-évolution en boîte de Petri. Enfin, nous montrons comment réaliser une évolution interactive, où l'utilisateur décide comment faire évoluer un modèle végétal de manière interactive avant de le déployer dans un environnement plus vaste. Nous rendons Biomaker CA open source à l'adresse suivante : 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 .