Enumerating Cube Tilings

Discrete & Computational Geometry, Sep 2013

Cube tilings formed by \(n\)-dimensional \(4\mathbb Z ^n\)-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.

A PDF file should load here. If you do not see its contents the file may be temporarily unavailable at the journal website or you do not have a PDF plug-in installed and enabled in your browser.

Alternatively, you can download the file locally and open with any standalone PDF reader:

https://link.springer.com/content/pdf/10.1007%2Fs00454-013-9547-4.pdf

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 )


This is a preview of a remote PDF: https://link.springer.com/content/pdf/10.1007%2Fs00454-013-9547-4.pdf

K. Ashik Mathew, Patric R. J. Östergård, Alexandru Popa. Enumerating Cube Tilings, Discrete & Computational Geometry, 2013, 1112-1122, DOI: 10.1007/s00454-013-9547-4