The most important aspect of a cellular automaton is the transition rule or transition function. This is what determines the evolution most. Of course the transition rule depends on the lattice geometry, the neighborhood, and the state set. Even though the transition rule most directly determines the evolution, it is in many cases not possible to predict the evolution of a CA other than by explicitly simulating it (One can prove that this is the case for those automata that can be shown to be computationally universal, such as simple automata like the ``game of life'').
), page
, this would be
This list is very long and tedious to write down. In many cases, as in the
example,
the specification can be greatly simplified by the introduction of
wild-cards, i.e.,
by indicating cases where the transition result is independent of the
content of
(usually) a neighbor cell.
Indicating a wild-card by ``
),
which was intuitively clear. If we extend the definition of wild cards in
such a manner that the first applicable rule takes precedence over
following rules, we can simplify Eq. (2.11) to
We see that by introducing this precedence rule, we have eliminated the
three rules that were listed in the second column of Eq. (2.11).
Further simplification can often be achieved by grouping states together according to the symmetries of the lattice. For the one-dimensional version with rules symmetric under reflection, we can write
and thus obtain the same number of cases as in Eq. (
).
In two dimensions the implicit specification of symmetric cases is even
more important. The two-dimensional rules would be
This type of description is used in the ``GUI''-Approach to specifying rules in the JCASim system. Other descriptions use special languages, such as CDL or Java for specifications (see Chapter 3).
and
). For our example automaton, we
demonstrate this in another version of
the two-variable rule Eq. (
), where we
include diffusion effects in variable
In principle, the neighborhoods for calculating
).
Step 2 calculates the new value of
and step 3 calculates the new value of
Of course we could write down the combined effect of steps 1 through 3
in one explicit step, but it is often more convenient to use this stepwise
formulation, even if the actual simulation uses fewer separate steps.
In JCASim such multistep rules use global vaiables which control the stepping.
The introduction of probabilistic rules is very important in many modeling situations, since many natural systems are noisy. In some cases it is sufficient to introduce random initial conditions, which also lead to a noisy or random behavior. But in many cases probabilistic rules have advantages.
Applet 2.17: Probabilistic rules with
. Evolution from an initial point,
showing every second time step.
Let us demonstrate the effects of introducing probabilistic rules in
our example. We use the following rule with
(
is the probability):
The effect of the probabilistic rules is that wavefronts do not
remain flat, and do not propagate at full speed, since infection does not
always take place. Figure 2.17
shows the evolution of an initial small excited region. We observe that the
wave front is irregular, but more circular than with deterministic rules (A
detailed investigation into different ways to achieve good isotropy in
cellular automata can be found in [5]).
We also observe (in the second row) that the wave front has broken up,
and propagates back into the interior.
We have selected the version with
because for
this phenomenon
happens very often, and is less easy to recognize.
We will encounter several examples of cellular automata with probabilistic rules in the later chapters, and also discuss how to simulate a probabilistic automaton into a deterministic automaton by integrating a random number generator in the CA rules.