## Section: New Results

### Probabilistic cellular automata for problem solving

Directly related to the theme exposed in Sec. 4.3, we examined the problem of self-stabilisation, as introduced by Dijkstra in the 1970’s, in the context of cellular automata [33]. More precisely, we examined how to stabilise $k$-colourings, that is, infinite grids which are coloured with $k$ distinct colours in such a way that adjacent cells have different colours. The idea is that if, for any reason (e.g., noise, previous usage, tampering by an adversary), the colours of a finite number of cells in a valid k-colouring are modified, thus introducing errors, we can correct the system into a valid k-colouring by using local rules only. In other words, we designed cellular automaton rules which, starting from any finite perturbation of a valid k-colouring, reach a valid $k$-colouring in finite time. We discussed the different cases depending on the number of colours $k$, and propose some deterministic and probabilistic rules which solve the problem for $k\ne 3$. We also explained why the case $k=3$ is more delicate. Finally, we proposed some insights on the more general setting of this problem, passing from $k$-colourings to other tilings (subshifts of finite type).

In the same spirit, we addressed the problem of detecting failures in a distributed network [30]. Our question is: if some components can break down over time, how can we detect that the failure rate has exceeded a given threshold without any central authority? We want to estimate the global state of the network, only through local interactions of components with their neighbours. In particular, we wish to reach a consensus on an alert state when the failure rate exceeds a given threshold. We used a cellular automaton in order to propose solutions in the case of a network with a grid structure. We compared three methods of self-organisation that are partly inspired by physical and biological phenomena. As an application, we envisioned sensor networks or any type of decentralised system with a great number of components.

Concerning the fundamental properties of asynchronous cellular automata, we presented a tutorial on the convergence properties of the 256 Elementary Cellular Automata under the fully asynchronous updating, that is, when only one cell is updated at each time step. We regrouped the results which have been presented in different articles and exposed a full analysis of the behaviour of finite systems with periodic boundary conditions. Our classification relies on the scaling properties of the average convergence time to a fixed point. We presented the different scaling laws that can be found, which fall in one of the following classes: logarithmic, linear, quadratic, exponential and non-converging. The techniques for quantifying this behaviour rely mainly on Markov chain theory and martingales. Most behaviours can be studied analytically but there are still many rules for which obtaining a formal characterisation of their convergence properties is still an open problem.

Our article on the global synchronisation problem was finally published [21]. In this problem, one is asked to find a cellular automaton which has the property that every initial condition evolves into a homogeneous blinking state. We studied this simple inverse problem for the case of one-dimensional systems with periodic boundary conditions. Two paradoxical observations were 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.