Friday, May 29, 2020

[ejunhxxz] Isotropic cellular automaton

Here is a generic way to design isotropic cellular automata.  First, pick a fixed ordering of the cells in the rule neighborhood, for example, clockwise starting from North.

When evaluating the cellular automaton, for each cell, consider all rotations and reflections of its neighbors that affect it.  For each transformation, write the states of the neighbors in the chosen fixed order, producing a string for each transformation.  Sort the neighbor strings, picking the lexicographically smallest to be the canonical one.  Compute the cell's next state from this canonicalized neighborhood.

No comments :