Three-Color Cellular Automaton Rules that Double Their Input

A list of rules for k=3 cellular automata that eventually double a block of gray input cells

Originator: Stephen Wolfram

A collection of these rules originally appears on page 833 of A New Kind of Science (Wolfram, 2002).

The rules presented are the 199 minimum representatives of equivalence classes of rules. (The total raw number of rules is 4277.)

(199 elements)

Examples

Basic Examples

Retrieve the resource:

In[1]:=
ResourceObject["Three-Color Cellular Automaton Rules that Double \
Their Input"]
Out[1]=

Retrieve a sample of the default content:

In[2]:=
Take[ResourceData[
  "Three-Color Cellular Automaton Rules that Double Their Input"], 20]
Out[2]=

Pick 10 random examples of these rules:

In[3]:=
sample = RandomSample[
  ResourceData[
   "Three-Color Cellular Automaton Rules that Double Their Input"], 
  10]
Out[3]=

See how they act on inputs of length 10:

In[4]:=
ArrayPlot[CellularAutomaton[{#, 3},
    {Append[Table[1, 10], 2], 0}, 100]] & /@ sample
Out[4]=

See that this holds when input length and evaluation steps are doubled:

In[5]:=
ArrayPlot[
   CellularAutomaton[{#, 3}, {Append[Table[1, 20], 2], 0}, 
    200]] & /@ sample
Out[5]=

Find how many steps each rule takes to “settle down” from an initial conditions with 20 1s:

In[6]:=
Length[First[
    FindTransientRepeat[
     CellularAutomaton[{#, 3}, {Append[Table[1, 20], 2], 0}, 400], 
     40]]] & /@ 
 ResourceData[
  "Three-Color Cellular Automaton Rules that Double Their Input"]
Out[6]=

Find the 5 rules with the longest transients:

In[7]:=
TakeLargestBy[
 ResourceData[
  "Three-Color Cellular Automaton Rules that Double Their Input"], 
 Length[First[
    FindTransientRepeat[
     CellularAutomaton[{#, 3}, {Append[Table[1, 20], 2], 0}, 400], 
     40]]] &, 5]
Out[7]=

Show the behavior for these rules:

In[8]:=
ArrayPlot[
   CellularAutomaton[{#, 3}, {Append[Table[1, 20], 2], 0}, 500]] & /@ 
 %
Out[8]=

Wolfram Research, "Three-Color Cellular Automaton Rules that Double Their Input" from the Wolfram Data Repository. (2017) https://doi.org/10.24097/wolfram.07085.data

Source Metadata