Classification of Discrete Dynamical Systems Based on Transients

Abstract

In order to develop systems capable of artificial evolution, we need to identify which systems can produce complex behavior. We present a novel classification method applicable to any class of deterministic discrete space and time dynamical systems. The method is based on classifying the asymptotic behavior of the average computation time in a given system before entering a loop. We were able to identify a critical region of behavior that corresponds to a phase transition from ordered behavior to chaos across various classes of dynamical systems. To show that our approach can be applied to many different computational systems, we demonstrate the results of classifying cellular automata, Turing machines, and random Boolean networks. Further, we use this method to classify 2D cellular automata to automatically find those with interesting, complex dynamics. We believe that our work can be used to design systems in which complex structures emerge. Also, it can be used to compare various versions of existing attempts to model open-ended evolution.

Publication
Artificial Life Journal

Informal Summary

In this paper we define a new method of classifying the dynamics of discrete systems; we call it the transient classification. The method is fairly simple and works as follows.

We consider discrete dynamical systems of the form $D = (S, F)$ where $S$ is a finite set of configurations of the system and $F: S \rightarrow S$ is the global update rule. You can image a cellular automaton operating on a finite lattice with periodic boundary conditions or a random Boolean network. As $S$ is finite, for every $u \in S$ the trajectory $u, F(u), F^2(u), \ldots,$ eventually enters a loop. We call the preperiod of the sequence the transient and the looping part the attractor.

We can interpret these notions in the following computational terms: within the transient, information from the initial configuration is processed in an irreversible manner, whereas the loop acts as a memory unit of the system. Therefore, we can interpret the transient length as the computational time of the system (depending on a particular initial configuration).

Our goal is to measure the average computation time of a discrete dynamical system $D=(S, F)$ by measuring its average transient length $T(D)$. We simply do this by randomly sampling initial configurations and using computer simulations to detect the loops and transient lengths. We do this until the variance of the data is “reasonably” small.

Let us consider a sequence of systems operating on configuration spaces of growing size: $$D_1 = (S_1, F_1), D_2 = (S_2, F_2), D_3 = (S_3, F_3), , \ldots$$ That is, $F_i: S_i \rightarrow S_i$ and $|S_i| < |S_{i+1}|$ for each $i$. For instance, each $D_i$ can be a cellular automaton given by a fixed local rule, operating on a finite cyclic grid of growing size.

The key principal of the transient classification is to estimate the average computation time of each system and determine the asymptotic growth of the sequence. This is illustrated in the figure below.

We try to compute the average transient values $T(D_i)$ for $i$ as large as possible before the computation of the value takes too long (we set some reasonable time bound). We then use regression methods to see, whether the data fit to a bounded, logarithmic, linear, polynomial, or an exponential function. If the fit to any of the function is good (i.e., with $R^2$ score above $90 %$) we classify the sequence of systems to one of the classes Bound, Log, Lin, Poly, or Exp.

Surprisingly, many cellular automata exhibit very clear asymptotic growth of their average computation time and the classification seems to work good on them. As an example, we show some figures for elementary automata described by their Wolfram numbers.

The results show that ordered systems generally correspond to Bound or Log classes whereas chaotic systems to the Exp class. We have examined many complex systems such as the Turing complete elementary automaton 110, or Game of Life to find out they all fit to linear functions the best. We therefore formed a hypothesis that complex systems belong to the Lin or Poly classes, which correspond to the “transition region” from logarithmic to exponential behavior. We further used the classification method to automatically search for complex automata in large spaces by searching for automata with linear or polynomial transient growth. Some interesting results are shown below.

Cellular Automata with emerging patterns which have polynomially growing average transients.

We have applied the transient classification to other discrete dynamical systems to show it works across various systems including cellular automata, Turing machines and random Boolean networks. The results suggest that there is a general trend across discrete systems which we describe in the paper:

The interesting property of the transient classification is that it was able to qualitatively distinguish the phase transition between order and chaos by identifying it with linear or polynomial transient growth.

We note that our results are experimental and that the asymptotic behavior of systems in the Lin or Poly class might eventually turn out to be logarithmic or exponential. In that case, such systems would exhibit a significantly longer time before they converge to their typical long-term behavior. That, too, is a typical property of systems at a phase transition.

This paper extends our previous results published in the paper Classification of Complex Systems Based on Transients available here.