#### Enumerating Cube Tilings

Discrete Comput Geom
K. Ashik Mathew 0
Patric R. J. Östergård 0
Alexandru Popa 0
0 K A. Mathew (
Cube tilings formed by n-dimensional 4Zn -periodic hypercubes with side 2 and integer coordinates are considered here. By representing the problem of finding such cube tilings within the framework of exact cover and using canonical augmentation, pairwise nonisomorphic 5-dimensional cube tilings are exhaustively enumerated in a constructive manner. There are 899,710,227 isomorphism classes of such tilings, and the total number of tilings is 638,560,878,292,512. It is further shown that starting from a 5-dimensional cube tiling and using a sequence of switching operations, it is possible to generate any other cube tiling.
1 Introduction
A family of closed sets S is called a tiling of a Euclidean space if their union is the
ambient space and every two distinct sets in S have disjoint interiors. Tilings of the
space Rn by n-dimensional hypercubes of side 2 are usually called general cube tilings
whereas tilings of Rn by integral translates of the hypercube [
0, 2
]n which are 4Zn
periodic are called special cube tilings [
2
]. Since the scope of the study in this paper is
restricted to special cube tilings, the term cube tiling or simply tiling means a special
cube tiling in the sequel. Also, we assume that the corner points of all cubes have
integer coordinates.
A special cube tiling can be specified via its intersection with [
0, 4
]n . Moreover,
that intersection can be viewed as a tiling of an n-dimensional torus of side 4 with
n-dimensional cubes of side 2. Such a tiling is conveniently presented as a set of the
cube centers, which can further be seen as codewords of length n over an alphabet of
size 4. For example, the two 2-dimensional tilings in Fig. 1 are {11, 13, 31, 33} and
{01, 13, 21, 33} (with the first coordinate corresponding to the horizontal axis).
Symmetries of special cube tilings are also conveniently handled in the framework
of codes. Two cube tilings are said to be isomorphic if the code of one of them can
be mapped onto the code of the other by a permutation of coordinates followed by
permutations of the form
i → ai + b (mod 4), a ∈ {−1, 1}, b ∈ {0, 1, 2, 3},
(1)
separately in each coordinate. An isomorphism from a cube tiling onto itself is called
an automorphism, and all automorphisms of a tiling forms its automorphism group.
The automorphism group is a subgroup of the group of all possible mappings, which
has order 8nn! There is, up to isomorphism, a unique 1-dimensional cube tiling and
two 2-dimensional cube tilings (see Fig. 1).
Cube tilings, which have been studied for a long time, are not only interesting in
their own right, but they are also connected to various important problems within areas
such as algebra and geometry [
16
]. The study of cube tilings gained more focus with a
famous conjecture proposed by Keller in 1930 [
7
]. The tale of cube tilings would not be
complete without a mention of this conjecture. Keller’s conjecture states that in any
ndimensional general cube tiling, there are two cubes that share an (n − 1)-dimensional
face. Keller’s conjecture was proved to be true for n ≤ 6 by Perron in 1940 [
15
], while
the conjecture remained open for higher dimensions for many decades to come.
In 1992, Lagarias and Shor [
9
] proved that Keller’s conjecture is false for n ≥ 10.
In 2002, Mackey [
10
] proved that Keller’s conjecture fails also for the 8-dimensional
and 9-dimensional cases. The case of special cube tilings was finally settled in 2011
when Debroni et al. [
1
] showed that the conjecture holds for the 7-dimensional case
(the conjecture regarding general cube tilings remains open for n = 7).
In the earlier work, a certain class of graphs, Keller graphs, played a central role.
A Keller graph has one vertex for each possible n-tuple (word) in {0, 1, 2, 3}d and
edges between vertices whenever the corresponding cubes do not have an intersecting
interior. The existence of a clique of size 2n in the Keller graph would imply that
Keller’s conjecture is false for the n-dimensional case. (Variants of) Keller graphs are
actually commonly used to benchmark clique finding programs [
2
].
Dutour Sikiric´ et al. [
3
] study cube tilings using Keller graphs and computational
methods. Using clique-searching routines in GAP with provisions to look for
isomorphisms on the fly, they show that the number of isomorphism classes of 3-dimensional
and 4-dimensional cube tilings are 9 and 744, respectively. Using the techniques in [
3
],
it seems hard to obtain a complete classification of the tilings for n > 4. An
exhaustive search using the Cliquer [
13
] software shows that there are 5,541,744 distinct
(labeled) 4-dimensional tilings.
In this paper, we utilize a classification technique called canonical augmentation
to show that the number of isomorphism classes of 5-dimensional cube tilings is
899,710,227. Also, we show that this corresponds to a total of 638,560,878,292,512
distinct (labeled) tilings. The rest of the paper is organized as follows. In Sect. 2,
we introduce the mathematical preliminaries and data structures that we use for our
computational methods to follow. In Sect. 3, we go over the details of the canonical
augmentation algorithm for generating the cube tilings and the results which we obtain.
Finally, in Sect. 4 we show that starting from any 5-dimensional cube tiling and using
a sequence of switching operations, it is possible to generate any other cube tiling.
2 Preliminaries
Not only may the problem of finding cube tilings be considered as a clique problem,
but it may also be considered within the framework of exact cover.
Definition 2.1 A cover of a set P is a set P of non-empty subsets of P whose union
is P. A cover P is called an exact cover if all elements of P are pairwise disjoint.
Indeed, the problem of finding n-dimensional cube tilings may be expressed as the
problem of finding an exact cover for the set {0, 1, 2, 3}n where the subsets in the
cover are restricted to be of the form
{k0, k0 + 1} × {k1, k1 + 1} × · · · × {kn−1, kn−1 + 1},
(2)
for 0 ≤ k1, k2, . . . , kn ≤ 3 (all values taken modulo 4).
The general problem of determining whether an instance of the exact cover problem
has a solution is NP-complete, so no polynomial-time algorithm is expected to be found
for this problem. Anyway, there is a classic algorithm for this problem that works well
for many small instances that occur in practice. This algorithm has been implemented
by Kaski and Pottonen [
6
] in the software library libexact. Knuth’s dancing links data
structure [
8
], which improves the classic algorithm by a constant factor, is implemented
in libexact.
Due to the huge number of expected solutions, a direct application of the exact
cover algorithm is not feasible for the enumeration of the 5-dimensional cube tilings.
We therefore rely on a technique of constructing partial tilings, extending these and
using the technique of canonical augmentation for rejecting isomorphs.
First of all, we need a proper framework for the subproblem of determining
isomorphism of packings. We here use the conventional technique of reducing this problem
to the problem of determining graph isomorphism. This further makes it possible to
utilize the nauty [
11
] graph isomorphism program.
For each n-dimensional tiling T , we define a graph (T ) = (V (T ), E (T ))
in such a way that two tilings are isomorphic if and only if the
corresponding graphs are isomorphic. We let the set V (T ) consist of 4n + 2n vertices
v0, v1, . . . , v4n−1, w1, w2, . . . , w2n with the vertices vi corresponding to the
coordinates and their values and the vertices wi corresponding to the tiles.
As for E (T ), we form cycles v4i , v4i+1, v4i+2, v4i+3 for all 0 ≤ i ≤ n − 1. For
the rest of the edges, there are two obvious possibilities. Either one may consider a
tiling via the centers of the cubes (as we have done earlier), and let {v4s+r , wi } ∈
E (T ) if the sth coordinate of the word corresponding to the i th cube has value r .
Another possibility is to consider tilings in the context of (2) and let {vn4i+ki , wm },
{v4i+(ki +1 (mod 4)), wm }∈E (T ) for all 0 ≤ i ≤ n − 1 and 1 ≤ m ≤ 2 . We have
chosen the second alternative, which is more suitable for our main algorithm (in all
further results, including Theorem 2.2, this choice is assumed). Finally, we distinguish
the two vertex sets vi for 0 ≤ i ≤ 4n − 1 and w j for 1 ≤ j ≤ 2n by coloring them
with different colors.
For example, Fig. 2 shows the graph representation of the tiling T2 in Fig. 1. The
sets C1 and C2 indicate the two color classes of vertices.
Theorem 2.2 Two cube tilings T1 and T2 are isomorphic if and only if the
corresponding graphs (T1) and (T2) are isomorphic.
Proof Suppose T1 and T2 are isomorphic. Let G be the group of symmetries of tilings,
and let T2 = T1g. Moreover, let G be the group of relabelling operations of a graph
(T ) generated by (i) permutations π of {0, 1, . . . , n − 1} permuting the vertices vi
according to v4i+ j → v4π(i)+ j , 0 ≤ i ≤ n − 1, 0 ≤ j ≤ 3, and (ii) permutations πi ,
0 ≤ i ≤ n − 1 of {0, 1, 2, 3} of the form (1), where πi acts as v4i+ j → v4i+πi ( j).
There is an obvious isomorphism φ from the actions of G in the definition of
isomorphism of tilings (the definition for isomorphism of codes of tilings applies to tilings in
general as well) to the actions (i) and (ii) of G . Now (T1) = (T2g) = (T2)(gφ)
=∼ (T2).
On the other hand, given two isomorphic graphs (T1) and (T2), the (labeled)
tilings can be reconstructed in a unique way and the result follows from the first part
of the proof.
3 Isomorph-Free Generation of Tilings
As mentioned earlier, we carry out the classification of 5-dimensional cube tilings in
three steps. For the tiles, we use the context of (2). First a set of partial solutions,
called seeds, is constructed. Then the seeds are extended to cube tilings, and finally
isomorph rejection of the completed structures is carried out.
3.1 Generating the Seeds
The 744 4-dimensional cube tilings have been classified by Dutour Sikiric´ et al. [
3
]
(and this result has been corroborated in the current work). By projecting a
5dimensional cube tiling to the 4-dimensional space (with respect to a given value
in a given coordinate), such a 4-dimensional tiling is obtained. In the classification
process, we reverse this step.
When a 4-dimensional tiling (which has 24 = 16 tiles) is extended to a partial
5-dimensional tiling with a fixed value, say 0, in the new dimension, there are 216
ways of carrying out this extension as the cubes may get values −1 = 3, 0 or 0, 1
in the new coordinate. A direct use of nauty with the encoding in Sect. 2 shows that
the set of 744 × 216 = 48,758,784 partial tilings can be partitioned into 5,922,281
isomorphism classes; we denote the size of the isomorphism class of a structure S by
I (S) (which will be needed later).
These structures, with 16 out of 32 5-dimensional tiles, now form the seeds for the
next step of the approach.
3.2 Extension and Isomorph Rejection
For a given seed, we may now use exact cover and the libexact software library to
complete the 5-dimensional cube tiling in all possible ways.
The final step of the approach is then to carry out isomorph rejection amongst the
tilings obtained in this way. For isomorph rejection, canonical augmentation, a method
developed by McKay [
12
], is utilized; see also [5, Sect. 4.2.3].
In canonical augmentation, two tests are carried out for each cube tiling found. Tests
1 and 2 ensure that generation is isomorph-free regarding the cases where isomorphic
copies may be generated from different seeds and from the same seed, respectively.
Test 1: For each tiling, it is checked whether the seed from which it is generated is the
canonical seed. Any completed tiling contains 4n seed substructures (corresponding
to n dimensions with four values each) and one of these (more precisely, one orbit of
these under the automorphism group of the tiling) is particularized as the canonical
seed. Using the notations and graph from Sect. 2, there is a one-to-one correspondence
between the 4n seed substructures and the vertices v0, v1, . . . , v4n−1. As nauty
provides a canonical labeling of vertices, we may pick the orbit of (say) the vertex with
the smallest label amongst those vertices to specify the (orbit of) canonical seed(s). If
the actual seed is in this orbit, the test is passed.
Test 2: For each tiling extended from a seed S, this test is passed if the tiling is the
lexicographic minimum of all the tilings under the action of the automorphism group
of S, Aut(S).
The tilings that pass both these tests, which actually can be carried out in
arbitrary order, are accepted. A great advantage of this technique is that it can be easily
parallelized and run on a cluster of computers, since each seed can be considered
separately.
3.3 Results and Validation
Using an 80-core 2.9-GHz computing cluster, we were able to carry out a classification
of the 5-dimensional cube tilings in less than 1 day of physical time. There are N =
899,710,227 isomorphism classes of 5-dimensional cube tilings, which are tabulated
in column N (m) of Table 1 with respect the order of the automorphism group. In
Table 2, we further tabulate F (m), the number of tilings for which m pairs of tiles
share 4-dimensional faces. The cube tiling with the largest automorphism group (213 ×
3 × 5 = 122,880) and the largest number of shared faces is the tiling of the form
{c1c2c3c4c5 : ci ∈ {0, 2}} (viewed as a code). The tilings in the isomorphism class of
this tiling are called regular cube tilings.
The total number of (labeled) cube tilings with an automorphism group of order m
can be calculated with the Orbit–Stabilizer theorem and is
D(m) =
8nn!N (m)
m
.
The values of D(m) are given in the last column of Table 1. Summing over all group
orders gives a total of 638,560,878,292,512 distinct (labeled) cube tilings for n = 5.
The results of the search can be validated by computing the total number of (labeled)
cube tilings in an alternative way. We store the number of generated solutions while
the exhaustive search is carried out. For each seed Si , 1 ≤ i ≤ 5,922,281, let A(Si )
be the number of (accepted and rejected) solutions obtained by extending Si . The total
number of cube tilings can now be calculated as
5,922,281
i=1
I (Si ) A(Si ).
This value is computed and is also found to be equal to 638,560,878,292,512.
4 Switching Cube Tilings
4.1 Background
Since Keller’s conjecture is true for all n ≤ 7, any such tiling contains at least one
pair of cubes that share an (n − 1)-dimensional face. It is then possible to define a
m
1
2
3
4
5
6
8
10
12
16
24
32
48
64
96
128
160
192
256
320
384
512
640
768
1,024
1,280
1,536
2,048
3,072
4,096
6,144
12,288
24,576
122,880
Total
N (m)
F(m)
switching operation that moves the centers of such a pair of cubes by unit length while
leaving other centers unchanged. For example, in Fig. 1, the tiling T2 is obtained from
the tiling T1 by applying the switching operation to the cubes numbered 3 and 4. Local
transformations of similar type have been frequently used for various other types of
combinatorial objects [
14
].
In the seminal work of Dutour Sikiric´ and Itoh [
2
], it is shown that for any fixed
n ≤ 4, it is possible to generate an n-dimensional cube tiling starting from any other
cube tiling and using a sequence of switches. We now extend this work to the
5dimensional case.
The current approach resembles that of [
2
], but we have to modify the details heavily
to accommodate for the huge number of isomorphism classes of 5-dimensional tilings.
We consider the graph where V ( ) is the set of all isomorphism classes of tilings
and with an edge between two vertices T1 and T2 if a tiling that is isomorphic to T2 can
be obtained from a tiling that is isomorphic to T1 by a switch. For n ≤ 4, this graph
can be constructed explicitly, but this is no longer possible for n-dimensional cube
tilings with n > 4. Consequently, we take an alternate route by implicitly constructing
the graph, along the ideas of [
4
], where a similar study was carried out for the Steiner
triple systems of order 19.
4.2 Connectedness of the Switching Graph
In order to check for connectedness of the switching graph, we start by doing a random
walk from an arbitrary vertex. To keep track of the vertices visited in this walk, we
maintain a boolean array of size N that is indexed by the vertices (called VISITED
in the algorithms to follow, initialized to false, and set to true when visited). For the
indexing function we want to associate a unique hash value with each isomorphic class
of tilings.
The hash value is obtained in the following way. We associate a random 64-bit
binary string with each of the possible 45 = 1,024 participating cubes in the tilings.
For a given cube tiling, we first find the canonical tiling using the graph representation
mentioned in Sect. 2, and then perform an XOR operation over the 64-bit binary
strings corresponding to the 32 cubes that occur in the canonical tiling. Once we
obtain all N hash values, we have to verify that they are in fact unique. One may
observe that the probability that N = 899,710,227 64-bit binary random strings are
distinct is
N
i=2
1 −
Having computed the hash values, we sort them and keep them in memory so that any
hash value can be obtained quickly by performing a binary search over this array.
We let this random walk continue until the rate of finding new vertices goes below a
preset value. The threshold rate was set to 300 new vertices per second. It was noticed
that the rate decays exponentially with a half-life of about one day, and approximately
3 % of the vertices remained to be visited after running this random walk for 5 days
on a 2.9-GHz PC.
Pseudocode of the algorithm performing the random walk is shown as Algorithm 1.
At each vertex of the walk, the entire neighborhood is screened for previously unvisited
vertices. In addition to the VISITED array mentioned earlier, the previously unvisited
vertices that are discovered are saved in the set VNBH and are candidates for becoming
the next vertex of the random walk. If no unvisited vertices are discovered, a random
vertex in the neighborhood is chosen.
Algorithm 1 Random Walk(Tiling T )
Algorithm 2 BFS(Tiling T )
1: set S ← ∅, queue Q ← ∅
2: Enqueue(Q, T )
3: i ← Compute_Hashval(T )
4: k ← BinarySearch(Hashvals, i )
5: S ← S ∪ {k}
6: while Q is not empty do
7: T ← Dequeue(Q)
8: for all T ∈ Neighbourhood(T ) do
9: i ← Compute_Hashval(T )
10: k ← BinarySearch(Hashvals, i )
11: if VISITED[k ] = true then
12: for all p ∈ S do
13: VISITED[ p] ← true
14: end for
15: EXIT
16: else
17: S ← S ∪ {k }
18: Enqueue(Q, T )
19: end if
20: end for
21: end while
22: Output S as a component
Once we terminate the random walk, we perform a breadth-first search starting
from vertices that have not been visited in the random walk. This part of the search
is presented as Algorithm 2. The algorithm differs slightly from the standard BFS
algorithm because of the fact that we stop the search once a vertex in the component
of previously visited vertices is reached. The set S contains the vertices that have been
visited during this search; these are not marked as visited in the global array VISITED
until a previously visited vertex in that array is encountered. If the last line of the
algorithm would be reached, then the switching graph would not be connected.
In about one day of computational time on the same computer used for the random
walk, it was confirmed that the switching graph is connected. All the computations
were carried out using approximately 8 GB of main memory.
We now know that the isomorphism classes are connected via switches in the
5-dimensional case. Moreover, it turns out that also the labeled cube tilings are
connected in this manner. Namely, we know by the computational result that any labeled
tiling can be transformed into a labeled tiling in the isomorphism class of regular cube
tilings. This fact together with the observation that switching can be used to transform
any labeled regular cube tiling into any other labeled regular cube tiling implies
connectivity. In the code setting, adding a 1 to the coordinate values in one coordinate
corresponds to switching 2n−1 = 16 pairs of cubes in a regular cube tiling.
Acknowledgments The authors thank the referee for valuable comments. This work was supported in
part by the Academy of Finland, Grant Number 132122.
1. Debroni , J. , Eblen , J.D. , Langston , M.A. , Shor , P. , Myrvold , W. , Weerapurage , D.: A complete resolution of the Keller maximum clique problem . In: Proceedings of the 22nd ACM-SIAM symposium on discrete algorithms , pp. 129 - 135 ( 2011 ).
2. Dutour Sikiric´, M. , Itoh , Y. : Random sequential packing of cubes . World Scientific, Singapore ( 2011 )
3. Dutour Sikiric´, M. , Itoh , Y. , Poyarkov , A. : Cube packings, second moments and holes . Eur. J. Comb . 28 , 715 - 725 ( 2007 )
4. Kaski , P. , Mäkinen , V. , Östergård , P.R.J.: The cycle switching graph of the Steiner triple systems of order 19 is connected . Graphs Comb . 27 , 539 - 546 ( 2011 )
5. Kaski , P. , Östergård , P.R.J. : Classification algorithms for codes and designs . Springer, Berlin ( 2006 )
6. Kaski , P. , Pottonen , O. : libexact user's guide, version 1.0 . HIIT Technical Reports 2008-1 . Helsinki Institute for Information Technology (HIIT) , Helsinki ( 2008 )
7. Keller, O.H. : Über die lückenlose Erfüllung des Raumes mit Würfeln . J. Reine Angew. Math. 163 , 231 - 248 ( 1930 )
8. Knuth , D.E. : Dancing links . In: Davies, J. , Roscoe , B. , Woodcock , J . (eds.) Millennial perspectives in computer science , pp. 187 - 214 . Palgrave, Basingstoke ( 2000 )
9. Lagarias , J.C. , Shor , P.W.: Keller's cube-tiling conjecture is false in high dimensions . Bull. Am. Math. Soc. (N.S.) 27 , 279 - 283 ( 1992 )
10. Mackey , J.: A cube tiling of dimension eight with no facesharing . Discrete Comput. Geom . 28 , 275 - 279 ( 2002 )
11. McKay , B.D. : Nauty user's guide (version 1.5) . Technical report TR-CS-90-02 . Computer Science Department, Australian National University, Canberra ( 1990 )
12. McKay , B.D. : Isomorph-free exhaustive generation . J. Algorithms 26 , 306 - 324 ( 1998 )
13. Niskanen , S. , Östergård , P.R.J. : Cliquer user's guide (version 1.0) . Technical report T48 . Communications Laboratory, Helsinki University of Technology, Espoo ( 2003 )
14. Östergård , P.R.J.: Switching codes and designs . Discrete Math . 312 , 621 - 632 ( 2012 )
15. Perron , O. : Über lückenlose Ausfüllung des n-dimensionalen Raumes durch kongruente Würfel . Math. Z. 46 , 1 - 26 ( 1940 )
16. Szabó , S. : Cube tilings as contributions of algebra to geometry . Beiträge Algebra Geom . 34 , 63 - 75 ( 1993 )