Let be a one-dimensional cellular automaton and let be its global transition function. The very construction of shows that it is continuous in the product topology, as coincides with on as soon as and coincide on : and also commutes with translations, as it is easy to see how the translate of the update is precisely the update of the translate. We will discuss this in more detail in a future post.
As the image of a continuous function of a compact metric space into itself, the set is a closed subset of is a subshift, that is, a closed and translation invariant subset of the full shift . As such (again, we will go into further details in another post) is entirely determinated by its language
that is, the set of words that appear as “chunks” of elements of . Such language, which we call the language of , is always regular.
To see this, we suppose for some , which we always can: and construct the de Bruijn graph of order on . This graph has as its nodes the words of length over , and as its edges the words of length over : an edge boes from the node to the node if and only if there exist such that : that is, each word of length joins its own longest proper prefix to its own longest proper suffix. If we label each edge with , and consider all states as both initial and final, we obtain a nondeterministic finite automaton that accepts precisely the language of .
As a composition of cellular automata is clearly a cellular automaton, we may consider the languages of the iterates of , which are the languages of the subshifts of the form for . Now, an arbitrary intersection of closed sets is closed: similarly, an arbitrary intersection of translation invariant sets is translation invariant. This means that the set
is a subshift: which we call the limit set of . Similarly, we call the language of the limit language of .
The first question that comes to the mind, is whether the limit language is regular or not: after all, regularity of intersection is only ensured for finitely many regular languages at once. Indeed, the answer is negative: a very nice counterexample was constructed by Lyman Hurd and published in 1987 on Complex Systems.
The idea of Hurd’s counterexample is to use signals moving either left or right at unitary speed, and ummovable, elastic walls that make signals bounce if they arrive at the same time from opposite directions, otherwise just stopping them. Conflicts are resolved by having the signals stop if they would end up occupying the same spot or crossing each other.
So, let’s set , meaning signal moving to the left, signal moving to the right, empty slot, and wall, respectively; , which is needed to correctly manage collisions; and according to the following lookup table:
Hurd’s next trick relies on the following observation. Suppose is an arbitrary language, and a regular language: as a finite intersection of regular languages is regular, if it happens that is not regular, the only possible reason is that was already not regular in the first place! This is precisely what Hurd does by setting
and showing that
which clearly does not respect the necessary condition given by the pumping lemma for regular languages.
First, every such word belongs not only to (as it is evident) but to too. Indeed, if we extend the word to a configuration by setting all the other cells as blank, we may obtain an infinitely long backward history by observing that:
- A predecessor of for is
- A predecessor of is
- A predecessor of for is
Next, let be an arbitrary word of which also belongs to . Can it be that ? No, it cannot, because by doing backward steps we necessarily arrive at , which is an orphan. Why so? Because the only ways to have a situation of the form , is either as unchanged from the beginning, or immediately after a bounce: but after a bounce, the situation is , not . Symmetrically, it cannot be .
Can more be said? Indeed, Hurd himself provides an upgraded construction, adding new signals moving left and right at double speed: the limit language of the new cellular automaton is not context free. Finally, as a consequence of computational universality of cellular automata (the reader can easily see how to simulate arbitrary Turing machines by suitable one-dimensional cellular automata) Hurd proves that some limit languages are not recursively enumerable: this last proof is, as it can be expected, nonconstructive. On the other hand, the complement of the limit language, as a union of regular languages, is recursively enumerable.
- Lyman P. Hurd. Formal Language Characterizations of Cellular Automaton Limit Sets. Complex Systems 1 (1987), 69–80.