# Exploring Millions of 6-State FSSP Solutions: the Formal Notion of Local CA Simulation

Tien Thao Nguyen, Luidnel Maignan

► To cite this version:

Tien Thao Nguyen, Luidnel Maignan. Exploring Millions of 6-State FSSP Solutions: the Formal Notion of Local CA Simulation. 26th International Workshop on Cellular Automata and Discrete Complex Systems (AUTOMATA), Aug 2020, Stockholm, Sweden. pp.1-13, 10.1007/978-3-030-61588-8_1. hal-02605712

HAL Id: hal-02605712

https://hal.science/hal-02605712

Submitted on 16 May 2020

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Exploring Millions of 6-State FSSP Solutions: the Formal Notion of Local CA Simulation

Tien Thao Nguyen and Luidnel Maignan

LACL, Université Paris-Est Créteil, France

**Abstract.** In this paper, we come back on the notion of local simulation allowing to transform a cellular automaton into a closely related one with different local encoding of information. This notion is used to explore solutions of the Firing Squad Synchronization Problem that are minimal both in time ($2n - 2$ for $n$ cells) and, up to current knowledge, also in states (6 states). While only one such solution was proposed by Mazoyer since 1987, 718 new solutions have been generated by Clergue, Verel and Formenti in 2018 with a cluster of machines. We show here that, starting from existing solutions, it is possible to generate millions of such solutions using local simulations using a single common personal computer.

**Keywords:** cellular automata · automata minimization · firing squad synchronization problem.

# 1 Introduction

## 1.1 Firing Squad Synchronization Problem and the Less-State Race

The Firing Squad Synchronization Problem (FSSP) was proposed by John Myhill in 1957. The goal is to find a single cellular automaton that synchronizes any one-dimensional horizontal array of an arbitrary number of cells. More precisely, one consider that at initial time, all cells are inactive (i.e. in the *quiescent state*) except for the leftmost cell which is in the general (i.e. in the *general state*). One wants the evolution of the cellular automaton to lead all cells to transition to a special state (i.e. the *synchronization* or *firing state*) for the first time *at* the same time. This time $t_s$ is called the synchronization time and it is known that its minimal possible value is $2n - 2$ where $n$ is the number of cells.

For this problem, many minimum-time solutions were proposed using different approaches. As indicated in [12], the first one was proposed by Goto in 1962 [12] with many thousands of states, followed by Waksman in 1966 [14], Balzer in 1967 [1], Gerken in 1987 [4], and finally Mazoyer in 1987 [8] who presented respectively a 16-state, 8-state, 7-state and 6-state minimum-time solution, with no further improvements since 1987. Indeed, Balzer [1] already shows that there are no 4-state minimal-time solutions, latter confirmed by Sanders [11] through an exhaustive search and some corrections to Balzer's work. Whether there exist any 5-state minimal-time solution or not is still an open question.
Note that all these solutions use a “divide and conquer” strategy. Goto’s solution were pretty complex with two types of divisions. The following ones used a “mid-way” division but Mazoyer’s 6-state solution uses for the first time a “two-third” type of division<fnref n="1" />. In 2018, Clergue, Verel and Formenti [2] generated 718 new 6-state solutions using an Iterated Local Search algorithm to explore the space of 6-state solutions on a cluster of heterogeneous machines: 717 of these solutions use a “mid-way” division, and only one use a “two-third” division.

## 1.2 Context of the Initial Motivations

In 2012, Maignan and Yunes proposed the methodology of *cellular fields* to described formally the high-level implementation of a CA, and also formally the generation of the “low-level” transition table. One of the expected benefits was to have an infinite CA cleanly modularized into many cellular fields with clear semantical proof of correctness together with a correctness-preserving reduction procedure into a finite state CA [5] using a particular kind of cellular field, “reductions”. This is very similar to what happen in usual computer programming where one writes in a high-level language then transform the code into assembly using a semantic-preserving transformation, i.e. a compiler. In 2014, they made precise a particular reduction of the infinite CA into 21 states [6,7].

From these works and concepts, two intertwined research directions emerge. One direction is to ask whether a reduction to fewer states is firstly possible, and secondly automatically generable, in the same spirit as compiler optimization, with the possible application of reducing further the 21 states. The second direction is to build a map of as many FSSP solutions as possible and study how they relate through the notion of “reduction” introduced, with application the discovery of techniques used in hand-made transition table and also the factorisation of correctness proofs. In 2018, Maignan and Nguyen [9] exhibited a few of these relations and in particular the fact the infinite Maignan-Yunes CA could be reduced to the 8-state solutions of Noguchi [10].

