Details
The state for a mobile automaton is given in the form {{a1,a2,…}, n}, where the ai are values of cells and n is the position of the active cell.
The rules for a basic mobile automaton with nonlocal rules are given as a list of elements of the form {a-x,a0,a+x}→{ap,dn}, where a-x and a+x are the dependent cell positions relative to the active cell, ap is the new value of the active cell, and dn is its displacement.
Basic dependent cell positions are listed as {-x, 0, y}, where -x is the dependent cell position x cells to the left, y is the dependent cell position y cells to the right, and 0 represents the active cell position.
Other ways to express dependent cell positions are listed as {xi,xi+1... xk-1,xk}, where you can input multiple dependent cells rather than just 3.
The rules for a block mobile automaton with nonlocal rules are given as a list of elements of the form {a-x,a0,a+x}→{{ap-x,ap0,ap+x},dn}, where a-x and a+x are the dependent cell positions relative to the active cell, api are the new values for the block of cells and dn is the displacement of the active cell.
The rules for a generalized mobile automaton with nonlocal rules are given as a list of elements of the form {a-x,a0,a+x}→{ap,{dn-1,dn0,dn+1}}, where a-x and a+x are the dependent cell positions relative to the active cell, ap is the new value of the active cell and the dni are the new relative positions of the active cells.
The rules for a basic mobile automaton with non-local rules can be given as a pair of integers, in which case they will be decoded as specified in
A New Kind of Science, page
887.
If the position of the active cell would be outside the range defined by the list of cells given, it is taken to be
None.
ResourceFunction["MobileAutomatonNonlocal"][rule,init,positions,tsspec] supports the following time specifications tspec:
t | all steps 0 through t |
{{t}} | step t alone |
{t1,t2} | steps t1 through t2 |
{t1,t2,dt} | steps t1,t1+dt,… |