Search NKS | Online
251 - 260 of 496 for CellularAutomaton
The picture below shows the network obtained from a class 1 cellular automaton (rule 254) with 4 cells and thus 16 possible states. … The pictures below show networks obtained when more cells are included in the cellular automaton above. … The pictures below give corresponding results for a class 2 cellular automaton (rule 132).
Note (b) for Emulating Other Systems with Cellular Automata…Multiplication systems [from cellular automata]
The rules for the cellular automaton shown here are
{{_, 0, 3 | 8} 5, {_, 0, 2 | 7} 8, {_, 1, 4 | 9} 9, {_, 1, 3 | 8} 4, {_, 1, 2 | 7} 8, {_, 10, 4 | 9} 3, {_, 10, 3 | 8} 7, {_, 10, 2 | 7} 2, {5 | 6, 1, 0} 9, {5 | 6, 10, 0} 3, {5 | 6, 1, _} 6, {5 | 6, 10, _} 5, {_, 2 | 3 | 4 | 5, _} 10, {_, 6 | 7 | 8 | 9, _} 1, {_, x_, _} x}
and the initial condition consists of a single 3 surrounded by 0 's. … Note that as discussed on page 614 multiplication by some multipliers in some bases (such as by 3 in base 6) can be achieved by a single step in the evolution of a suitable cellular automaton.
Randomness in Mathematica
SeedRandom[n] is the function that sets up the initial conditions for the cellular automaton.
Cellular automaton combinators
With k and s[k] representing respectively cell values 0 and 1 , a combinator f for which f[a -1 ][a 0 ][a 1 ] gives the new value of a single cell in an elementary cellular automaton with rule number m can be constructed as
Apply[p[p[p[#1][#2]][p[#3][#4]]][p[p[#5][#6]][p[#7][
#8]]] /. {0 k, 1 s[k]} &, IntegerDigits[m, 2, 8]] //. crules
where
p = ToC[z[y][x], {x, y, z}] //. crules
The resulting combinator has size 61, but for specific rules somewhat smaller combinators can be found—an example for rule 90 is s[k[k]][s[s][k[s[s[s[k][k]][k[s[k]]]][k[k]]]]] with size 16.
To emulate cellular automaton evolution one starts by encoding a list of cell values by the single combinator
p[num[Length[list]]][ Fold[p[Nest[s, k, #2]][#1] &, p[k][k], list]] //. crules
where
num[n_] := Nest[inc, s[k], n]
inc = s[s[k[s]][k]]
One can recover the original list by using
Extract[expr, Map[Reverse[IntegerDigits[#, 2]] &, 3 + 59(16^Range[Depth[expr[s[k]][s][k] //. crules] - 1, 1, -1] - 1)/ 15)]]/. {k 0, s[k] 1}
In terms of the combinator f a single complete step of cellular automaton evolution can be represented by
w = cr[p[inc[inc[x[s[k]]]]][ inc[x[s[k]]][cr[p[y[s[k]][k]][p[y[s[k]][s[k]]][y[k]]], {y}]][p[x[s[k]][cr[p[p[f[y[k][k][k][s[k]]][ y[k][k][s[k]]][y[k][s[k]]]][y[s[k]]]][y[k][k]], {y}]][ p[p[k][k]][p[k][x[k]]]][s[k]]][p[k][p[k][k]]]][k]], {x}]
cr[expr_, vars_] := ToC[expr //. crules, vars]
where there is padding with 0 on either side.
Testing for reversibility [in cellular automata]
To show that a cellular automaton is reversible it is sufficient to check that all configurations consisting of repetitions of different blocks have different successors. This can be done for blocks up to length n in a 1D cellular automaton with k colors using
ReversibleQ[rule_, k_, n_] := Catch[Do[ If[Length[Union[Table[CAStep[rule, IntegerDigits[i, k, m]], {i, 0, k m - 1}]]] ≠ k m , Throw[False]], {m, n}]; True]
For k = 2 , r = 1 it turns out that it suffices to test only up to n = 4 (128 out of the 256 rules fail at n = 1 , 64 at n = 2 , 44 at n = 3 and 14 at n = 4 ); for k = 2 , r = 2 it suffices to test up to n = 15 , and for k = 3 , r = 1 , up to n = 9 . … For 2D cellular automata an analogous procedure can in principle be used, though there is no upper limit on the size of blocks that need to be tested, and in fact the question of whether a particular rule is reversible is directly equivalent to the tiling problem discussed on page 213 (compare page 942 ), and is thus formally undecidable.
[No text on this page]
Behavior of a two-dimensional cellular automaton starting from a random initial condition.
Temporal sequences [in cellular automata]
So far we have considered possible sequences of cells that can occur at a particular step in the evolution of a cellular automaton. … I know of no general characterization of temporal sequences analogous to the finite automaton one used for spatial sequences above. However, if one defines the entropy or dimension h t for temporal sequences by analogy with the definition for spatial sequences above, then it follows for example that h t ≤ 2 λ h x , where λ is the maximum rate at which changes grow in the cellular automaton.
Self-assembly
Given elements (such as pieces of molecules) that fit together only when certain specified constraints are satisfied it is fairly straightforward to force, say, cellular automaton patterns to be generated, as on page 221 .
Directional sampling [in cellular automata]
One can consider sampling cells not in a vertical column but on lines at any angle. … (Note that directional sampling is always equivalent to looking at a vertical column in the evolution of a cellular automaton whose basic rule has been composed with an appropriate shift rule.)
Continual injection of randomness [in cellular automata]
In the main text we discuss what happens when one starts from random initial conditions and then evolves according to a definite cellular automaton rule.