## 1.3 From the Initial Motivations to a Surprise

The initial motivations whose to complete the “map of reductions” by including the 718 solutions into the picture. In particular, a quick look at the 718 solutions gave to the authors the feeling that they could be grouped into equivalence classes using the notion of “reduction”. Also, inspired by the idea of *local search* and exploration through small modifications used in [2] to generate the 718 solutions, the first author tried such search algorithms to generate “reductions” of existing solutions rather than transition tables directly. Although the idea of local search is to navigate randomly in a landscape with few actual solutions, the discovered landscape of reductions has so many solutions that a “best-effort-exhaustive” exploration have been tried, leading to *many millions* of 6-states solutions. Also, this space is much more easily explored because of its nice computational properties.

<footnote n="1">¹ See Figure 1c for a mid-way division, and Figure 1a for a two-third division</footnote>
## 1.4 Organization of the Content

In Section 2, we define formally cellular automata, local simulations, FSSP solutions and related objects. In Section 3, we present nice properties relating these objects and allowing the search algorithm to save a huge amount of time. In Section 4, we describe the exploration algorithm and continue in Section 5 with some experimental results and a small analysis of the 718 solutions. We conclude in Section 6 with some formal and experimental future work.

# 2 Background

In this section, we define formally cellular automata, local mappings and FSSP solutions in a way suitable to the current study. Some objects have “incomplete” counterpart manipulated during the exploration algorithm. The material here is a considerable re-organization of the material found in [9].

## 2.1 Cellular Automata

**Definition 1.** A cellular automaton $\alpha$ consists of a finite set of states $\Sigma_{\alpha}$, a set of initial configurations $I_{\alpha} \subseteq \Sigma_{\alpha}^{\mathbb{Z}}$ and a partial function $\delta_{\alpha} : \Sigma_{\alpha}^{3} \to \Sigma_{\alpha}$ called the local transition function or local transition table. The elements of $\Sigma_{\alpha}^{\mathbb{Z}}$ are called (global) configurations and those of $\Sigma_{\alpha}^{3}$ are called local configurations. For any $c \in I_{\alpha}$, its space-time diagram $D_{\alpha}(c) : \mathbb{N} \times \mathbb{Z} \to \Sigma_{\alpha}$ is defined as:

$$D_{\alpha}(c)(t, p) = \begin{cases} c(p) & \text{if } t = 0, \\ \delta_{\alpha}(l_{-1}, l_{0}, l_{1}) & \text{if } t > 0 \text{ with } l_{i} = D_{\alpha}(c)(t-1, p+i). \end{cases}$$

The partial function $\delta_{\alpha}$ is required to be such that all space-time diagrams have to be totally defined. When $D_{\alpha}(c)(t, p) = s$, we say that, for the cellular automaton $\alpha$ and initial configuration $c$, the cell at position $p$ has state $s$ at time $t$.

**Definition 2.** A family of space-time diagrams $D$ consists of a set of states $\Sigma_D$ and an arbitrary set $D \subseteq \Sigma_D^{\mathbb{N} \times \mathbb{Z}}$ of space-time diagram. The local transition relation $\delta_D \subseteq \Sigma_D^3 \times \Sigma_D$ of $D$ is defined as:

$$((l_{-1}^0, l_0^0, l_1^0), l_0^1) \in \delta_D :\Leftrightarrow \exists (d, t, p) \in D \times \mathbb{N} \times \mathbb{Z} \text{ s.t. } l_i^j = d(t + j, p + i).$$

We call $D$ a deterministic family if its local transition relation is functional.

**Definition 3.** Given a deterministic family $D$, its associated cellular automaton $\Gamma_D$ is defined as having the set of states $\Sigma_{\Gamma_D} = \Sigma_D$, the set of initial configurations $I_{\Gamma_D} = \{d(0, -) | d \in D\}^2$, and the local transition function $\delta_{\Gamma_D} = \delta_D$.

**Definition 4.** Given a cellular automaton $\alpha$, its associated family of space-time diagram (abusively denoted) $D_{\alpha}$ is defined as having the set of states $\Sigma_{D_{\alpha}} = \Sigma_{\alpha}$, and the set of space-time diagram $D_{\alpha} := \{D_{\alpha}(c) | c \in I_{\alpha}\}$ and is clearly deterministic.

