Skip to main content
Log in

Remarks on the cellular automaton global synchronisation problem: deterministic versus stochastic models

  • Published:
Natural Computing Aims and scope Submit manuscript

Abstract

In the global synchronisation problem, one is asked to find a cellular automaton which has the property that every initial condition evolves into a homogeneous blinking state. We study this simple inverse problem for the case of one-dimensional systems with periodic boundary conditions. Two paradoxical observations are made: (a) despite the apparent simplicity of finding rules with good statistical results, there exist no perfect deterministic solutions to this problem, (b) if we allow the use of randomness in the local rule, constructing “perfect” stochastic solutions is easy. For the stochastic case, we give some rules for which the mean time of synchronisation varies quadratically with the number of cells and ask if this result can be improved. To explore more deeply the deterministic rules, we code our problem as a SAT problem and use SAT solvers to find rules that synchronise a large set of initial conditions (in appendix).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. This article is an extended version of a first text presented at AUTOMATA 2015 Fatès (2015).

  2. Richard exposed his idea to us during the AUTOMATA 2015 workshop and where a first presentation of this work was made Fatès (2015).

  3. For the sake of simplicity, we do not follow the usual rules of presentation and we voluntarily make an exception for the state \({\mathtt{0}}\)  which can be obtained both in the first and the third line.

  4. This rule consists in applying the traffic rule (ECA \({{184}}\)) with probability \(1 - \epsilon\) and the majority rule with probability \(\epsilon\). It allows one to classify the density with an arbitrary precision for \(\epsilon\) small enough, at the cost of an increase in the convergence time (Fatès 2013).

  5. A transition is a t-uple of size s which is given as an input to the local rule.

  6. It corresponds to sequence A000031 in the Online Encyclopedia of integer sequences. One reads: “In music, \(|\chi (n)|\) is the number of distinct classes of scales and chords in an n-note equal-tempered tuning system”, see: https://oeis.org/A000031.

  7. see: http://minisat.se/.

  8. see http://fiatlux.loria.fr.

References

Download references

Acknowledgements

The author is grateful to Irène Marcovici, Jean Mairesse and Sukanta Das for stimulating discussions on the topic and to the anonymous reviewers for precious indications and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nazim Fatès.

Appendices

Appendix 1: Proofs

1.1 The synchronisation problem with fixed boundary conditions

Another way to solve the problem is to use fixed boundary conditions. We here present a rule which solves the problem for the binary case \(k = 2\). For a set of states \({Q_k}\), let \({f} : {Q^3} \rightarrow {Q}\) be such that \(f(x,y,z) = {{{\mathtt{1}}}}\) if and only if \((x,y)=({{\mathtt{0}}},{{\mathtt{0}}})\). The ECA f corresponds to rule \({{3}}\) according to the classical decimal numbering scheme.

Let us consider the space of n cells \({{\mathcal{L}}}' = \{0,\ldots ,{n-1}\}\), the configuration space \(E_n = {Q_k}^{{{\mathcal{L}}}'}\), and define the following global rule \({H} : {E_n} \rightarrow {E_n}\) such that for all \(x \in E_n\): \(H(x)_0= {{\mathtt{0}}}\), \(H(x)_{n-1}= {{\mathtt{0}}}\) and \({\forall i \in \{1,\ldots ,{n-2}\}, \, \, } H(x)_i = f(x_{i-1}, x_i, x_{i+1})\). The actual state space on which this rule operates is \(\{ x \in {Q_k}^n, x_0={{\mathtt{0}}} \text{ and } x_{n-1}={{\mathtt{0}}}\}\).

Figure 6 shows how this rule behaves for two cases: an arbitrary configuration and a particular configuration which maximises the number of steps before synchronisation.

Fig. 6
figure 6

Space-time digram of ECA 3 with fixed boundary conditions. Blue and white squares represent cells with state \({\mathtt{1}}\) and \(\mathtt{0}\), respectively. Time goes from bottom to top. (Color figure online)

