Five Cellular Automata: Togetherness

The cellular automaton here called "Togetherness" has a couple of conceptual differences compared to the two previous automata, q-state Life and the Belousov-Zhabotinsky Reaction:

(i) In these two automata the cells are viewed as stationary, located at fixed positons in a 2-dimensional grid, or more generally a lattice, but able to change their state. In Togetherness cells are viewed as possessing a fixed state but able to change their position on the grid (either by a cell moving to an unoccupied location or by two cells swapping their positions).

(ii) In the first two automata all cells change their states simultaneously, or synchronously, in a single "step". In Togetherness moves and swaps occur serially, and a "step" consists of a series of as many moves and swaps as there are locations on the grid; or rather, of as many "move/swap-considerations", since not all considerations of a move or a swap are actually carried out (as explained below).

Starting from a random initial state of the system, the cells try to move to empty locations or to swap positions among themselves so as to maximize the number of neighbors of any cell which are in the same state as that cell (thus have the same color as that cell), resulting in the emergence of clusters of cells in the same state (of the same color). The ultimate aim, not always achieved, is for all cells of a given state to be together in a single cluster.

The initial screen for the Togetherness automaton has controls as shown at right:

The rules for this automaton are given on the Algorithms page.

The background of the grid is black. Each state is assigned a unique color. Colors are assigned to the states depending on the value of q:

 State: 1 2 3 4 5 6 7 q = 1 white q = 2 magenta white q = 3 cyan magenta white q = 4 cyan magenta yellow white q = 5 cyan green red yellow white q = 6 cyan green magenta red yellow white q = 7 blue cyan green magenta red yellow white

When the Display graph box is checked a graph is displayed which plots the fractional component of the average number of neighbors of a cell in the same state as that cell. This is the quantity labeled "togetherness" shown at the bottom during a run. A screen shot with graph is shown below (this run began from a random state as shown above). The togetherness value begins in the range zero through about 1.16 and increases rapidly. Its rate of increase decreases rapidly, so the graph shows only the fractional component.

For togetherness to occur it is not necessary to have a large selection range. In certain circumstances even n = 1 will work (in this case moves and swaps can occur only between a location and its immediate horizontal or vertical neighbor). Click on this link to see what results when we begin with a random state of 100% concentration of cells in four states (shown at right) and a lossy move chance of 1 in 2 (i.e., 50%).

As another example, if we begin from a random state of 100% concentration of cells in three states, a selection range of 2 and a lossy move chance of 1 in 2 then after several thousand steps the result is as shown below:

Here's another that we can get using this cellular automaton. Is this art?