![de_bruijn_torus_3x3](https://upload.wikimedia.org/wikipedia/commons/1/1e/De_bruijn_torus_3x3.stl/1200px-De_bruijn_torus_3x3.stl.png)
In
combinatorial
Combinatorics is an area of mathematics primarily concerned with counting, both as a means and an end in obtaining results, and certain properties of finite structures. It is closely related to many other areas of mathematics and has many ap ...
mathematics, a De Bruijn torus, named after Dutch mathematician
Nicolaas Govert de Bruijn
Nicolaas Govert (Dick) de Bruijn (; 9 July 1918 – 17 February 2012) was a Dutch mathematician, noted for his many contributions in the fields of analysis, number theory, combinatorics and logic. , is an
array
An array is a systematic arrangement of similar objects, usually in rows and columns.
Things called an array include:
{{TOC right
Music
* In twelve-tone and serial composition, the presentation of simultaneous twelve-tone sets such that the ...
of symbols from an alphabet (often just 0 and 1) that contains every possible
matrix
Matrix most commonly refers to:
* ''The Matrix'' (franchise), an American media franchise
** ''The Matrix'', a 1999 science-fiction action film
** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
of given dimensions exactly once. It is a
torus
In geometry, a torus (plural tori, colloquially donut or doughnut) is a surface of revolution generated by revolving a circle in three-dimensional space about an axis that is coplanar with the circle.
If the axis of revolution does not tou ...
because the edges are considered wraparound for the purpose of finding matrices. Its name comes from the
De Bruijn sequence
In combinatorial mathematics, a de Bruijn sequence of order ''n'' on a size-''k'' alphabet ''A'' is a cyclic sequence in which every possible length-''n'' string on ''A'' occurs exactly once as a substring (i.e., as a ''contiguous'' subseq ...
, which can be considered a special case where (one dimension).
One of the main open questions regarding De Bruijn tori is whether a De Bruijn torus for a particular alphabet size can be constructed for a given and . It is known that these always exist when , since then we simply get the De Bruijn sequences, which always exist. It is also known that "square" tori exist whenever and even (for the odd case the resulting tori cannot be square).
The smallest possible binary "square" de Bruijn torus, depicted above right, denoted as de Bruijn torus (or simply as ), contains all binary matrices.
''B''2
![2-2-4-4-de-Bruijn-torus](https://upload.wikimedia.org/wikipedia/commons/6/65/2-2-4-4-de-Bruijn-torus.svg)
Apart from "translation", "inversion" (exchanging 0s and 1s) and "rotation" (by 90 degrees), no other de Bruijn tori are possible – this can be shown by complete inspection of all 2
16 binary matrices (or subset fulfilling constrains such as equal numbers of 0s and 1s).
![de_bruijn_torus_3x2](https://upload.wikimedia.org/wikipedia/commons/a/a5/De_bruijn_torus_3x2.svg)
The torus can be unrolled by repeating ''n''−1 rows and columns. All ''n''×''n'' submatrices without wraparound, such as the one shaded yellow, then form the complete set:
:
Larger example: ''B''4
![Visualisation of a (256,256;4,4) 2 de Bruijn torus](https://upload.wikimedia.org/wikipedia/commons/4/43/Visualisation_of_a_%28256%2C256%3B4%2C4%29_2_de_Bruijn_torus.svg)
An example of the next possible binary "square" de Bruijn torus, (abbreviated as ''B''
4), has been explicitly constructed.
[
]
The image on the right shows an example of a de Bruijn torus / array, where the zeros have been encoded as white and the ones as red pixels respectively.
Binary de Bruijn tori of greater size
The paper in which an example of the de Bruijn torus was constructed contained over 10 pages of binary, despite its reduced font size, requiring three lines per row of array.
The subsequent possible binary de Bruijn torus, containing all binary matrices, would have entries, yielding a square array of dimension , denoted a de Bruijn torus or simply ''B''
6. This could easily be stored on a computer—if printed with pixels of side 0.1 mm, such a matrix would require an area of approximately 26×26
square metres
The square metre ( international spelling as used by the International Bureau of Weights and Measures) or square meter ( American spelling) is the unit of area in the International System of Units (SI) with symbol m2. It is the area of a square ...
.
The object ''B''
8, containing all binary matrices and denoted , has a total of 2
64 ≈ 18.447×10
18 entries: storing such a matrix would require 18.5 exabits, or 2.3
exabyte
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable uni ...
s of storage. At the above scale, it would cover 429×429
square kilometres
Square kilometre ( International spelling as used by the International Bureau of Weights and Measures) or square kilometer (American spelling), symbol km2, is a multiple of the square metre, the SI unit of area or surface area.
1 km2 is e ...
.
The following table illustrates the super-exponential growth.
See also
*
De Bruijn sequence
In combinatorial mathematics, a de Bruijn sequence of order ''n'' on a size-''k'' alphabet ''A'' is a cyclic sequence in which every possible length-''n'' string on ''A'' occurs exactly once as a substring (i.e., as a ''contiguous'' subseq ...
*
De Bruijn graph
In graph theory, an -dimensional De Bruijn graph of symbols is a directed graph representing overlaps between sequences of symbols. It has vertices, consisting of all possible sequences of the given symbols; the same symbol may appear multiple ...
References
{{reflist
External links
Minimal arrays containing all sub-array combinations of symbols: De Bruijn sequences and tori
Combinatorics