Theorem 6

For anyn, ruleHsynchronises the non-boundary cells.

Proof

Let us show that H achieves the synchronisation task on any initial condition \(x \in E_n\). Let \((x^t)_{t\in {\mathbb{N}}}\) be the sequence of configurations which results from the evolution of x: \(x^0= x\) and \(x^{t+1} = H(x^t)\).

The synchronisation occurs from left to right: after two time steps, we can guarantee that at least one more cell is synchronised, that is, it has the same state as the cell on its left. This property is formalised with:

$$\begin{aligned} {\forall x \in E_n, \, \, } {\forall t \in {\mathbb{N}}, \, \, } \forall i \{1,\ldots ,t+1\}, x_i^{2t} = x_1 \quad \text{ and } \quad x_i^{2t+1}= 1 - x_1. \end{aligned}$$

We can prove this property by recurrence on t. By definition we have \(x_1^0 = x_1\). To show that \(x_1^1= 1 - x_1\), it is sufficient to notice that \(f({{\mathtt{0}}}, {{\mathtt{0}}}, \cdot ) = {{{\mathtt{1}}}}\) (rule A) and \(f({{\mathtt{0}}}, {{{\mathtt{1}}}}, \cdot ) = {{\mathtt{0}}}\) (rule B). We can remark that this also shows that the leftmost (non-boundary) cell continuously blinks: \({\forall t \in {\mathbb{N}}, \, \, } x_1^{t+1} = 1 - x_1^t\).

Now, let us assume that we have \(x \in E_n\) and \(\tau \in {\mathbb{N}}\) such that : \(\forall i \le \tau , x_i = {{\mathtt{0}}}\) and let us examine \(y= F(x)\), the image of x. Then, by the use of rule A above, y verifies: \(\forall i \le \tau , y_i = {{{\mathtt{1}}}}\). If we take x such that : \(\forall i \le \tau , x_i = {{{\mathtt{1}}}}\), then, by noticing that \(f({{{\mathtt{1}}}},\cdot ,\cdot )={{\mathtt{0}}}\), we have \(y_{\tau +1} = {{\mathtt{0}}}\) and thus \(\forall i \le \tau +1, y_i = {{\mathtt{0}}}\), which proves that the cell at the right of \(\tau\) has the same state as the cells to its left. In words, it means that the synchronisation extends by (at least) one cell to the right when the left part of the configuration has been set to \(\mathtt{0}\) and simply blinks when this left part has the state \({\mathtt{1}}\). This can be clearly seen on the space-time diagrams showing the evolution of the rule (see Figs. 6, 7). \(\square\)

Fig. 7
figure 7

Example of an evolution of ECA 3 with fixed boundary conditions. The symbol \(\circledast\) represents the boundary cells with state \(\mathtt{0}\). The states in bold show the synchronised part (see text). Times goes from bottom to top

1.2 Convergence in quadratic time of the multi-state

We now present an adaptation of Lemma 1 in Fatès (2013) to show the quadratic convergence of the k-state uniform copy rule.

Lemma 2

Letnandkbe two positive integers. Considerkstochastic processes\((X^{t}_{1}), \ldots , (X^{t}_{k})\), with values in\(\{0,\ldots ,{n}\}\). Let\(F_t\)be a filtration adapted to these processes. Informally, this means that the only information that we have at timetis the value taken by this process from the initial time to the timet.

We define\(T = \min \{t \in {\mathbb{N}}; \exists i \in \{1,\ldots ,{k}\}, X^{t}_{i}=n \}\)as the absorbing time of the process.

If the processes are martingales, that is, each \((X^{t}_{i})\) verifies:

$$\begin{aligned} \forall i \in \{1,\ldots ,{k}\}, \forall t \in {\mathbb{N}}; {\mathbb{E}}\{ X^{t+1}_{i} | {\mathcal{F}}_t\}= X^{t}_{i} , \end{aligned}$$

