Polyomino
In recreational mathematics, a polyomino is a polyform with the square as its base form. It is a connected shape formed as the union of one or more identical squares in distinct locations on the plane, taken from the regular square tiling, such that every square can be connected to every other square through a sequence of shared edges (i.e., shapes connected only through shared corners of squares are not permitted). Polyominoes with from 1 to 6 squares are called respectively monominoes, dominoes, trominoes (or triominoes), tetrominoes, pentominoes and hexominoes. Polyominoes have been used in popular puzzles since at least 1907, and the enumeration of pentominoes is dated to antiquity (?). Many results with the pieces of 1 to 6 squares were first published in Fairy Chess Review between the years 1937 to 1957, under the name of "dissection problems". The name polyomino was invented by Solomon W. Golomb in 1953 and they were popularized by Martin Gardner.[1]
In some contexts, the definition of a polyomino is relaxed or refined. Sometimes it is required that polyominoes are simply connected,[2] while on other occasions they may have holes (in other words, regions which are not tiled with squares but which are unconnected to the exterior of the polyomino).
Related to polyominoes are polyiamonds (formed from equilateral triangles), polyhexes (formed from regular hexagons), and other polyforms. Sometimes polyominoes are generalised to three or more dimensions by aggregating cubes (polycube) or hypercubes.
As well as many puzzles in recreational mathematics, polyominoes are a source of combinatorial problems, the most basic being to enumerate polyominoes of a given size. No formula has been found except for special classes of polyominoes. However, a number of estimates are known, and there are algorithms for counting them.
Enumeration of polyominoes
Free, one-sided, and fixed polyominoes
There are three common ways of defining which polyominoes are considered distinct for the purposes of enumeration:[3][4]
- free polyominoes are distinct from each other as long as none is a translation, rotation, or reflection of another
- one-sided polyominoes are distinct as long as none is a translation or rotation of another
- fixed polyominoes are distinct as long as none is a translation of another.
The dihedral group is the group of symmetries (symmetry group) of a square. This group contains four rotations and four reflections. It is generated by alternating reflections about the x-axis and about a diagonal. One free polyomino corresponds to at most 8 fixed polyominoes, which are its images under the symmetries of . However, those images are not necessarily distinct: the more symmetry a free polyomino has, the fewer distinct fixed versions there are. Therefore, a free polyomino which is invariant under some or all non-trivial symmetries of may correspond to only 4, 2 or 1 fixed polyominoes. Mathematically, free polyominoes are equivalence classes of fixed polyominoes under the group .
Symmetries of polyominoes
Polyominoes have the following possible symmetries;[5] the least number of squares needed in a polyomino with that symmetry is given in each case:
- 8 fixed polyominoes for each free polyomino:
- no symmetry (4)
- 4 fixed polyominoes for each free polyomino:
- symmetry with respect to one of the grid line directions (4)
- symmetry with respect to a diagonal line (3)
- 2-fold rotational symmetry (4)
- 2 fixed polyominoes for each free polyomino:
- symmetry with respect to both grid line directions, and hence also 2-fold rotational symmetry (2)
- symmetry with respect to both diagonal directions, and hence also 2-fold rotational symmetry (7)
- 4-fold rotational symmetry (8)
- 1 fixed polyomino for each free polyomino:
- all symmetry of the square (1)
Numbers of polyominoes of small order
The following table shows the numbers of polyominoes (of various types) with n squares. Define the notation for the number of fixed polyominoes with n squares (possibly with holes).
n | name | number of free polyominoes (sequence A000105 in the OEIS) | number of free polyominoes with holes (OEIS: A001419) | number of one-sided polyominoes (OEIS: A000988) | = number of fixed polyominoes (OEIS: A001168) |
---|---|---|---|---|---|
1 | monomino | 1 | 0 | 1 | 1 |
2 | domino | 1 | 0 | 1 | 2 |
3 | tromino or triomino | 2 | 0 | 2 | 6 |
4 | tetromino | 5 | 0 | 7 | 19 |
5 | pentomino | 12 | 0 | 18 | 63 |
6 | hexomino | 35 | 0 | 60 | 216 |
7 | heptomino | 108 | 1 | 196 | 760 |
8 | octomino | 369 | 6 | 704 | 2725 |
9 | nonomino | 1285 | 37 | 2500 | 9910 |
10 | decomino | 4655 | 195 | 9189 | 36446 |
11 | undecomino | 17073 | 979 | 33896 | 135268 |
12 | dodecomino | 63600 | 4663 | 126759 | 505861 |
The number of free polyominoes without holes is given by OEIS: A000104.
As of 2004, Iwan Jensen has enumerated the fixed polyominoes up to n=56: is approximately 6.915×1031.[6] Free polyominoes have been enumerated up to n=28.[7]
Algorithms for enumeration of fixed polyominoes
Inductive algorithms
Each polyomino of order n+1 can be obtained by adding a square to a polyomino of order n. This leads to algorithms for generating polyominoes inductively.
Most simply, given a list of polyominoes of order n, squares may be added next to each polyomino in each possible position, and the resulting polyomino of order n+1 added to the list if not a duplicate of one already found; refinements in ordering the enumeration and marking adjacent squared not to consider reduce the number of cases that need to be checked for duplicates.[8] This method may be used to enumerate either free or fixed polyominoes.
A more sophisticated method, described by Redelmeier, has been used by many authors as a way of not only counting polyominoes (without requiring that all polyominoes of order n be stored in order to enumerate those of order n+1), but also proving upper bounds on their number. The basic idea is that we begin with a single square, and from there, recursively add squares. Depending on the details, it may count each n-omino n times, once from starting from each of its n squares, or may be arranged to count each once only.
The simplest implementation involves adding one square at a time. Beginning with an initial square, number the adjacent squares, clockwise from the top, 1, 2, 3, and 4. Now pick a number between 1 and 4, and add a square at that location. Number the unnumbered adjacent squares, starting with 5. Then, pick a number larger than the previously picked number, and add that square. Continue picking a number larger than the number of the current square, adding that square, and then numbering the new adjacent squares. When n squares have been created, an n-omino has been created.
This method ensures that each fixed polyomino is counted exactly n times, once for each starting square. It can be optimized so that it counts each polyomino only once, rather than n times. Starting with the initial square, declare it to be the lower-left square of the polyomino. Simply do not number any square which is on a lower row, or left of the square on the same row. This is the version described by Redelmeier.
If one wishes to count free polyominoes instead, then one may check for symmetries after creating each n-omino. However, it is faster[9] to generate symmetric polyominoes separately (by a variation of this method)[10] and so determine the number of free polyominoes by Burnside's lemma.
Transfer-matrix method
The most modern algorithm for enumerating the fixed polyominoes was discovered by Iwan Jensen.[11] An improvement on Andrew Conway's method,[12] it is exponentially faster than the previous methods (however, its running time is still exponential in n).
Both Conway's and Jensen's versions of the transfer-matrix method involve counting the number of polyominoes that have a certain width. Computing the number for all widths gives the total number of polyominoes. The basic idea behind the method is that possible beginning rows are considered, and then to determine the minimum number of squares needed to complete the polyomino of the given width. Combined with the use of generating functions, this technique is able to count many polyominoes at once, thus enabling it to run many times faster than methods that have to generate every polyomino.
Although it has excellent running time, the tradeoff is that this algorithm uses exponential amounts of memory (many gigabytes of memory are needed for n above 50), is much harder to program than the other methods, and cannot currently be used to count free polyominoes.
Asymptotic growth of the number of polyominoes
Fixed polyominoes
Theoretical arguments and numerical calculations support the estimate
where and .[13] However, it should be emphasized that this result is not proven and the values of and c are only estimates.
The known theoretical results are not nearly as specific as this estimate. It has been proven that
exists. In other words, grows exponentially. The best known lower bound for is 3.92.[14] The best known upper bound, not improved since the 1970s, is .[15]
To establish a lower bound, a simple but highly effective method is concatenation of polyominoes. Define the upper-right square to be the rightmost square in the uppermost row of the polyomino. Define the bottom-left square similarly. Then, the upper-right square of any polyomino of size n can be attached to the bottom-left square of any polyomino of size m to produce a unique (n+m)-omino. This proves . Using this equation, one can show for all n. Refinements of this procedure combined with data for produce the lower bound given above.
The upper bound is attained by generalizing the inductive method of enumerating polyominoes. Instead of adding one square at a time, one adds a cluster of squares at a time. This is often described as adding twigs. By proving that every n-omino is a sequence of twigs, and by proving limits on the combinations of possible twigs, one obtains an upper bound on the number of n-ominoes. For example, in the algorithm outlined above, at each step we must choose a larger number, and at most three new numbers are added (since at most three unnumbered squares are adjacent to any numbered square). This can be used to obtain an upper bound of 6.75. Using 2.8 million twigs, Klarner and Rivest obtained an upper bound of 4.65.
Free polyominoes
Approximations for the number of fixed polyominoes and free polyominoes are related in a simple way. A free polyomino with no symmetries (rotation or reflection) corresponds to 8 distinct fixed polyominoes, and for large n, most n-ominoes have no symmetries. Therefore, the number of fixed n-ominoes is approximately 8 times the number of free n-ominoes. Moreover, this approximation is exponentially more accurate as n increases.[16]
Special classes of polyominoes
Exact formulas are known for enumerating polyominoes of special classes, such as the class of convex polyominoes and the class of directed polyominoes.
The definition of a convex polyomino is different from the usual definition of convexity. A polyomino is said to be column convex if its intersection with any vertical line is convex (in other words, each column has no holes). Similarly, a polyomino is said to be row convex if its intersection with any horizontal line is convex. A polyomino is said to be convex if it is row and column convex.
A polyomino is said to be directed if it contains a square, known as the root, such that every other square can be reached by movements of up or right one square, without leaving the polyomino.
Directed polyominoes,[17] column (or row) convex polyominoes,[18] and convex polyominoes[19] have been effectively enumerated by area n, as well as by some other parameters such as perimeter, using generating functions.
Uses of polyominoes
Polyominoes have fostered significant research in mathematics[20] and are a fertile subject for logic puzzles and recreational mathematics.[21] Challenges are often posed for covering (tiling) a prescribed region, or the entire plane, with polyominoes,[22] or folding a polyomino to create other shapes. Some variants of the Sudoku puzzle use polyomino-shaped regions on the grid. The game Tetris is based on tetrominoes.
Tiling regions with sets of polyominoes
Puzzles commonly ask for a given region to be tiled with a given set of polyominoes, such as the pentominoes. Golomb's and Martin's books have many examples of such puzzles. A typical example is to tile a 6×10 rectangle with the twelve pentominoes; the 2339 solutions to this were found in 1960.[23] Where multiple copies of the polyominoes in the set are allowed, Golomb gives a hierarchy of different regions a set may be able to tile, such as rectangles, strips, and the whole plane, and shows the question of whether the plane can be tiled by polyominoes from a given set is undecidable, by a mapping from sets of Wang tiles to sets of polyominoes.[24]
Tiling regions with copies of a single polyomino
Another class of problems asks whether copies of a given polyomino can tile a rectangle, and if so, what rectangles they can tile.[25] These problems have been extensively studied for particular polyominoes,[26] and tables of results for individual polyominoes are available.[27] Klarner and Göbel showed that for any polyomino there is a finite set of prime rectangles it tiles, such that all other rectangles it tiles can be tiled by those prime rectangles.[28][29]
Beyond rectangles, Golomb gave his hierarchy for single polyominoes: a polyomino may tile a rectangle, a half strip, a bent strip, an enlarged copy of itself, a quadrant, a strip, a half plane, the whole plane, certain combinations, or none of these. There are certain implications among these, both obvious (for example, if a polyomino tiles the half plane then it tiles the whole plane) and less so (for example, if a polyomino tiles an enlarged copy of itself, then it tiles the quadrant). Polyominoes of orders up to 6 are characterised in this hierarchy (with the status of one hexomino, later found to tile a rectangle, unresolved at that time).[30]
Tiling the plane with copies of a single polyomino
Tiling the plane with copies of a single polyomino has also been much discussed. It was noted in 1965 that all polyominoes of orders 1 through 6 tile the plane,[31] and then that all but four heptominoes will do so.[32] It was then established by David Bird that all but 26 octominoes tile the plane.[33] Rawsthorne found that all but 235 polyominoes of order 9 tile,[34] and such results have been extended to higher orders by Rhoads (to order 14)[35] and others. Polyominoes tiling the plane have been classified by the symmetries of their tilings and by the number of aspects (orientations) in which the tiles appear in them.[36][37][38]
Etymology
The word polyomino and the names of the various orders of polyomino are all back-formations from the word domino, a common game piece consisting of two squares, with the do- beginning fancifully analyzed as a version of the prefix di- meaning “two”. The origin of the word domino for the game piece is suggested to derive from Latin dominus via the use of domino for a masquerade garment.[39]
Most of the numerical prefixes are Greek. Polyominoes of order 9 more often take the Latin prefix nona- (nonomino) than the Greek prefix ennea- (enneomino).
See also
References
- ^ Golomb, Solomon W. (1994). Polyominoes (2nd edition ed.). Princeton, New Jersey: Princeton University Press. ISBN 0-691-02444-8.
{{cite book}}
:|edition=
has extra text (help) - ^ Grünbaum, Branko (1987). Tilings and Patterns. New York: W. H. Freeman and Company. ISBN 0-7167-1193-1.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Redelmeier, D. Hugh (1981). "Counting polyominoes: yet another attack". Discrete Mathematics. 36: 191–203. doi:10.1016/0012-365X(81)90237-5.
- ^ Golomb, chapter 6
- ^ Redelmeier, section 3
- ^ Iwan Jensen. "Series for lattice animals or polyminoes". Retrieved 2007-05-06.
- ^ Tomás Oliveira e Silva. "Animal enumerations on the {4,4} Euclidean tiling". Retrieved 2007-05-06.
- ^ Golomb, pp. 73–79
- ^ Redelmeier, section 4
- ^ Redelmeier, section 6
- ^ Jensen, Iwan (2001). "Enumerations of Lattice Animals and Trees" (preprint). Journal of Statistical Physics. 102 (3–4): 865–881. doi:10.1023/A:1004855020556. Retrieved 2007-05-10.
{{cite journal}}
: Unknown parameter|month=
ignored (help) - ^ Conway, Andrew (1995). "Enumerating 2D percolation series by the finite-lattice method: theory". Journal of Physics. A. Mathematical and General. 28 (2): 335–349. doi:10.1088/0305-4470/28/2/011.
- ^ Jensen, Iwan (2000). "Statistics of lattice animals (polyominoes) and polygons". Journal of Physics. A. Mathematical and General. 33: L257–L263. doi:10.1088/0305-4470/33/29/102.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Jensen, Iwan (2003). "Counting Polyominoes: A Parallel Implementation for Cluster Computing". Lecture Notes in Computer Science. 2659: 203–212.
- ^ Klarner, D. A. (1973). "A procedure for improving the upper bound for the number of n-ominoes" (PDF of technical report version). Canadian Journal of Mathematics. 25: 585–602. Retrieved 2007-05-11.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Redelmeier, section 3
- ^ Bousquet-Mélou, Mireille (1998). "New enumerative results on two-dimensional directed animals". Discrete Mathematics. 180 (1–3): 73–106. doi:10.1016/S0012-365X(97)00109-X.
- ^ Delest, M.-P. (1988). "Generating functions for column-convex polyominoes". Journal of Combinatorial Theory. Series A. 48 (1): 12–31. doi:10.1016/0097-3165(88)90071-4.
- ^ Bousquet-Mélou, Mireille (1995). "The generating function of convex polyominoes: The resolution of a q-differential system". Discrete Mathematics. 137 (1–3): 53–75. doi:10.1016/0012-365X(93)E0161-V.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Mathematical Reviews subject classification 05B50
- ^ Golomb, whole book
- ^ Martin, George E. (1996). Polyominoes: A guide to puzzles and problems in tiling (2nd edition ed.). Mathematical Association of America. ISBN 0-88385-501-1.
{{cite book}}
:|edition=
has extra text (help) - ^ C. B. Haselgrove (1960). "A Computer Program for Pentominoes". Eureka. 23: 16–18.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help); Unknown parameter|month=
ignored (help) - ^ Golomb, Solomon W. (1970). "Tiling with Sets of Polyominoes". Journal of Combinatorial Theory. 9: 60–71.
- ^ Golomb, Polyominoes, chapter 8
- ^ Reid, Michael. "References for Rectifiable Polyominoes". Retrieved 2007-05-11.
- ^ Reid, Michael. "List of known prime rectangles for various polyominoes". Retrieved 2007-05-11.
- ^ Klarner, D. A. (1969). "Packing boxes with congruent figures". Indagationes Mathematicae. 31: 465–472.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Klarner, David A. (1973). "A Finite Basis Theorem Revisited" (PDF). Stanford University Technical Report STAN-CS-73-338. Retrieved 2007-05-12.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ Golomb, Solomon W. (1966). "Tiling with Polyominoes". Journal of Combinatorial Theory. 1: 280–296.
- ^ Gardner, Martin (1965). "On the relation between mathematics and the ordered patterns of Op art". Scientific American. 213 (1): 100–104.
{{cite journal}}
: Unknown parameter|month=
ignored (help) - ^ Gardner, Martin (1965). "Thoughts on the task of communication with intelligent organisms on other worlds". Scientific American. 213 (2): 96–100.
{{cite journal}}
: Unknown parameter|month=
ignored (help) - ^ Gardner, Martin (1975). "More about tiling the plane: the possibilities of polyominoes, polyiamonds and polyhexes". Scientific American. 233 (2): 112–115.
{{cite journal}}
: Unknown parameter|month=
ignored (help) - ^ Rawsthorne, Daniel A. (1988). "Tiling complexity of small n-ominoes (n<10)". Discrete Mathematics. 70: 71–75. doi:10.1016/0012-365X(88)90081-7.
- ^ Rhoads, Glenn C. (2003). Planar Tilings and the Search for an Aperiodic Prototile. PhD dissertation, Rutgers University.
- ^ Grünbaum and Shephard, section 9.4
- ^ Rhoads, Glenn C. (2005). "Planar tilings by polyominoes, polyhexes, and polyiamonds". Journal of Computational and Applied Mathematics. 174: 329–353. doi:10.1016/j.cam.2004.05.002.
- ^ Keating, K. (1999). "Isohedral Polyomino Tiling of the Plane". Discrete & Computational Geometry. 21: 615–630. doi:10.1007/PL00009442.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Oxford English Dictionary, 2nd edition, entry domino