Majority problem (cellular automaton)

The majority problem, or density classification task, is the problem of finding one-dimensional cellular automaton rules that accurately perform majority voting.
Using local transition rules, cells cannot know the total count of all the ones in system. In order to count the number of ones (or, by symmetry, the number of zeros), the system requires a logarithmic number of bits in the total size of the system. It also requires the system send messages over a distance linear in the size of the system and for the system to recognize a non-regular language. Thus, this problem is an important test case in measuring the computational power of cellular automaton systems.
Problem statement.
Given a configuration of a two-state cellular automaton with "i" + "j" cells total, "i" of which are in the zero state and "j" of which are in the one state, a correct solution to the voting problem must eventually set all cells to zero if "i" > "j" and must eventually set all cells to one if "i" < "j". The desired eventual state is unspecified if "i" = "j".
The problem can also be generalized to testing whether the proportion of zeros and ones is above or below some threshold other than 50%. In this generalization, one is also given
a threshold formula_1; a correct solution to the voting problem must eventually set all cells to zero if formula_2 and must eventually set all cells to one if formula_3. The desired eventual state is unspecified if formula_4.
Approximate solutions.
Gács, Kurdyumov, and Levin found an automaton that, although it does not always solve the majority problem correctly, does so in many cases. In their approach to the problem, 
the quality of a cellular automaton rule is measured by the fraction of the formula_5 possible starting configurations that it correctly classifies.
The rule proposed by Gacs, Kurdyumov, and Levin sets the state of each cell as follows. If a cell is 0, its next state is formed as the majority among the values of itself, its immediate neighbor to the left, and its neighbor three spaces to the left. If, on the other hand, a cell is 1, its next state is formed symmetrically, as the majority among the values of itself, its immediate neighbor to the right, and its neighbor three spaces to the right. In randomly generated instances, this achieves about 78% accuracy in correctly determining the majority.
Das, Mitchell, and Crutchfield showed that it is possible to develop better rules using genetic algorithms.
Impossibility of a perfect classifier.
In 1995, Land and Belew showed that no two-state rule with radius "r" and density ρ correctly solves the voting problem on all starting configurations when the number of cells is sufficiently large (larger than about 4"r"/ρ).
Their argument shows that because the system is deterministic, every cell surrounded entirely by zeros or ones must then become a zero. Likewise, any perfect rule can never make the ratio of ones go above formula_1 if it was below (or vice versa). They then show that any assumed perfect rule will either cause an isolated one that pushed the ratio over formula_1 to be cancelled out or, if the ratio of ones is less than formula_1, will cause an isolated one to introduce spurious ones into a block of zeros causing the ratio of ones to become greater than formula_1.
In 2013, Busic, Fatès, Marcovici and Mairesse gave a simpler proof of the impossibility to have a perfect density classifier, which holds both for deterministic and stochastic cellular and for any dimension.
Exact solution with alternative termination conditions.
As observed by Capcarrere, Sipper, and Tomassini, the majority problem may be solved perfectly if one relaxes the definition by which the automaton is said to have recognized the majority. In particular, for the Rule 184 automaton, when run on a finite universe with cyclic boundary conditions, each cell will infinitely often remain in the majority state for two consecutive steps while only finitely many times being in the minority state for two consecutive steps.
Alternatively, a hybrid automaton that runs Rule 184 for a number of steps linear in the size of the array, and then switches to the majority rule (Rule 232), that sets each cell to the majority of itself and its neighbors, solves the majority problem with the standard recognition criterion of either all zeros or all ones in the final state. However, this machine is not itself a cellular automaton. Moreover, it has been shown that Fukś's composite rule is very sensitive to noise and cannot outperform the noisy Gacs-Kurdyumov-Levin automaton, an imperfect classifier, for any level of noise (e.g., from the environment or from dynamical mistakes).