and if there exists a positive constant \(\epsilon\) such that:

\(\forall t < T, \exists i \in \{1,\ldots ,{k}\}; {\mathbb{E}}\{ ( X^{t+1}_{i}-X^{t}_{i} )^2 | {\mathcal{F}}_t\} \ge \epsilon\) , then

$$\begin{aligned} {\mathbb{E}}\{T\} \le n ^2 / \epsilon. \end{aligned}$$

Proof

From the fact that the processes are martingales, the application of the optional stopping theorem gives: \({\mathbb{E}}\{ X^{T}_{i} \} = {\mathbb{E}}\{ X^{0}_{i} \}\). Let us now follow the evolution of \(Y_t = \epsilon t - \sum _{i=1}^k (X^{t}_{i})^2\). We write:

$${\mathbb{E}}\{ (Y_{{t + 1}} - Y_{t} |{\mathcal{F}}_{t} \} = \epsilon _{{}}^{{}} - \sum\limits_{{i = 1}}^{k} {\mathbb{E}} \left\{ {\left( {X_{i}^{{t + 1}} } \right)^{2} - \left( {X_{i}^{t} } \right)^{2} } \right\}$$
(8)

Let us introduce the notation, for all i, \(X^{t+1}_{i}= X^{t}_{i} + \Delta X^{t}_{i}\). This yields:

$$\begin{aligned} {\mathbb{E}}\left\{ {\left( {X_{i}^{{t + 1}} } \right)^{2} - \left( {X_{i}^{t} } \right)^{2} |{\mathcal{F}}_{t} } \right\} & = {\mathbb{E}}\left\{ {\left. {2\Delta X_{i}^{t} \cdot X_{i}^{t} + \Delta X_{i}^{t} } \right)^{2} |{\mathcal{F}}_{t} } \right\} \\ & = 2X_{i}^{t} \cdot {\mathbb{E}}\left\{ {\Delta X_{i}^{t} |{\mathcal{F}}_{t} } \right\} + {\mathbb{E}}\left\{ (\Delta X_{i}^t)^2|{\mathcal{F}}_{t} \right\} \\ & = {\mathbb{E}}\left\{ {\left( {\Delta X_{i}^{t} } \right)^{2} |{\mathcal{F}}_{t} } \right\}, \\ \end{aligned}$$

by using the linearity of the expectation and the hypothesis \({\mathbb{E}}\{ \Delta X^{t}_{i} | {\mathcal{F}}_t\}= 0\). From the second hypothesis of the lemma, there exists a value of i for which \({\mathbb{E}}\{ (\Delta X^{t}_{i})^2 |{\mathcal{F}}_t\} > 0\). This implies that for all \(t \le T\), \({\mathbb{E}}\{ Y_t \} \le {\mathbb{E}}\{ Y_0 \}\), that is, \((Y_t)\) is a supermartingale.

On the one hand, we write \({\mathbb{E}}\{ Y_T \} \le {\mathbb{E}}\{ Y_0 \}\), and, on the other hand, we apply the optional stopping theorem, we write: \({\mathbb{E}}\{ Y_T \} = - n ^2\). The estimation of the upper bound of \({\mathbb{E}}\{ Y_T \}\) gives: \({\mathbb{E}}\{ Y_0 \} = - \sum _{i=1}^k {\mathbb{E}}\{ (X_0)^2 \} \le 0\), which yields the result: \(\epsilon {\mathbb{E}}\{ T \} \le n^2\). \(\square\)

Proof (of Theorem 5)

