Biomaker CA: un progetto Biome Maker che utilizza Automi Cellulari
Biomaker CA: a Biome Maker project using Cellular Automata
July 18, 2023
Autori: Ettore Randazzo, Alexander Mordvintsev
cs.AI
Abstract
Presentiamo Biomaker CA: un progetto Biome Maker che utilizza Automi Cellulari (CA).
In Biomaker CA, la morfogenesi è un elemento di primaria importanza e piccoli semi devono
crescere in organismi simili a piante per sopravvivere in un ambiente povero di nutrienti e
alla fine riprodursi con variazioni affinché un bioma sopravviva per lunghi periodi di tempo.
Simuliamo biomi complessi mediante regole CA su griglie 2D e parallelizziamo tutti i calcoli
su GPU attraverso il framework Python JAX. Mostriamo come questo progetto consenta di
creare diversi tipi di ambienti e leggi della "fisica", insieme a diverse architetture di
modelli e strategie di mutazione. Analizziamo ulteriormente alcune configurazioni per
dimostrare come gli agenti vegetali possano crescere, sopravvivere, riprodursi ed evolversi,
formando biomi stabili e instabili. Dimostriamo poi come sia possibile meta-evolvere i
modelli per sopravvivere in un ambiente ostile, sia attraverso una meta-evoluzione end-to-end
sia mediante un approccio più chirurgico ed efficiente, chiamato meta-evoluzione in piastra
di Petri. Infine, mostriamo come eseguire un'evoluzione interattiva, in cui l'utente decide
come evolvere un modello vegetale in modo interattivo per poi distribuirlo in un ambiente
più ampio. Rendiamo disponibile il codice sorgente di Biomaker CA all'indirizzo:
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 .