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