<footnote n="2">² Here, $d(0, -)$ is the function from $\mathbb{Z}$ to $S$ defined as $d(0, -)(p) = d(0, p)$.</footnote>
These inverse constructions shows that deterministic families and cellular automata are two presentations of the same object. For practical purposes, it is also useful to note that, since $\delta_D$ has a finite domain, there are finite subsets of $D$ that are enough to specify it completely.

## 2.2 Local Mappings and Local Simulations

These two concepts are more easily pictured with space-time diagrams. Given a space-time diagram $d \in S^{\mathbb{N} \times \mathbb{Z}}$, we build a new one $d'$ by determining each state $d'(t, p)$ from a little cone $\langle d(t - dt, p + dp) | dt \in \{0, 1\}, dp \in [-dt, +dt] \rangle$ in $d$. This cone is simply a state for $t = 0$, and when $d$ is generated by a cellular automaton, this cone is entirely determined by $\langle d(t - 1, p + dp) | dp \in [-1, 1] \rangle$ for $t \ge 1$. Since the set of all these triplets is exactly $\text{dom}(\delta_\alpha)$, the following definitions suffice for the current study. We call this a local mapping, because the new diagram is determined locally by the original one. When transforming a deterministic family, the result might not be deterministic, but if it is, we speak of a local simulation between two CA.

**Definition 5.** A local mapping $h$ from a CA $\alpha$ to a finite set $S$ consists of two functions $h_z : \{d(0, x) | (d, x) \in D_\alpha \times \mathbb{Z}\} \to S$ and $h_s : \text{dom}(\delta_\alpha) \to S$.

**Definition 6.** Given a local mapping $h$ from a CA $\alpha$ to a finite set $S$, we define its associated family of diagrams $\Phi_h = \{h(d) | d \in D_\alpha\}$ where:

$$h(d)(t, p) = \begin{cases} h_z(d(0, p)) & \text{if } t = 0, \\ h_s(l_{-1}, l_0, l_1) & \text{if } t > 0 \text{ with } l_i = d(t-1)(p+i). \end{cases}$$

**Definition 7.** A local mapping $h$ from a CA $\alpha$ to a finite set $S$ whose associated family of diagrams $\Phi_h$ is deterministic is called a local simulation from $\alpha$ to $\Gamma_{\Phi_h}$.

**Proposition 1.** Equivalently, a local simulation $h$ from a CA $\alpha$ to a CA $\beta$ is a local mapping from $\alpha$ to the set $\Sigma_\beta$ such that $\{h_z(c) | c \in I_\alpha\} = I_\beta$ and for all $(c, t, p) \in I_\alpha \times \mathbb{N} \times \mathbb{Z}$, we have $h_s(l_{-1}, l_0, l_1) = l'_0$ with $l_i = D_\alpha(c)(t, p + i)$ and $l'_0 = D_\beta(h_z(c))(t + 1, p)$. The details of these formula are more easily seen graphically.

<figure><img src="image_2.png" /></figure>

<figure><img src="image_3.png" /></figure>
## 2.3 The Firing Squad Synchronization Problem

**Definition 8.** A cellular automaton is FSSP-candidate if there are four special states $\star_{\alpha}$, $G_{\alpha}$, $Q_{\alpha}$, $F_{\alpha} \in \Sigma_{\alpha}$, if $I_{\alpha} = \{\bar{n}_{\alpha} | n \ge 2\}$ with $\bar{n}_{\alpha}$ being the FSSP initial configuration of size $n$, i.e. $\bar{n}(p) = \star_{\alpha}$, $G_{\alpha}$, $Q_{\alpha}$, $\star_{\alpha}$ if $p$ is respectively $p \le 0$, $p = 1$, $p \in [2, n]$, and $p \ge n+1$. Moreover, $\star_{\alpha}$ must be the outside state, i.e. for any $(l_{-1}, l_0, l_1) \in \text{dom}(\delta_{\alpha})$, we must have $\delta(l_{-1}, l_0, l_1) = \star_{\alpha}$ if and only if $l_0 = \star_{\alpha}$. Also, $Q_{\alpha}$ must be a quiescent state so $\delta_{\alpha}(Q_{\alpha}, Q_{\alpha}, Q_{\alpha}) = \delta_{\alpha}(Q_{\alpha}, Q_{\alpha}, \star_{\alpha}) = Q_{\alpha}$.

