next up previous
Next: First stage Up: Life 's Still Previous: Still life

De Bruijn diagram

The representation of overlapping sequences and the establishment of some of their properties is facilitated by using a diagram which is often called the de Bruijn diagram, or its associated connectivity matrix. The concepts involved have had a fairly long history[7]; sometimes the diagram is given other names.

Basically, a diagram is prepared whose nodes represent short segments taken from a sequence; an example would be a string of three binary numbers, eight nodes corresponding to all the possible sequences. Links are drawn in the diagram according to the ways that the first member of the sequence can be discarded, and a new final member appended; it is natural to label the links by the longer segments, including the discarded and adjoined elements.

In this binary example, 0 could be discarded from the sequence 011; then 0 adjoined to produce 110 or else 1 to produce 111. Accordingly 011 would be linked to each of the nodes 110 and 111, but no others. The first link would be labelled 0110, the second 0111.

In the case of Life , and for automata in general, we are interested in dissecting the neighborhood of a cell into two overlapping pieces, each of which overlaps an appropriate partner among adjoining neighborhoods. In the following sample,

the cells g, h, and i have the respective neighborhoods and partial neighborhoods

The de Bruijn diagram for Life and other automata based on the same neighborhood has 64 nodes, due to six binary cells forming each overlapping half. Eight links emanate from each node, since three binary cells are discarded and three added to advance from one neighborhood to the next. Links and neighborhoods correspond exactly; there are 512 altogether. Octal notation readily labels the nodes; if

then the link joins the node to the node .

The large number of nodes and links would make such a diagram laid out on a small sheet of paper overly crowded; a better representation would be the connectivity matrix of the diagram, or even a simple listing in which each line contained its own node followed by a list of the nodes to which it was linked.

The choice of a de Bruijn diagram whose links are the neighborhoods in Conway's Life means that any path through the diagram represents a possible row of cells in the automaton, surrounded by their respective neighborhoods. The nodes are partial neighborhoods; the lack of a link between a particular pair shows that they cannot be overlapped to form a complete neighborhood.

Insofar as the links represent neighborhoods, they can be considered to reflect the properties of their neighborhoods as well. By dropping the links corresponding to bad neighborhoods, any remaining paths through the diagram can only represent a good row, which in the present context would be a row of a still life. In other words, there exists a diagram from which all the still life rows can be read off just by following paths through the diagram.

Building up still rows is only the first stage of construction; a new second stage de Bruijn diagram governs the overlapping of rows to cover the plane.



next up previous
Next: First stage Up: Life 's Still Previous: Still life



Harold V. McIntosh
E-mail:mcintosh@servidor.unam.mx