Transient Behavior of Cellular Automaton Rule 110 Wentian Li Mats G. Nordahl
SFI WORKING PAPER: 1992-03-016
SFI Working Papers contain accounts of scientific work of the author(s) and do not necessarily represent the views of the Santa Fe Institute. We accept papers intended for publication in peer-reviewed journals or proceedings volumes, but not papers that have already appeared in print. Except for papers by our external faculty, papers must be based on work done at SFI, inspired by an invited visit to or collaboration at SFI, or funded by an SFI grant. ©NOTICE: This working paper is included by permission of the contributing author(s) as a means to ensure timely distribution of the scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the author(s). It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may be reposted only with the explicit permission of the copyright holder. www.santafe.edu
SANTA FE INSTITUTE
Transient Behavior of Cellular Automaton Rule 110 Wentian Li* and Mats G. Nordahl Santa Fe Institute, 1660 Old Pecos Trail, Suite A, Santa Fe, NM 87501 (First dacft: March 1991; Final version: March 24, 1992)
Abstract. The transient behavior of the I-dimensional 2-state 3-input cellular automaton rule 110, one of the simplest "edge of chaos" cellular automata, is investigated numerically. The simulations show that the average transient time Tave increases algebraically with system size N, Tave
~
N"', with a "" 1.08, and that the
density of propagating objects (gliders) decays with time as
ngl ~
r'Y with I
"" 0.64.
*Present address: Physics Department, Rockefeller University, 1230 York Avenue, New York, NY 10021.
1
RllO
2
A number of higher-dimensional dynamical systems exhibit "edge of chaos" dynamics characterized by long transients, marginal stability with respect to perturbations, and poor convergence of statistical quantities. This type of dynamic behavior has also been referred to as complex dynamics, critical dynamics, or class-4 dynamics ("class-4" refers to the phenomenological classification scheme for cellular automata introduced by vVolfram [1]). In the context of cellular automata and other higher-dimensional dynamical systems with local interactions, edge of chaos dynamics typically manifests itself through the emergence of local propagating configurations -
gliders -
that move on a homo-
geneous or periodic background and collide among each other, and through irregular long-lived transients similar to directed percolation close to the transition. Examples of edge of chaos dynamics include the well-known 2-dimensional 2-state 9-neighbor cellular automaton "game of life" (e.g., [2]) and the I-dimensional 2-state
(k
=
2) 3-neighbor (neighborhood radius r
=
1) cellular automata (CA) rule 110 and
rule 54 [3,4]. Edge of chaos dynamics for non-local cellular automata has been discussed in Ref. [5]; critical dynamics in locally coupled map lattices has been investigated, e.g., in Refs. [6,7,8,9]. Some authors have suggested a connection between edge of chaos dynamics and computation universality (e.g., [1,10]). Gliders could serve to transmit information, and their collisions could encode logical operations. As an example, the universality of the "game of life" has been demonstrated in this way [2]. The feasibility of encoding computations in a similar way in one dimension was demonstrated in Ref. [11], where glider collisions were designed to represent the state transitions of a universal Turing machine. In a computation universal system, arbitrarily long transients must exist, due to the halting problem. However, for the computation universal cellular automata we are aware of, only a negligible fraction of the initial states actually encode computations, and one should not expect a generally valid connection between computation universality and generic dynamical behavior. In this letter, we shall rely on numerical simulations to characterize the transient behavior of the one-dimensional k
= 2, r = 1 cellular automaton rule 110, which is well
known in the cellular automata community as one of the simplest "complex" or "class-4" rules. The rule number 110, in the conventions of Ref. [3], is the decimal representation
Rll0
3
of the binary string (01101110) which encodes the 3-input to I-output rules: 111 110 101 100 011 010 001 000 011
o
1
With the state value at site i and time t denoted
1
1
(.1)
o
x;, these rules define a local transition
function xl+l = ¢>(xLl> x;, xi+l)' which when applied in parallel defines a global cellular automaton mapping 111
->
i(> :
{O, l}N
->
{O, l}N for each lattice size N. Since 000
->
0 and
0, rule 110 belongs to one of the nonlinear clusters in the elementary rule space
[12]. Fig. 1 shows an example of the spatio-temporal pattern generated by rule 110. One can easily identify the gliders and the background, which is periodic with spatial periodicity 14 and temporal periodicity 7. (If temporal periodicity is defined up to spatial shifts, the period can be 4, given two left shifts, or 3 for the case of two right shifts.) A list of gliders for rule 110 is given in Table 15 of the appendix of Ref. [4] -
to this
list should at least be added an infinite set of "excitations" obtained by extending the velocity -4/15 particle of the list by an arbitrary number of repetitions of a certain primitive pattern [13]. For a finite system of size N, the limiting dynamics of a cellular automaton is always periodic with some cycle length P. We define the transient time T as the number of time steps needed to reach a cycle. T and P can be determined simultaneously using the simple algorithm described below (e.g., [14,15]). Representing the state of the system -
a binary sequence of length N -
by X( t) = {xi x~ ... xlv}, the algorithm works as
follows:
1. Starting from X(O), calculate X(t) - i(>t[X(O)], and X(2t) _ i(>2t[X(0)], respectively, until X(t) = X(2t). Denoting this time t as To, we have T ::::: To ::::: T
+ P.
Save the state X(To). 2. Iterate the cellular automaton mapping with initial conditions X(O) and X(To) until i(>i[X(O)] = i(>i[X(To)] (where i is the number of iterations). The transient time is then given by T = i. 3. Iterate the cellular automaton mapping starting from X(To) until i(>i[X(To)] -
X(To). The period is then given by P = i.
RllO
4
This algorithm is designed to minimize storage space [15]; the only sequences that need to be saved are X(O), X(To), the first running copy (X(t) or q,i[X(O)]), and the second running copy (X(2t) or q,i[X(To)J). Since the dynamics is simulated on another sequence for 2T :::; 2t :::; 2(T + P) time steps, as well as an extra 2T steps to determine the transient, and P steps to determine the cycle length, the running time of the algorithm corresponds to at most 5T + 4P lattice updates and 2(T + P) comparisons. The naive algorithm (where the complete history is saved) only needs T +P updates, but the number of comparisons grows proportionally to (T + P)2, which means that the algorithm above not only reduces the linearly growing memory requirement to a small constant, but also reduces the computation time for large T and P. In the case of rule 110, very long cycles corresponding to complex glider collision patterns exist for some lattice sizes (e.g., N = 2048, P = 37,310,464; and N = 2560, P = 13,797,120). In most of these cases the period modulo spatial shifts is much shorter,
and significant reductions in computation time were obtained by using a modified version of the algorithm above, where state comparisons were made up to spatial shifts. The initial conditions of the simulations were prepared by independently assigning each site value 0 or 1 with equal probability; periodic boundary conditions were used. A multi-spin coding algorithm (e.g., [16]) was used for the lattice update. For each system size N, 200 initial conditions were sampled; the system sizes of the simulation ranged from 128 to 28672. Fig. 2 shows the transient times as function of system size, and Fig. 3 shows the average transient times for different lattice sizes. A least-square fitting
10g(Tave ) = b + a 10g(N),
(.2)
or equivalently, Tave = ebNo