The $\star_{\alpha}$ state is not really counted as a state since it represents cells that should be considered as non-existing. Therefore, a FSSP-candidate cellular automaton $\alpha$ will be said to have $s$ states when $| \Sigma_{\alpha} \setminus \{\star_{\alpha}\} | = s$, and $m$ transitions when $| \text{dom}(\delta_{\alpha}) \setminus \Sigma_{\alpha} \times \{\star_{\alpha}\} \times \Sigma_{\alpha} | = m$.

**Definition 9.** A FSSP-candidate cellular automaton $\alpha$ is a minimal-time FSSP solution if for any size $n$, $D_{\alpha}(\bar{n})(t, p) = F_{\alpha}$ if and only if $t \ge 2n-2$ and $p \in [1, n]$. We are only concerned with minimal-time solutions but sometimes simply write FSSP solution, or solution for short.

# 3 Some Useful Algorithmic Properties

Our global strategy to find new FSSP solutions is to build them from local simulations of already existing FSSP solution $\alpha$. Taking the previous definitions litteraly could lead to the following procedure for a given local mapping $h$. First, generates as many space-time diagrams of $D_{\alpha}$. Secondly, use $h$ to transform each diagram $d \in D_{\alpha}$ into a new one $h(d)$, thus producing a sub-family of $\Phi_h$. At the same time, build $\delta_{\Phi_h}$ by collecting all local transitions appearing in each $h(d)$ and check for determinism and correct synchronization. If every thing goes fine, we have a new FSSP solution $\beta = \Gamma_{\Phi_h}$.

Such a procedure is time-consuming. We show here useful properties that reduces drastically this procedure to a few steps. In fact, the space-time diagrams of $\Phi_h$ never needs to be computed, neither to build the local transition relation $\delta_{\Phi_h}$ (Section 3.1), nor to check that $\Gamma_{\Phi_h}$ is an FSSP solution as showed in this section (Section 3.2).

## 3.1 Summarizing Families into Super Local Transition Tables

When trying to construct a CA $\beta$ from a CA $\alpha$ and a local mapping $h$ from the families of space-time diagrams as suggested by the formal definitions, there is huge amount of redundancy. All entries of the local transition relation $\delta_{\Phi_h}$ appear many times in $\Phi_h$, each of them being produced from the same recurring patterns in the space-time diagrams of $\alpha$. In fact, it is more efficient to simply collect these recurring patterns that we may call *super local transitions*, and work from them without constructing $\Phi_h$ at all. It is specially useful because we consider a huge number of local mappings from a single CA $\alpha$.
**Definition 10.** For a given CA $\alpha$, the super local transition table $\Delta_{\alpha}$ consists of two sets $(\Delta_{\alpha})_{\mathbb{Z}} \subseteq \Sigma_{\alpha}^3$ and $(\Delta_{\alpha})_{\mathbb{S}} \subseteq \Sigma_{\alpha}^5 \times \Sigma_{\alpha}^3$ defined as:

$$ (s_{-1}, s_0, s_1) \in (\Delta_{\alpha})_{\mathbb{Z}} \Leftrightarrow \exists(d, p) \in \mathbb{D}_{\alpha} \times \mathbb{Z} $$

$$ \text{s.t. } s_i = d(0, p + i), $$

$$ ((s_{-2}^0, s_{-1}^0, s_0^0, s_1^0, s_2^0), (s_{-1}^1, s_0^1, s_1^1)) \in (\Delta_{\alpha})_{\mathbb{S}} \Leftrightarrow \exists(d, t, p) \in \mathbb{D}_{\alpha} \times \mathbb{N} \times \mathbb{Z} $$

$$ \text{s.t. } s_i^j = d(t + j, p + i) $$

Once all these patterns collected, it is possible to construct the local transition relation $\delta_{\Phi_h}$ as specified in the following proposition.

**Proposition 2.** Let $h$ be a local mapping from a CA $\alpha$ to a set $S$. The local transition relation $\delta_{\Phi_h}$ of the family of space-time diagram $\Phi_h$ generated by $h$ and the super local transition function $\Delta_{\alpha}$ of $\alpha$ obey:

$$ ((l_{-1}^0, l_0^0, l_1^0), l_0^1) \in \delta_{\Phi_h} \Leftrightarrow \exists(s_{-1}, s_0, s_1) \in (\Delta_{\alpha})_{\mathbb{Z}} $$

$$ \text{s.t. } l_i^0 = h_{\mathbb{Z}}(s_i) \text{ and } l_0^1 = h_{\mathbb{S}}(s_{i-1}, s_i, s_{i+1}) $$

