Skip to main content

Command Palette

Search for a command to run...

Notes on Biomaker CA: a Biome Maker project using Cellular Automata

This is a summary of an important research paper that provides a 21:1 time savings. It was crafted by humans working with several AI's. The goal is to save time and curate good ideas.

Published
5 min read
Notes on Biomaker CA: a Biome Maker project using Cellular Automata

Link to paper: https://arxiv.org/abs/2307.09320

Paper published on: 2023-07-18

Paper's authors: Ettore Randazzo, Alexander Mordvintsev

GPT3 API Cost: $0.05

GPT4 API Cost: $0.13

Total Cost To Write This: $0.18

Time Savings: 21:1

The ELI5 TLDR:

Biomaker CA is a project that uses computers to simulate complex biomes, focusing on how organisms develop their shape. It uses a type of computer program called Cellular Automata (CA) to create these simulations. The project can simulate different environments, laws of physics, and ways that organisms can change and evolve. Some key concepts in Biomaker CA include complexification, which means that lifeforms become more complex over time, and open-endedness, which means that there are endless possibilities for how organisms can grow and develop. The project also explores artificial life and ecology by simulating how organisms interact with their environment and compete for resources. The simulations in Biomaker CA are made up of grids and rules, and the researchers use different types of Cellular Automata to create the simulations. The project also includes different environments, such as falling-sand games, where organisms have to gather nutrients to survive. The researchers are constantly working on improving the project and finding new ways to make the simulations more realistic. While Biomaker CA has some limitations, it is a valuable tool for studying how complexity evolves in artificial life and offers many opportunities for future exploration and development.

The Deeper Dive:

Understanding Biomaker CA: A Dive into Simulating Complex Biomes with Cellular Automata

Biomaker CA is a project that uses Cellular Automata (CA) to simulate intricate biomes, focusing on morphogenesis, the biological process that causes an organism to develop its shape. This project is executed on GPUs using the Python JAX framework, allowing for different environments, laws of physics, model architectures, and mutation strategies.

Key Concepts in Biomaker CA

Before we delve deeper, let's define some key concepts:

  1. Complexification: This refers to the increasing complexity in lifeforms and the tasks they solve. In Biomaker CA, complexification is observed as small seeds grow into plant-like organisms, simulating the process of evolution.

  2. Open-endedness: This is the capability for unlimited variation and complexification within an environment. In the context of Biomaker CA, open-endedness is seen in the endless potential for variation in the growth and development of organisms.

  3. Evolvability: This is the capacity to generate heritable, selectable phenotypic variation. In essence, it's the ability of an organism to evolve.

  4. Artificial life and ecology: These concepts are explored through the simulation of lifeforms interacting with their environment and competing for resources.

Cellular Automata and Neural Cellular Automata

The research focuses on two types of Cellular Automata: Von Neumann's Cellular Automata and Neural Cellular Automata (NCA). NCAs have shown complex behaviors of morphogenesis and interactions with each other. Biomaker CA uses variants of NCA to grow complex morphogenetic organisms, with mutation primarily occurring at the parameters level.

Biomaker CA Environments

The environments in Biomaker CA are falling-sand games characterized by grid-like worlds and CA rules. These environments demand agents to constantly harvest both earth and air nutrients for survival. Agents interact with the environment, changing it at every step, and compete for resources.

Biomaker CA System Design

The system design of Biomaker is experimental and the code base is expected to change over time. The environment in Biomaker consists of three grids: type_grid, state_grid, and agent_id_grid. Each grid represents different information about the space occupied by materials and organisms.

There are several types of materials in Biomaker, including void, air, earth, immovable, sun, and out of bounds. Agent cells have different types, such as unspecialized, root, leaf, and flower. Each environment is paired with an EnvConfig, which represents the laws of physics for that environment.

Seeds, Gravity, and Structural Integrity

Seeds are the initial configuration of an agent organism and are necessary for life to sprout in the environment. Gravity affects certain materials, such as earth and agent cells, causing them to fall down. Structural integrity prevents plants from falling due to gravity and is inherited from neighboring cells.

Aging, Energy Processing, and Perception

All cells experience aging, which increases a counter in their state values. Energy processing involves the generation and diffusion of nutrients among cells. Perception is limited to a cell's 3x3 neighborhood in the environment.

Cell Operations

Cell operations include parallel operations, exclusive operations, and reproduce operations. Parallel operations can be performed simultaneously and include updating internal states, changing specialization, and distributing nutrients. Exclusive operations involve changing cell types and can only be performed one at a time. Reproduce operations create new agent cells and split nutrients between the parent and offspring cells.

Biomaker CA Agent Logic and Mutators

Agent logic is a set of functions that define the behavior of a cell, and parameters can be mutated. Mutators are used to generate new parameters for reproduction. The research provides two initial agent logics with different parameter sizes for bootstrapping. Different mutators can be used to modify parameters, either stateless or stateful.

Evaluating Configurations and Improving Performance

The researchers use metrics such as the total number of agents and the extinction rate to evaluate the performance of different configurations. They propose using in-environment evolution and meta-evolution to improve the configuration's performance.

In-environment evolution involves extracting successful agents from a run and evaluating their performance, while meta-evolution involves optimizing a fitness function to improve the performance of the configurations. The researchers also propose a sample-efficient approach called "Petri dish meta-evolution" to evolve initial parameters.

Future Directions and Limitations

While Biomaker CA provides a rich framework for exploring artificial life, complexification, open-endedness, and ecology, it also has limitations. For instance, agents cannot move, and the discrete nature of space and time can limit the system's realism. Nevertheless, this research provides a valuable tool for exploring the evolution of complexity in artificial life and offers numerous avenues for future exploration and development.

Notes on Biomaker CA: a Biome Maker project using Cellular Automata