Biomaker CA: un proyecto de creación de biomas utilizando Autómatas Celulares
Biomaker CA: a Biome Maker project using Cellular Automata
July 18, 2023
Autores: Ettore Randazzo, Alexander Mordvintsev
cs.AI
Resumen
Presentamos Biomaker CA: un proyecto de creación de biomas utilizando Autómatas Celulares (CA). En Biomaker CA, la morfogénesis es un elemento fundamental, donde pequeñas semillas deben desarrollarse en organismos similares a plantas para sobrevivir en un entorno con escasez de nutrientes y, eventualmente, reproducirse con variación, permitiendo que un bioma perdure durante largos períodos de tiempo. Simulamos biomas complejos mediante reglas de CA en cuadrículas 2D y paralelizamos todos los cálculos en GPU utilizando el framework Python JAX. Mostramos cómo este proyecto permite la creación de diversos tipos de entornos y leyes de 'física', junto con diferentes arquitecturas de modelos y estrategias de mutación. Además, analizamos algunas configuraciones para demostrar cómo los agentes vegetales pueden crecer, sobrevivir, reproducirse y evolucionar, formando biomas estables e inestables. Luego, demostramos cómo se puede meta-evolucionar modelos para sobrevivir en un entorno hostil, ya sea mediante meta-evolución de extremo a extremo o mediante un enfoque más quirúrgico y eficiente, denominado meta-evolución en placa de Petri. Finalmente, mostramos cómo realizar evolución interactiva, donde el usuario decide cómo evolucionar un modelo de planta de manera interactiva y luego lo despliega en un entorno más amplio. Hemos liberado el código fuente de Biomaker CA en: 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 .