$$ \lor \exists((s_{-2}^0, s_{-1}^0, s_0^0, s_1^0, s_2^0), (s_{-1}^1, s_0^1, s_1^1)) \in (\Delta_{\alpha})_{\mathbb{S}} $$

$$ \text{s.t. } l_i^j = h_{\mathbb{S}}(s_{i-1}^j, s_i^j, s_{i+1}^j) $$

We know have an efficient way to build the local transition relation $\delta_{\Phi_h}$. When it is functional, it determines a cellular automaton $\beta = \Gamma_{\Phi_h}$. For our purpose, we need to test or ensure in some way that $\beta$ is an FSSP solution.

## 3.2 Local Mappings and FSSP

We first note that the constraints put by the FSSP on space-time diagrams induces constraints on local simulations between FSSP solutions. So we can restrict our attention to local mappings respecting these constraints as formalized by the following definition and proposition.

**Definition 11.** A local mapping $h$ from a FSSP solution $\alpha$ to the states $\Sigma_{\beta}$ of a FSSP-candidate CA $\beta$ is said to be FSSP-compliant if it is such that (0) $h_{\mathbb{Z}}$ maps $\star_{\alpha}$, $G_{\alpha}$, and $Q_{\alpha}$ respectively to $\star_{\beta}$, $G_{\beta}$, and $Q_{\beta}$, (1) $h_{\mathbb{S}}(l_{-1}, l_0, l_1) = \star_{\beta}$ if and only if $\delta_{\alpha}(l_{-1}, l_0, l_1) = \star_{\alpha}$ (meaning simply $l_0 = \star_{\alpha}$), (2) $h_{\mathbb{S}}(l_{-1}, l_0, l_1) = F_{\beta}$ if and only if $\delta_{\alpha}(l_{-1}, l_0, l_1) = F_{\alpha}$, and (3) $h_{\mathbb{S}}(Q_{\alpha}, Q_{\alpha}, Q_{\alpha}) = h_{\mathbb{S}}(Q_{\alpha}, Q_{\alpha}, \star) = Q_{\beta}$.

**Proposition 3.** Let $\alpha$ be a FSSP solution CA, $\beta$ a FSSP-candidate CA and $h$ a local simulation from $\alpha$ to $\beta$. If $\beta$ is a FSSP solution, then $h$ is FSSP-compliant.

The following proposition is at the same time not difficult once noted, but extremely surprising and useful: the simple constraints above are also “totally characterizing” and the previous implication is in fact an equivalence. This means in particular that it is not necessary to generate space-time diagrams to check if a constructed CA is an FSSP solution, which saves lot of computations.

**Proposition 4.** Let $\alpha$ be an FSSP solution, $\beta$ a FSSP-candidate CA and $h$ be a local simulation from $\alpha$ to $\beta$. If $h$ is FSSP-compliant, then $\beta$ is a FSSP solution.
# 4 Exploring The Graph of Local Mappings

## 4.1 The Graph of FSSP-compliant Local Mappings

In our actual algorithm, we take as input an existing FSSP solution $\alpha$ and fix a set of state $S$ of size $|\Sigma_\alpha|$. The search space consists of all FSSP-compliant local mappings from $\alpha$ to $S$, the neighbors $N(h)$ of a local mapping $h$ being all $h'$ that differs from $h$ on exactly one entry, i.e. $\exists!(l_{-1}, l_0, l_1) \in \text{dom}(\delta_\alpha)$ s.t. $h_s(l_{-1}, l_0, l_1) \neq h'_s(l_{-1}, l_0, l_1)$. More precisely, the mappings are considered modulo bijections of $S$. Indeed, two mappings $h$ and $h'$ are considered equivalent if there is some bijection $r: S \to S$ such that $h_z = r \circ h'_z$ and $h_s = r \circ h'_s$. So the search space is, in a sense, made of equivalence classes, each class being represented by a particular element. This element is chosen to be the only mapping $h$ in the class such that $h_s$ is monotonic according to arbitrary total orders on $\text{dom}(\delta_\alpha)$ and $S$ fixed for the entire run of the algorithm.

Considering 6-states solutions, let us denote $\Sigma_\alpha = \{\star_\alpha, G_\alpha, Q_\alpha, F_\alpha, A_\alpha, B_\alpha, C_\alpha\}$ and $S = \{\star, G, Q, F, A, B, C\}^3$. In each of these sets, four of the states are the special FSSP solution states (Def. 8 and Def. 9). Only the three states A, B, C come with no constraints. We can thus evaluate the size of the search space by looking at the degrees of freedom of FSSP-compliant local mappings (Def 11).