Recall that we want to apply the lemma to the uniform copy rule \({\langle {\mathcal{U}}\rangle }\) to prove that it converges to a homogeneous fixed point in quadratic expected time. The values k and n of the lemma, respectively denote the number of states and number of cells of our cellular automaton. If \((x^t)_{t\in {\mathbb{N}}}\) is the sequence random variables that describe the evolution of the system, the k processes are defined with: \(\forall q \in {Q_k}, X^t_q= | x^t |_q = | \{c\in {{\mathcal{L}}}; x^t_c = q\} |\), that is, each process \((X^t_q)\) counts the number of cells in state q.

To verify the first hypothesis of the lemma, we estimate for each cell the average variation of each state. Recall that for a random configuration \(x^t\) and its image \(x^{t+1}\), we have, for each cell \(c \in {{\mathcal{L}}}\) and for all possible neighbourhoods \({\alpha , \beta , \gamma }\in {Q_k}\):

$${\mathbb{E}}\left\{ {x_{c}^{{t + 1}} = q|x_{{c - 1}}^{t} = \alpha ,x_{c}^{t} = \beta ,x_{{c + 1}}^{t} = \gamma } \right\} = 1/3 \cdot \left( {\delta _{{q,\alpha }} + \delta _{{q,\beta }} + \delta _{{q,\gamma }} } \right).$$

From this, it directly follows that for all \(q \in {Q_k}\):

$$\begin{aligned} {\mathbb{E}}\left\{ {X_{q}^{{t + 1}} - X_{q}^{t} } \right\} & = \sum\limits_{{c \in {\mathcal{L}}}} {\mathbb{E}} \left\{ {x_{c}^{{t + 1}} = q} \right\} - {\mathbb{E}}\left\{ {x_{c}^{{t}} = q} \right\}, \\ & = \sum\limits_{{c \in {\mathcal{L}}}} {\frac{1}{3}} \cdot \left( {\delta _{{q,x_{{c - 1}}^{t} }} + \delta _{{q,x_{c}^{t} }} + \delta _{{q,x_{{c + 1}}^{t} }} } \right) - \delta _{{q,x_{c}^{t} }} = 0 \\ \end{aligned}$$

by remarking that the four sums annihilate.

To verify the second hypothesis, we only need to remark that as long as there is one cell which has a non-homogeneous neighbourhood, there are at least three cells which can change their state with a probability 1 / 3 or to 2 / 3. This means that we have for \(t < T\), \(\exists q \in {Q_k}, {\mathbb{E}}\{ (\Delta X^{t}_{i})^2 | {\mathcal{F}}_t\} \ge 1/3\), which allows us to apply the lemma with \(\epsilon = 1/3\). \(\square\)

Appendix 2: Exploring some limits with a SAT solver

In Sect. 3.1, we established the existence of a limit in the interval of sizes that can be synchronised: a rule of size s cannot synchronize all the sizes from 1 to \(k^s\). However, this result does not tell us what are the actual limits nor does it let us know how to construct a rule that synchronises a given size. We now propose to do an “automated exploration” of these questions for the binary case \(k = 2\).

In short, the idea is to model the transition table of a CA rule as a sequence of Boolean variables and then to express a Boolean formula to state that a configuration is synchronised. For a fixed neighbourhood size, we proceed by progressively increasing the size of the configurations that need to be synchronised. If we are not stopped by the resources used for the computation, we should reach a point where we find that the problem is no longer satisfiable. This point would allow us to find the maximum synchronisation length of a given neighbourhood size.

1.1 General SAT formulation

A SAT problem consists in finding, given Boolean formula, whether there exists an assignment of variables that satisfies this formula. A clause is a disjunction of literals (e.g., \(a \vee \lnot b \vee c\)). Our SAT problem will be formulated in a conjunctive normal form (CNF): it is a conjunction of clauses. In the sequel, we call a CNF formula any of such conjunction of clauses.

