Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Search through one-dimensional cellular automata for periodic structures
ResourceFunction["AutomatonParticleDetect"][rule,seed,pad,time] tests for periodic structure after time steps of the iterator CellularAutomaton[rule] acting initially on a seed surrounded by pad values, and returns a descriptive association in case of a true positive. |
"Canonicalize" | True | determines whether or not to post process output data |
Method | "Structured" | specify how canonicalization handles throughput data |
Test seed {1,0,0,0,1} against the dominant periodic background of Rule 110:
In[1]:= |
Out[1]= |
Depict the particle as it moves through about four periods:
In[2]:= |
Out[2]= |
Detect particles in elementary Cellular Automaton Rule 110 by noting when "Result" equals True:
In[3]:= |
Out[3]= |
Make a data table for the first positive of Rule 110:
In[4]:= |
Out[4]= |
Map over a small search space for unique particles and check their velocity statistic:
In[5]:= |
Out[5]= |
Change the time parameter to run search longer and possibly find more positive results:
In[6]:= |
Out[6]= |
For the purpose of algorithm timing analysis, it is possible to pass Method "Simple":
In[7]:= |
Out[7]= |
However, Method "Simple" is expected to be slow relative to the default "Structured":
In[8]:= |
Out[8]= |
Search for, find and depict numerous different particles in one short-time call:
In[9]:= |
In[10]:= |
Out[10]= |
Look farther out and find even more remarkable results:
In[11]:= |
Out[11]= |
This work is licensed under a Creative Commons Attribution 4.0 International License