# Majority problem

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 $\rho$; a correct solution to the voting problem must eventually set all cells to zero if ${\tfrac {i}{i+j}}<\rho$ and must eventually set all cells to one if ${\tfrac {j}{i+j}}>\rho$. The desired eventual state is unspecified if ${\tfrac {j}{i+j}}=\rho$.

## 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 $2^{i+j}$ 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 4r/ρ).
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 $\rho$ 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 $\rho$ to be cancelled out or, if the ratio of ones is less than $\rho$, will cause an isolated one to introduce spurious ones into a block of zeros causing the ratio of ones to become greater than $\rho$.
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).

## Necessary Conditions for a perfect density classifying cellular Automata

Given that the task had moved from impossible to rather simple depending on the definition of the desired output, the problem was generalised to the following definition: a perfect density classifying automaton is simply defined as an automaton where the set of configurations reachable when the density of the starting configuration is below the threshold is perfectly disjoint with the set of configurations reachable when the density of the starting configuration is above the threshold. Using That definition Capcarrere and Sipper were able to prove two necessary conditions for a celullar automaton to be a perfect density classifyer: (1) the density of the initial configuration must be conserved over time, and (2) the rule table must exhibit a density of 0.5 (even when the threshold for classification is different from 0.5). That last property is quite unique in the sense that it associates a condition on the form of the rule to a global behaviour.