Indeed, all FSSP-compliant local mappings $h$ from $\alpha$ to $S$ have the same partial function $h_z$, and the same value $h_s(l_{-1}, l_0, l_1)$ for those entries $(l_{-1}, l_0, l_1) \in \text{dom}(\delta_\alpha)$ forced to $\star$, $Q$ or $F$. For all other entries $(l_{-1}, l_0, l_1)$, $h_s(l_{-1}, l_0, l_1)$ cannot take the values $\star$ nor $F$, leaving 5 values available. So given an initial solution $\alpha$, the number of local mappings is $5^x$ where $x$ is the size of $\text{dom}(\delta_\alpha)$ without those entries constrained in Def. 11. To give an idea, for the solution 668 of the 718 solutions, $x = 86$ to the size of the search has 61 digits, and for Mazoyer's solution, $x = 112$ leading to a number with 79 digits.

## 4.2 Preparation Before the Algorithm

As described in Section 3.1, the local mappings are evaluated from the super local transition table. To build this table, we generate, for each size $n$ from 2 to 5000, the space-time diagram $D_\alpha(\tilde{n})$ and collect all super local transitions occurring from time 0 to $2n - 4$ and from position 1 to $n$. Note that for all known minimum-time 6-state solutions, no additional super local transitions appear after $n = 250$.

The starting point of the exploration is the local mapping $h_\alpha$ corresponding to the local transition function $\delta_\alpha$ itself, i.e. $(h_\alpha)_z = q \upharpoonright \{\star_\alpha, G_\alpha, Q_\alpha\}$ and $(h_\alpha)_s = q \circ \delta_\alpha$ for some bijection $q: \Sigma_\alpha \to S$. This local mapping is obviously FSSP-compliant since it is local simulation from $\alpha$ to $\alpha$.

## 4.3 The Exploration Algorithm

To explain the algorithm, let us first consider the last parameter $k$ to be 0, so that line 7 of the explore algorithm can be considered to be simply $S \leftarrow N(h)$.