For a neighbourhood of size s, let \(M = 2 ^ s\) be the number of transitionsFootnote 5 of this neighbourhood. We introduce M Boolean variables \(t_0, \ldots , t_{M-1}\) to encode the transitions of a rule f; the convention is that \(t_i\) is true if and only if \(f\big ({\mathfrak{b}}_{s}(i),\ldots ,{\mathfrak{b}}_{1}(i)\big ) = 1\). For an initial condition \(x \in {\mathcal{E}}_n\), we also introduce \((\tau +1) \cdot n\) additional variables, denoted by \((\sigma (t,i))_{t\in \{0,\ldots ,{\tau }\}, i \in \{0,\ldots ,{n-1}\}}\), which correspond to the values \((x^t_i) \in {Q_k}\) taken by the cells in the evolution of x.

1.1.1 Blinking condition

The blinking condition \(f(q, \ldots , q) = \overline{q}\) is simply expressed by a CNF formula with two atomic clauses: \({{\mathrm{F}}}_{\mathrm{bl}} = t_0 \wedge \lnot t_{M-1}\).

1.1.2 Initial state

Let us now see how to encode the states of an initial condition \(x \in {\mathcal{E}}_n\) in a formula. The operation simply consists in “translating” the initial condition x into the CNF formula:

$$\begin{aligned} {{\mathrm{F}}}_{\mathrm{ic}}(x) = \bigwedge _{i \in \{0,\ldots ,{n-1}\} } {\mathbb{H}}\{ \sigma (0,i), {x^{0}_{i}} \}. \end{aligned}$$
(9)

where \({\mathbb{H}}\{ V , q \}\) is a function which is equal to the variable V if \(q={{{\mathtt{1}}}}\) and to the variable \(\lnot {V}\) otherwise.

For instance if we have \(x = {\mathtt{0011}}\) as an initial condition, the associated formula will be:

$$\begin{aligned} {{\mathrm{F}}}_{\mathrm{ic}}(x) = \lnot \sigma (0,0) \wedge \lnot \sigma (0,1) \wedge \sigma (0,2) \wedge \sigma (0,3). \end{aligned}$$
(10)

1.1.3 Synchronisation condition

Let \(\tau\) be the maximum number of time steps to achieve the synchronisation. To express the condition that \(x\) is synchronised in at most \(\tau\) steps, we can write \(x^{\tau } \in \{{\mathbf{0}}, {\mathbf{1}}\}\). Unfortunately, this cannot be translated in a straightforward way into a CNF formula. Indeed, if we write:

$$\begin{aligned} {{\mathrm{F}}}_{\mathrm{sc}}(x,\tau ) = \left( \bigwedge _{i \in \{0,\ldots ,{n-1}\}} \sigma (\tau ,i)\right) \bigvee \left( \bigwedge _{i \in \{0,\ldots ,{n-1}\}} \lnot \sigma (\tau ,i)\right) , \end{aligned}$$
(11)

we need to distribute the and operator over the or to obtain a CNF. This is why we prefer to formulate this condition as:

$$\begin{aligned} {{\mathrm{F}}}_{\mathrm{sc}}(x,\tau ) = \bigwedge _{i \in \{0,\ldots ,{n - 2}\}} \sigma (\tau ,i)= \sigma (\tau ,i+1), \end{aligned}$$
(12)

which simply represents the fact that all the states of \(x^\tau\) are equal. By noting that \(a = b\) is equivalent to \((a \vee \lnot b) \wedge (\lnot a \vee b)\), \({{\mathrm{F}}}_{\mathrm{sc}}\) becomes:

$$\begin{aligned} {{\mathrm{F}}}_{\mathrm{sc}}(x,\tau ) = \bigwedge _{i \in \{0,\ldots ,{n- 2}\}} (\sigma (\tau ,i)\vee \lnot \sigma (\tau ,i+1)) \wedge (\lnot \sigma (\tau ,i)\vee \sigma (\tau ,i+1)). \end{aligned}$$
(13)

1.1.4 Consistency conditions

