Block Simulation Network of Elementary Cellular Automata

This shows how one elementary cellular automaton rule can emulate other rules if its states consist only of particular blocks. Only the 88 inequivalent elementary rules are included.

This network originally appeared on page 702 of "A New Kind of Science" (Wolfram, 2002)

(88 rows)

Examples

Basic Examples

Retrieve the ResourceObject:

In[1]:=
ResourceObject["Block Simulation Network of Elementary Cellular \
Automata"]
Out[1]=

View the data:

In[2]:=
ResourceData["Block Simulation Network of Elementary Cellular \
Automata"]
Out[2]=

Analysis

Find which rules can be emulated by rule 22:

In[3]:=
ResourceData[
   "Block Simulation Network of Elementary Cellular Automata"][
  Key[22], All, "Rule"] // Normal
Out[3]=

Find the details of the emulation of rule 90 by rule 22:

In[4]:=
ResourceData[
  "Block Simulation Network of Elementary Cellular Automata"][Key[22],
  Select[#Rule == 90 &]]
Out[4]=

Get the blocks:

In[5]:=
ResourceData[
    "Block Simulation Network of Elementary Cellular Automata"][
   Key[22], Select[#Rule == 90 &], "Blocks"] // Normal // Values
Out[5]=

Plot them:

In[6]:=
ArrayPlot[CellularAutomaton[22, {{1, 0, 0, 0}, {0, 0, 0, 0}}, 40]]
Out[6]=

Look at every 4th step:

In[7]:=
ArrayPlot[
 CellularAutomaton[22, {{1, 0, 0, 0}, {0, 0, 0, 0}}, {{0, 40, 4}}]]
Out[7]=

Convert the blocks to 0 and 1 respectively:

In[8]:=
Reverse /@ 
 Normal[Normal[
   First[ResourceData[
      "Block Simulation Network of Elementary Cellular Automata"][
     Key[22], Select[#Rule == 90 &], "Blocks"]]]]
Out[8]=
In[9]:=
ArrayPlot[(Partition[#, 
      4] /. {{0, 0, 0, 0} -> 0, {1, 0, 0, 0} -> 1}) & /@ 
  CellularAutomaton[22, {{1, 0, 0, 0}, {0, 0, 0, 0}}, {{0, 40, 4}}]]
Out[9]=

Plot the entire simulation network

In[10]:=
Graph[Flatten[Normal[KeyValueMap[Thread[#1 -> #2] &,
    ResourceData[
      "Block Simulation Network of Elementary Cellular Automata"][All,
      All, "Rule"]]]], VertexLabels -> Automatic]
Out[10]=

Wolfram Research, "Block Simulation Network of Elementary Cellular Automata" from the Wolfram Data Repository. (2017) https://doi.org/10.24097/wolfram.05827.data

License Information

CC BY-SA 4.0

Source Metadata