{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "2H1XHWDACH"
    }
  ],
  "body": "\n## Definition\n\nLet $A$ be a finite set of states and let $d \\ge 1$.\nA configuration is an element $x = (x_u)_{u \\in \\Z^d}$ of $A^{\\Z^d}$.\nLet $N \\subseteq \\Z^d$ be a finite set, called the neighbourhood, and let $f \\colon A^N \\to A$ be a map, called the local rule.\nThe *cellular automaton* with neighbourhood $N$ and local rule $f$ is the map $F \\colon A^{\\Z^d} \\to A^{\\Z^d}$ given by\n$$F(x)_u = f\\big((x_{u + n})_{n \\in N}\\big) \\quad \\text{for all } u \\in \\Z^d.$$\n\n## Remarks\n\nExample: rule 90 has $d = 1$, $A = \\set{0, 1}$, $N = \\set{-1, 1}$ and $f(a, b) = a + b \\bmod 2$.\nSo $F(x)_i = x_{i-1} + x_{i+1} \\bmod 2$, and the value at $i$ depends only on the sites $i \\pm 1$, as required.\nNon-example: the map $F(x)_i = x_{2i}$ on $\\set{0,1}^{\\Z}$ is not a cellular automaton.\nThe value at $i$ reads the site $2i$, so no fixed finite set $N$ of offsets works for all $i$.\nEquivalently, it does not commute with the shift, which the [[Curtis–Hedlund–Lyndon theorem|N35QM9G83G]] requires.\nThe dynamics is the iteration of $F$, with $F^t(x)$ the configuration at time $t$.\nIn one dimension with $A = \\set{0,1}$ and $N = \\set{-1, 0, 1}$, the $2^8 = 256$ local rules are the elementary cellular automata, numbered by Wolfram's convention.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "5QXNC6NTVN",
    "kind": "definition",
    "msc": [
      "37B15",
      "68Q80"
    ],
    "name": "Cellular automaton",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Cellular_automaton"
      }
    ],
    "tag": "2CM2MC5HQ6",
    "uses": [
      "A1XE59ZHNM"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/2CM2MC5HQ6/",
  "links": [
    {
      "field": "defines",
      "target": "5QXNC6NTVN"
    },
    {
      "field": "uses",
      "target": "A1XE59ZHNM"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/2CM2MC5HQ6.md",
  "msc": [
    "37B15",
    "68Q80"
  ],
  "name": "Cellular automaton",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/2CM/2CM2MC5HQ6.md",
  "status": null,
  "tag": "2CM2MC5HQ6",
  "uri": "m2://2CM2MC5HQ6",
  "url": "https://tamnd.github.io/math2/wiki/cellular-automaton-definition/",
  "writing": {
    "tag": "2CM2MC5HQ6",
    "kind": "definition",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