<footnote n="3">³ Recall that we do not count the $\star$ states.</footnote>
**Algorithm 1:**
1 explore(Δ<sub>α</sub>, h<sub>α</sub>, k)
2 H ← {h<sub>α</sub>}
3 H<sub>current</sub> ← {h<sub>α</sub>}
4 while |H<sub>current</sub>| > 0 do
5 H<sub>next</sub> ← {}
6 for h ∈ H<sub>current</sub> do
7 S, H ← pertN(Δ<sub>α</sub>, H, h, k)
8 for h' ∈ (S \ H) do
9 if isSimul(h', Δ<sub>α</sub>) then
10 H<sub>next</sub> ← H<sub>next</sub> ∪ {h'}
11 H ← H ∪ {h'}
12 end
13 end
14 end
15 H<sub>current</sub> ← H<sub>next</sub>
16 end
17 return H

**Algorithm 2:**
1 pertN(Δ<sub>α</sub>, H, h, k)
2 S ← N(h)
3 h' ← perturbation(h, k)
4 if h' ∉ H then
5 S ← S ∪ N(h')
6 if isSimul(h', Δ<sub>α</sub>) then
7 H ← H ∪ {h'}
8 end
9 end
10 return S, H

In this case, the algorithm starts with $h_α$, and explores its neighbors to collect all local simulations, then the neighbors of those local simulations to collect more local simulations, and so on so forth until the whole connected components of the sub-graph consisting only of the local simulations in collected.

More precisely, the variable *H* collects all local simulations, *H*<sub>current</sub> contains the simulation discovered in the previous round and whose neighbors should be examined in current round, and the newly discovered local simulations are put in *H*<sub>next</sub> for the next round. The function *isSimul* uses the super local transition table to construct the local transition relation of *Φ*<sub>*h*</sub> and check if it is functional, *i.e.* if it is a local transition function of a valid CA Γ<sub>*Φ*<sub>*h*</sub></sub>. By our construction, a valid CA is necessarily an FSSP solution making this operation really cheap.

When $k > 0$, the neighborhood operation is altered to add more neighbors. A local mapping obtained by $k$ modifications is considered and its neighborhood is added to the original the normal neighborhood, in the hope of discovering another connected component of the local simulation subgraph.

# 5 Analyzing the Results

## 5.1 Analyzing the 718 solutions

As mentioned in the introduction, this study began by the desire to analyse the 718 solutions found in [2]. These solutions, numbered from 0 to 717, are freely available online. We tried to search local simulation relation between them as done in [9]. Firstly, we found a slight mistake since there are 12 pairs of equivalent solutions up to renaming of states: (105, 676), (127, 659), (243, 599), (562, 626), (588, 619), (601, 609), (603, 689), (611, 651), (629, 714), (663, 684), (590, 596)
and (679, 707). This means that there are really 706 solutions, but we still refer to them as the 718 solutions with their original numbering.

Once local simulation relation established between the 718 solutions, we analyzed in the number of connected components and found 193 while expecting only a few. When there is a local simulation *h* from a CA *α* and a CA *β*, the number of differences between *h*<sub>α</sub> and *h* varies a lot, but the median value is 3.

## 5.2 Analyzing the Local Simulations

To find more FSSP solutions, we implemented many algorithms, gradually simplifying them into the one presented in this paper. It has been run on an Ubuntu Marvin machine with 32 cores of 2.00GHz speed and 126Gb of memory. However, the implementation being sequential, only two cores was used by the program. The original plan was to generate as many solutions as possible but we had some problems with the management of quotas in the shared machine. So we only expose the some selected data to show the relevance of the approach.

When running the program with the solution 355 and $k = 0$, the program used 14Gb of memory and stopped after 27.5 hours and found 9,584,134 local simulations! A second run of the program for this solution with $k = 3$ found 11,506,263 local simulations after 80.5 hours. This indicates that perturbations are useful but the second run find only 1922129 additional local simulations but its computing time is three times more than the first run. Testing whether a local simulation belongs to set *H* obviously takes more and more times as more local mappings are discovered but there might be some understanding to gain about the proper mapping landscape too in order to improve the situation.

The transition table for the original Mazoyer's solution can be found in [8], but also in [13] together with other minimal-time solution transition table. When running the program of the original Mazoyer's solution with different values of *k* with obtained the following number of new solutions for different runs. The behavior with $k = 1$ seems to be pretty robust, but the bigger number of results is obtained with $k = 2$.

<table><thead><tr><th>k</th><th>number of solutions found by 10 different runs</th></tr></thead><tbody><tr><td>0</td><td>644</td></tr><tr><td>1</td><td>20682, 17645, 20731, 16139, 20731, 9538, 20626, 20682, 20054, 20490</td></tr><tr><td>2</td><td>9451, 9451, 20595, 8241, 37275, 3817, 17421, 8241, 17317, 19895</td></tr><tr><td>3</td><td>644, 644, 644, 644, 644, 644, 731, 8241, 8241</td></tr><tr><td>4</td><td>644, 644, 644, 2908, 644, 644, 644, 644, 644, 8241</td></tr><tr><td>5</td><td>644, 644, 644, 644, 644, 644, 644, 644, 644</td></tr></tbody></table>

Note that while the solutions do not have less states, the number of transitions do change. We show in Figure 1a the solution 668 (the only Mazoyer-like solutions found among the 718 solutions), and one of its simulations having less transition in Figure 1c. For fun, we also show in Figure 1d and 1b a local simulation having alternating states at time $2n - 3$, illustrating how local simulation rearrange locally the information. The identical part in represented with lighter colors to highlight the differences.
**Proposition 5.** *There are at least many millions of minimum-time 6-state FSSP solutions.*

**6 Conclusion**

This paper presents only a small part of many ongoing experimentations. The notion of local simulation presented here is just a particular case of the notion of cellular field that can be used more broadly to investigate these questions. For example, we relate here only the small cones {$d(t - dt, p + dp) \mid dt \in \{0, 1\}, dp \in [-dt, +dt]$} of any space-time diagram $d$ in local mappings. If we increase the range of $dt$ in this definition to be $[0, h]$ for some $h > 1$, we allow CA to be transformed to a bigger extent.

Another justification for this extension is that the composition of two local simulations is not a local simulation. In fact, composing an *h*-local simulation with an *h'*-local simulation produces an (*h* + *h'*)-local simulation in general. A 0-local simulation is just a (possibly non-injective) renaming of the states.

Note that since local mappings of local mappings are not local mappings, running the above algorithm on new found solutions should a priori generate more solutions! Of course, a more exhaustive study is required.

Our guess is that, with a properly large notion of such simulations, it should be possible to classify the 718 solutions into only a few equivalence classes, more or less in two groups: the “mid-way division” solutions and the “two-third division” solutions. This results also represents an important step in the understanding of automatic optimization of CA.

Finally, the content of Section 3.2 about the preservation of correctness by FSSP-compliant local simulation is really interesting because of the simplicity of checking FSSP-compliance. It implies that a proof of correctness of a small FSSP solution can indeed be made on some huge, possibly infinite, simulating CA where everything is explicit as considered in [6,7]. This can be applied to ease the formal proof of correctness of Mazoyer’s solution. Up to our knowledge, it is known to be long and hard but also to be the only proof to be precise enough to actually be implemented in the Coq Proof Assistant [3].

We would like to give special thanks to Jean-Baptiste Yunès who pointed us to the 718 solutions paper. If we are right, he also partly inspired the work who lead to the 718 solutions by a discussion during a conference.

**References**

1. Robert Balzer. An 8-state minimal time solution to the firing squad synchronization problem. *Information and Control*, 10(1):22–42, 1967.

2. Manuel Clergue, Sébastien Vérel, and Enrico Formenti. An iterated local search to find many solutions of the 6-states firing squad synchronization problem. *Appl. Soft Comput.*, 66:449–461, 2018.

3. Jean Duprat. Proof of correctness of the Mazoyer’s solution of the firing squad problem in Coq. Research Report LIP RR-2002-14, Laboratoire de l’informatique du parallélisme, March 2002.
<figure><img src="image_4.png" /><figcaption>(a) original solution 668: 93 rules</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>(b) a local simulation of 668: 90 rules</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>(c) original solution 355</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>(d) a local simulation of 355</figcaption></figure>

<caption>Fig. 1: Some FSSP space-time diagrams of size 31</caption>
4. H. D. Gerken. Uber synchronisations-probleme bei zellularautomaten. *Diplomarbeit, Institut fur Theoretische Informatik, Technische Universitat Braunschweig*, 50, 1987.

5. Luidnel Maignan and Jean-Baptiste Yunès. A spatio-temporal algorithmic point of view on firing squad synchronisation problem. In Georgios Ch. Sirakoulis and Stefania Bandini, editors, *Cellular Automata - 10th International Conference on Cellular Automata for Research and Industry, ACRI 2012, Santorini Island, Greece, September 24-27, 2012. Proceedings*, volume 7495 of Lecture Notes in Computer Science, pages 101–110. Springer, 2012.

6. Luidnel Maignan and Jean-Baptiste Yunès. Experimental finitization of infinite field-based generalized FSSP solution. In Jaroslaw Was, Georgios Ch. Sirakoulis, and Stefania Bandini, editors, *Cellular Automata - 11th International Conference on Cellular Automata for Research and Industry, ACRI 2014, Krakow, Poland, September 22-25, 2014. Proceedings*, volume 8751 of Lecture Notes in Computer Science, pages 136–145. Springer, 2014.

7. Luidnel Maignan and Jean-Baptiste Yunès. Finitization of infinite field-based multi-general FSSP solution. *J. Cellular Automata*, 12(1-2):121–139, 2016.

8. Jacques Mazoyer. A six-state minimal time solution to the firing squad synchronization problem. *Theor. Comput. Sci.*, 50:183–238, 1987.

9. Tien Thao Nguyen and Luidnel Maignan. Some cellular fields interrelations and optimizations in FSSP solutions. *J. Cellular Automata*, 15(1-2):131–146, 2020.

10. Kenichiro Noguchi. Simple 8-state minimal time solution to the firing squad synchronization problem. *Theor. Comput. Sci.*, 314(3):303–334, 2004.

11. Peter Sanders. Massively parallel search for transition-tables of polyautomata. In Chris R. Jesshope, Vesselin Jossifov, and Wolfgang Wilhelmi, editors, *Parcella 1994, VI. International Workshop on Parallel Processing by Cellular Automata and Arrays, Potsdam, Germany, September 21-23, 1994. Proceedings*, volume 81 of Mathematical Research, pages 99–108. Akademie Verlag, Berlin, 1994.

12. Hiroshi Umeo, Mitsuki Hirota, Youhei Nozaki, Keisuke Imai, and Takashi Sogabe. A new reconstruction and the first implementation of goto's FSSP algorithm. *Appl. Math. Comput.*, 318:92–108, 2018.

13. Hiroshi Umeo, Masaya Hisaoka, and Takashi Sogabe. A survey on optimum-time firing squad synchronization algorithms for one-dimensional cellular automata. *IJUC*, 1(4):403–426, 2005.

14. Abraham Waksman. An optimum solution to the firing squad synchronization problem. *Information and Control*, 9(1):66–78, 1966.