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