Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Obtain an annotated state transition graph for any CellularAutomaton rule
ResourceFunction["CATransducerGraph"][rule,k,r] returns a directed adjacency graph over k(k2r+1) states, where each edge is annotated with an input value 0, 1, …, k and each vertex is annotated with an output value determined by rule. |
The CATransducerGraph for Rule 86:
| In[1]:= |
| Out[1]= | ![]() |
Obtain the definition of rule 86 from Annotation data:
| In[2]:= |
| Out[2]= |
Prove that rule 86 allows any bit vector in its range of outputs:
| In[3]:= |
| Out[3]= |
Map a two-state CA with CATransducerGraph over different radius values:
| In[4]:= |
| Out[4]= | ![]() |
Color a CATransducerGraph according to its Annotation data:
| In[5]:= | ![]() |
| Out[5]= | ![]() |
Map a three-state with CATransducerGraph over different radius values:
| In[6]:= |
| Out[6]= | ![]() |
Obtain the CATransducerGraph for a totalistic rule:
| In[7]:= |
| Out[7]= | ![]() |
Color vertices according to the transduced output value:
| In[8]:= | ![]() |
| Out[8]= | ![]() |
Show fragments of input and output tapes:
| In[9]:= | ![]() |
| Out[9]= | ![]() |
Compare left-shift and right-shift graphs for rule 30:
| In[10]:= |
| Out[10]= | ![]() |
One graph has uniform outputs, the other does not:
| In[11]:= | ![]() |
| Out[11]= |
Highlight where the right-shift graph fails to provide alternatives for the next transduced value:
| In[12]:= | ![]() |
| Out[12]= | ![]() |
Add vertex figures to the CATransducerGraph of a random four-color CellularAutomaton:
| In[13]:= | ![]() |
| Out[13]= | ![]() |
Prove that a certain length-36 bit vector can not exist in a totalistic CA using rule 10:
| In[14]:= | ![]() |
| Out[14]= |
Given a random bit vector, list possible pre-images under rule 165:
| In[15]:= | ![]() |
| Out[15]= | ![]() |
The structure of CATransducerGraph does not depend on choice of rule:
| In[16]:= |
| Out[16]= |
However, different rules have different Annotation values:
| In[17]:= | ![]() |
| Out[17]= |
Obtain a list of "multiway-invertible" elementary cellular automata:
| In[18]:= | ![]() |
| Out[18]= |
Depict the results evolving from random periodic initial conditions:
| In[19]:= | ![]() |
| Out[19]= | ![]() |
Wolfram Language 13.0 (December 2021) or above
This work is licensed under a Creative Commons Attribution 4.0 International License