Majority problem (cellular automaton)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

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 automata 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{j}{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.[1] 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.[2]

Impossibility of a perfect classifier

In 1995, Land and Belew[3] 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 be become greater than \rho.

Exact solution with alternative termination conditions

As observed by Capcarrere, Sipper, and Tomassini,[4][5] 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.[6] Moreover, it has been shown that Fukś´ 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).[7]

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.