We now need to write a CNF formula for the condition: \(x^{t+1} = F ( x^{t} )\) for \(t \in \{0,\ldots ,{\tau -1}\}\). We call this formulation the “consistency condition”, as it expresses the fact that a given Boolean formula is consistent with the evolution of the cellular automaton. We now give a precise description of this CNF formula. In order to ease the notations, let us detail this operation for the specific case of \({\mathcal N}= \{-\,1,0,1\}\); it is easy to generalise it to other neighbourhoods. Locally, our condition is expressed by

$$\begin{aligned} {\forall i \in {{\mathcal{L}}}, \, \, } {x^{t+1}_{i}} = f( {x^{t}_{i-1}}, {x^{t}_{i}}, {x^{t}_{i+1}}) \end{aligned}$$
(14)

which is translated as:

$$\begin{aligned} \forall i \in \{0,\ldots ,{n-1}\}, \varphi ( \sigma (t+1,i), \sigma (t,i^-), \sigma (t,i), \sigma (t,i^+) ) \end{aligned}$$
(15)

where \(i^- = (i-1) \mod n\) and \(i^+ = (i+1) \mod n\), and where \(\varphi\) is a function that remains to be found.

Our goal is to find \(\varphi\) such that \(\varphi (y',x,y,z)\) is a CNF formula that expresses that \(y'\) is the result of transition f(xyz). In a usual programming environment, one would need simply to calculate \(i = x+ 2y + 4z\) and then to read the value of \(t_i\) and to assign it to \(y'\). Unfortunately, there is no direct way of “coding” these operations in a SAT formula. We thus need to enumerate all the possible values for the variables \(y',x,y,z\) and then write a consistency condition that expresses that \(y'\) equals \(t_ i\) where i is the index which corresponds to the transition (xyz).

For example, if we take transition \(f(0,1,1) = 1\), we have \(i = 3\) and we write the formula with five clauses:

$$\begin{aligned} \varphi _3 = \lnot x \wedge y \wedge z \wedge t_3 \wedge (y' \vee \lnot t_3) \wedge (\lnot y' \vee t_3), \end{aligned}$$
(16)

where the two last clauses stand for \(y' = t_3\).

We thus decompose \(\varphi\) as: \(\varphi = \bigvee _{\lambda \in \{0,\ldots ,{7}\}} \varphi _\lambda\) with:

$$\begin{aligned} \begin{array}{ll} \varphi _\lambda (y',x,y,z) &= {} {\mathbb{H}}\{ x,\lambda _1 \} \wedge {\mathbb{H}}\{ y,\lambda _2 \} \wedge {\mathbb{H}}\{ z,\lambda _3 \} \wedge \\ &{} {\mathbb{H}}\{ t_{\lambda },f(x,y,z) \} \wedge (y' \vee \lnot t_{\lambda }) \wedge (\lnot y' \vee t_{\lambda }), \end{array} \end{aligned}$$
(17)

where \(\lambda _i={\mathfrak{b}}_{i}(\lambda )\) is the value of the i-th bit of the binary representation of \(\lambda\). By distributing the and operator over the or, \(\varphi _\lambda\) becomes:

$$\begin{aligned} \begin{array}{lll} \varphi _\lambda = &{} ( {\mathbb{H}}\{ x,\overline{\lambda _1} \} \vee {\mathbb{H}}\{ y,\overline{\lambda _2} \} \vee {\mathbb{H}}\{ z,\overline{\lambda _3} \} \vee y' \vee \lnot t_\lambda ) \bigwedge \\ &{} ( {\mathbb{H}}\{ x,\overline{\lambda _1} \} \vee {\mathbb{H}}\{ y,\overline{\lambda _2} \} \vee {\mathbb{H}}\{ z,\overline{\lambda _3} \} \vee \lnot y' \vee t_\lambda ). \end{array} \end{aligned}$$
(18)

Each elementary transition of a given cell at a given time step is thus encoded with a formula \(\varphi\) which contains \(2M = 2^{s+1}= 16\) clauses. As there are \(n \tau\) such elementary conditions, the consistency condition is given by \({{\mathrm{F}}}_{\mathrm{e}}\) with \(2^{s+1} \cdot n \tau\) clauses:

$$\begin{aligned} {{\mathrm{F}}}_{\mathrm{e}}(x,\tau ) = \mathop {\bigwedge }\limits _{\begin{array}{c} t \in \{0,\ldots ,{\tau -1 }\},\\ i \in \{0,\ldots ,{n-1}\} \end{array}} \varphi \big (\sigma (t+1,i), \sigma (t,i^-), \sigma (t,i), \sigma (t,i^+)\big ). \end{aligned}$$
(19)

1.1.5 Combining initial conditions

The last step that remains is to combine various initial conditions in order to find out if the problem is or is not solvable for a given set of initial conditions.

We proceed iteratively by increasing the size of the initial conditions to synchronise. From Propostion 2 in Sect. 2.3, we know that we do not need to consider all the initial conditions: for each size n, it is sufficient to select only one initial condition in each possible set of rotations. We say that a set of configurations is representative if the rotations of its members form a partition of the configuration space. Formally, let us denote by \({\mathcal \chi (n)}\) the set of representative conditions; we write:

$$\begin{aligned} \chi (n) = \{ X \subset {\mathcal{E}}_n, \forall x,y \in X, [x] \cap [y] = \emptyset , \bigcup _{x \in X} [x] = {\mathcal{E}}_n\}. \end{aligned}$$
(20)

The following table shows the growth of these setsFootnote 6:

n

1

2

3

4

5

6

7

8

9

\( |\chi (n)| \)

2

3

4

6

8

14

20

36

60

To sum up, if we fix a set of ring sizes \({{\mathcal{S}}}= \{n_1, \ldots , n_s\}\), and a maximum synchronisation time \(\tau\), we construct a sequence of sets of configurations: \(X_{1}, \ldots , X_{s}\) such that \(X_i \in \chi (n_i)\) and build the general formula:

$$\begin{aligned} {{\mathrm{F}}}_{\mathrm{synch}}({{\mathcal{S}}},\tau ) = {{\mathrm{F}}}_{\mathrm{bl}} \bigwedge _{i \in \{1,\ldots ,{s}\}} \bigwedge _{x \in X_i} {{\mathrm{F}}}_{\mathrm{ic}}(x,\tau ) \wedge {{\mathrm{F}}}_{\mathrm{sc}}(x,\tau ) \wedge {{\mathrm{F}}}_{\mathrm{e}}(x,\tau ). \end{aligned}$$
(21)

This is the final formula; it expresses the fact that all the configurations of size \(n \in {{\mathcal{S}}}\) are synchronised in at most \(\tau\) time steps.

1.2 Experimental results

The use of SAT solvers is a well-explored field of research in Computer science. As we are not a specialist of these questions, we did not endeavour to optimise the search for a solution by any means. We simply used the minisat solverFootnote 7 and generated the formulae with our cellular automata simulation program FiatLux.Footnote 8 The results below describe the results obtained for an increasing neighbourhood size. The rules are grouped according to their symmetries with respect to the reflection, conjugation, and reflection-conjugation operations.

We define the heighth of a configuration \(x \in {\mathcal{E}}_n\) as the time needed for the system to reach a homogeneous configuration. If we denote by \((x^t)\) the sequence of configurations obtained by applying F on x as described above:

$$\begin{aligned} h(x) = \min \{ t \in {\mathbb{N}}, x^t \in \mathcal {H}\}. \end{aligned}$$
(22)

with the convention that \(h(x)= \infty\) if \((x^t)_{t\in {\mathbb{N}}}\) does not reach \(\mathcal {H}\). Similarly, the height of a given configuration space \({\mathcal{E}}_n\) is the maximum height of the configurations of \({\mathcal{E}}_n\).

For a given neighbourhood size, we will try to find the rules with the greatest amplitude, that is, the rules which synchronise the greatest interval of the form \(\{1,\ldots ,{m}\}\) with \(m \in {\mathbb{N}}\).

1.2.1 ECA space (\(s = 3\))

The results with the SAT solver show that the amplitude is 3: there exists no rule which is a solution for \({\mathcal{S}}=\{2, 3,4\}\). For \({\mathcal{S}}=\{ 2,3 \}\), we find that:

  • (1, 127) have height of 1,

  • (19, 55) and (9, 65, 111, 125) have height of 2, and

  • no rule has height of 3.

We can also explore the synchronisation for other sets of ring sizes \({\mathcal{S}}\). For \({\mathcal{S}}=\{ 4 \}\), we find that:

  • (37, 91) have a height of 3,

  • (25, 67, 103, 61) and (45, 101, 75, 89) have height of 4 and,

  • no rule has a height of 5.

For ECA 61, the synchronisation process is presented on Fig. 8, p. 27. Surprisingly, for \({\mathcal{S}}=\{ 5\}\), we find that (9, 65, 111, 125) synchronises with a height of 5.

Fig. 8
figure 8

Transition graphs of ECA 61 for \(n=3\) and \(n= 4\). An oriented link between a configuration x and y represents the relationship \(y = F (x)\)

1.2.2 The \(s = 4\) space

We now examine a neighbourhood with one more cell: we take \(s=4\) and \({\mathcal N}=\{-\,1, 0, 1, 2\}\). The space contains \(2^{2^4} = 2^{16} = 65536\) rules.

By testing increasing values of n and setting the maximum synchronisation time \(\tau\) equal to \(\chi (n)\) (see Prop. 3), we found that for \(s= 4\), the amplitude is 6, that is, for \({\mathcal{S}}=\{2, \ldots , 7\}\), no solution is found.

For \({\mathcal{S}}=\{2, \ldots ,6\}\), we find that:

  • 6 rules have a height of 4: (1077, 21471), (4427, 11639), (11893, 20875),

  • 6 rules have a height of 5: (1205, 17461, 21215, 21469), (5419, 11095),

  • 2 rules have a height of 6: (4363, 12151).

For rule 5419, the synchronisation process is presented on Fig. 9, p. 28.

Fig. 9
figure 9

Neighbourhood of size \(k= 4\): transition graphs of rule 5419 for \(n=4\) and \(n =5\)

1.2.3 The \(s = 5\) space

We increase again the neighbourhood and take \({\mathcal N}=\{-\,2, -\,1, 0, 1, 2\}\). The space contains \(2^{2^5} = 2^{32} \sim 4.10^{10}\) rules. At this point, we reach the limits of our approach: The CNF formula of the problem has 74768 variables and 4563060 clauses. By progressively increasing the values of n and \(\tau\), our best result was to find a rule which synchronises the size interval \({\mathcal{S}}=\{2, \ldots , 11\}\): rule 1078270911. This rule has a height of 18 (see Fig. 1, p. 5).

There are probably other rules which solve the problem for \(\tau\) higher than 18, but we leave this exploration for future work. For \({\mathcal{S}}=\{2, \ldots , 12\}\), no solution was found for \(\tau = 30\). Surprisingly, the non-satisfiability of the formula is given rapidly, which suggests that the maximum synchronisation length for \(s= 5\) is equal to 12.

We also tested the SAT solver for \(s = 6\), but \(\tau = 12\) is sufficient to generate SAT problems that are not solved after a substancial time of computation. We thus leave the exploration of these greater spaces as a challenge for future work.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Fatès, N. Remarks on the cellular automaton global synchronisation problem: deterministic versus stochastic models. Nat Comput 18, 429–444 (2019). https://doi.org/10.1007/s11047-018-9683-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11047-018-9683-0

Keywords

Navigation