Biomaker CA: проект создания биомов с использованием клеточных автоматов
Biomaker CA: a Biome Maker project using Cellular Automata
July 18, 2023
Авторы: Ettore Randazzo, Alexander Mordvintsev
cs.AI
Аннотация
Мы представляем Biomaker CA: проект Biome Maker, использующий клеточные автоматы (CA). В Biomaker CA морфогенез является ключевым элементом, и небольшие "семена" должны развиваться в растительные организмы, чтобы выжить в среде с ограниченными питательными веществами и в конечном итоге воспроизводиться с вариациями, что позволяет биому существовать на протяжении длительных временных периодов. Мы моделируем сложные биомы с помощью правил CA на двумерных сетках и параллелизируем все вычисления на GPU с использованием фреймворка Python JAX. Мы демонстрируем, как этот проект позволяет создавать различные типы сред и "законов физики", а также использовать различные архитектуры моделей и стратегии мутаций. Далее мы анализируем некоторые конфигурации, чтобы показать, как растительные агенты могут расти, выживать, размножаться и эволюционировать, формируя стабильные и нестабильные биомы. Затем мы демонстрируем, как можно мета-эволюционировать модели для выживания в суровых условиях, либо с помощью сквозной мета-эволюции, либо с использованием более точного и эффективного подхода, называемого мета-эволюцией в чашке Петри. Наконец, мы показываем, как проводить интерактивную эволюцию, где пользователь решает, как эволюционировать модель растения в интерактивном режиме, а затем развертывает её в более крупной среде. Мы открываем исходный код Biomaker CA по адресу: 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 .