A packing puzzle is a solitary game where a player tries to find a way to cover a given shape using polyominoes, where a polyomino is a set of squares joined together by their edges. The computational complexity of packing puzzles was studied by Demaine and Demaine  who showed that tiling a shape or region using polyominoes is NP-complete.
In this work we study tilings of regions in the square lattice with L-shaped trominoes (a polyomino of three cells) called an L-Tromino or simply tromino in this work. A cell in is a subset and a region is any finite union of connected cells. At our disposal we have an infinite amount of trominoes and would like to know if a given region can be covered or tiled with trominoes.
The problem of tiling with trominoes was first studied by Conway and Lagarias  who presented an algebraic necessary condition for a region in order to have a tiling. Moore and Robson  showed that deciding if a region can be covered with trominoes is NP-complete. Later Horiyama et al.  presented another proof of NP-completeness by constructing an one-one reduction which implies that counting the number of tilings with trominoes is #P-complete. Counting the number of tilings with L-trominoes was also studied by Chin et al.  using generating functions.
In this work we aim at identifying instances of the tiling problem with trominoes that either have efficient algorithms or it remains NP-complete. As a further generalization of the problem, we also consider regions with “defects” or holes, that is, we want to know if there is a tiling with trominoes without covering the defects. First we study the Aztec rectangle (and hence, also an Aztec diamond) [4, 10] and show that any Aztec rectangle of side lengths can be covered with trominoes if and only if (Theorem 3.1), which implies the existence of an optimal polynomial time algorithm for finding a tiling in an Aztec rectangle, and hence, an Aztec diamond. Then we showed that for the cases when does not hold, if an Aztec Rectangle has exactly one defect, then it can be covered with trominoes (Theorem 4). In general, however, deciding the tiling of an Aztec diamond with an unknown number of defects is NP-complete (Theorem 3.3).
In the second part of this paper we study a restricted case of the tiling problem where we only have rotations of the trominoes available. Here we show that the problem remains NP-complete (Theorem 4.1) by slightly modifying the one-one reduction from the 1-in-3 Graph Orientation Problem of Horiyama et al. , whereas any Aztec rectangle has no tiling at all (Theorem 4.2). Nevertheless, we show that if any region contains at least one of the so-called “forbidden polyominoes” identified in this work, then that region has an efficient algorithm for deciding a tiling (Theorem 4.3). This latter result is proved by constructing a graph representation of the region, called an intersection graph, and identifying independent sets of certain size. If the intersection graph has a claw, then that claw will correspond to a forbidden polyomino; if the graph is claw-free, however, we can use well-known efficient algorithms for finding independent sets, and hence, a tiling for the region.
In this work we will use to denote the set of integers and to denote the discrete interval .
A region is a finite union of connected cells, where connected means that any two cells in share at least one common point in . If a cell is the set of points , we label such cell by which we refer to as the cell’s coordinate. Two cells are adjacent if the Manhattan distance, i.e., the -norm, of their coordinates is 1; thus, two cells in diagonal to each other are not adjacent.
A tromino is a polyomino of 3 cells. In general there are two types of trominoes, the L-tromino and the I-tromino. An L-tromino is a polyomino of 3 cells with an L shape. An I-tromino is a polyomino of 3 straight cells with the form of an I. In this work we will mostly be dealing with L-Trominos and we will refer to them simply as trominoes; I-trominoes will appear later but we will make sure to clarify to which type of tromino we are referring to.
A cover or tiling of a region is a set of trominoes covering all cells of without overlapping and each tromino is packed inside . The size of a cover is the number of tiles in it. A defect is a cell that is “marked” in the sense that in any cover any tromino cannot be placed on top of that cell. Thus, a cover of with defects is a set of trominoes covering all cells of that are not defects.
is the following problem:
|INPUT||: a region with defects.|
|OUTPUT||: “yes” if has a cover and “no” otherwise.|
In this work we will also consider tilings where only trominoes with rotations are used. More precisely, given a region we want to find a cover where all trominoes are right-oriented as in Fig.3(a) or left-oriented as in Figure 3(b). We will refer to trominoes where only their rotations are considered as 180-trominoes. A 180-cover of is a cover with 180-trominoes.
is the following problem:
|INPUT||: a region with defects.|
|OUTPUT||: “yes” if has a 180-cover and “no” otherwise.|
3 Tiling of the Aztec Rectangle
The Aztec Diamond of order , denoted , is the union of lattice squares , with , that lie completely inside the square . Figure 8 shows the first four Aztec diamonds. Tilings of the Aztec diamond with dominos was initially studied by Elkies et al.  and later by several other people.
The concept of an Aztec diamond can be very easily extended to that of an Aztec rectangle. We denote by the Aztec rectangle which has unit squares on the southwestern side and unit squares on the northwestern side (here, ); in the case when we get an Aztec diamond of order . As an example Fig.9 shows . Domino tilings of Aztec rectangles have been studied by various mathematicians starting with Mills et. al. .
In the following subsections we study tilings of the Aztec rectangle using trominoes with and without defects, and then specialize them to Aztec diamonds.
3.1 Tilings with No Defects
For any Aztec rectangle with no defects, we can completely understand when there is a tiling. The following theorem gives a characterization.
has a cover if and only if .
As a corollary, we get the following for the Aztec diamond.
has a cover if and only if .
An Aztec rectangle, contains unit squares. Further, specializing we get that an Aztec diamond of order contains unit squares.
Define a stair as a a polyomino made-up only of trominoes with their rotations connected as in Fig.13(a). The same stair can be rotated to obtain another stair. A -stair is a co-joined set of stairs, where a stair is joined to another stair by matching their extremes; for example, in Fig.13(b) we can see two stairs where the lowest extreme of the upper stair is matched with the upper extreme of the lower stair. This idea is easily extended to a set of stairs thus giving a -stair as in Fig.13(c). A -stair can also be rotated to obtain another -stair. The height of a -stair is the number of steps in it. It is easy to see that the height of a -stair is . In addition, a single tromino would be a -stair.
If and has a cover, then has a cover.
If are multiples of 3, then an -stair and an -stair can be used to tile around along the shorter and longer sides respectively, using the pattern of Fig.16(a). This tiling increments the order of the Aztec rectangle by 2, thus obtaining a tiling for .∎
If and has a cover, then has a cover.
To find a tiling for we use four copies of added to the four corners of . Then, to complete the tiling, we use two and -stairs one on top of each other along the shorter and longer sides respectively, to complete the border. The entire construction follows the pattern of Fig.16(b). This tiling increments the order of the Aztec rectangle by 4, thus obtaining a tiling for .∎
The above two Lemmas gives as easy corollaries the following.
If has a cover and is a multiple of 3, then has a cover.
If has a cover and is a multiple of 3, then has a cover.
Now, let us prove Theorem 3.1.
Proof of Theorem 3.1. The values for which holds are and for some .
Thus, the statement is equivalent to saying that for all positive integers there is a tiling of where or and that there are no tilings for when .
We show the second part now, which is easy since if we have with of the form , then the number of lattice squares inside is not divisible by and hence we cannot tile this region with trominoes.
The base case of Lemma 2 is shown in Fig.20(a), which is . Once we have a tiling of , we can use Lemma 2 to create a tiling of an Aztec rectangle whose sides are increased by . We can also increase by using the additional pieces shown in Fig.20(b,c) using them in combinations with any case of Aztec rectangle satisfying the properties of Lemma 2 to increase either the longer or the shorter sides, and if all three additional pieces are used then we can increase both the sides of .
Similarly, the base case of Lemma 3 is shown in Fig.25(a), which is . Once we have a tiling of , we can use Lemma 3 to create a tiling of an Aztec rectangle whose sides are increased by . We can also increase by using the additional pieces shown in Fig.25(b,c,d) using them in combinations with any case of Aztec rectangle satisfying the properties of Lemma 3 to increase either the longer or the shorter sides, and if all three additional pieces are used then we can increase both the sides of .
3.2 Tiling with Defects
From Theorem 3.1 we know that for any positive integers , the Aztec rectangles with no defects such that divides or divides have a cover but if divides , then does not have a tiling. We show that if such an Aztec rectangle has exactly one defect, then it can be covered with trominoes.
with of the form with one defect has a cover.
To tile with one defect we use a construct which we call a fringe appearing in Fig.28(a). It is easy to check that if a fringe has exactly one defect, then it can be covered with trominoes.
As an easy corollary, we obtain the corresponding result for Aztec diamonds.
For any positive integer , the Aztec Diamond with one defect has a cover.
We can consider many diffrent classes of defects, and it is observed that some of these classes have easy tilings, as an example, we have in Fig.31(a) an Aztec rectangle with four defects on its corners. A tiling of this region is shown in Fig.31(b). In the combinatorics literature, tilings of regions with defects of several kinds for Aztec rectangle have been studied (see  for the most general class of boundary defects).
Similar defects can be studied for Aztec Diamonds as well. In fact, we can delete all cells in a fringe and obtain a tiling.
The proof of Theorem 3.2 gives an optimal time algorithm for finding a cover for with one defect. In general, however, it is computationally hard to determine if with an unknown number of defects has a cover.
It is NP-complete to decide if with an unknown number of defects has a cover.
The reduction is from tiling an arbitrary region with defects. The idea is to embed into for some sufficiently large and insert defects in in a way that surrounds .∎
4 Tiling with 180-Trominos
In this section we study tilings of arbitrary regions using only 180-trominoes. With no loss of generality, in this section we will only consider right-oriented 180-trominoes.
It is easy to see that even when restricted to 180-trominoes, deciding the existence of a tiling of an arbitrary region is still hard.
The proof uses the same gadgets for the reduction for I-Trominoes from the 1-in-3 Graph Orientation Problem of Horiyama et al. . Take any gadget of Horiyama et al.  and partition each cell into 4 new cells. Thus, each I-tromino is transformed in a new or region (depending on the orientation of the I-tromino) which can be covered with four 180-trominoes as in Fig 32. If a gadget is covered with I-trominoes, then the same gadget, after partitioning each cell into four new cells, can also be covered with 180-trominoes. To see the other direction of this implication, we exhaustively examined all possible ways to cover each 4-cell-divided gadget with L-trominoes, and observed that each gadget with its original cells can also be covered with I-trominoes (see App.0.C).∎
It is natural to think along these lines about tiling the Aztec rectangle (and hence, Aztec diamond) with 180-trominoes. However, we show that it is impossible.
does not have a 180-cover.
Consider the southwestern side of any Aztec rectangle as in Fig.33 and pick anyone of the marked cells, say the cell at coordinate . There are only two ways to cover that cell with a right-oriented tromino. With one tromino we can cover the cells with coordinates and , whereas with the other tromino we can cover the cells and . In either case the cells at and are always covered, and depending on which tromino is chosen either the cell at or is covered. Therefore, if we cover the entire bottom-left side of an Aztec rectangle, there will always be a cell at or that cannot be covered. Note that any reversed fringe that is on top of the bottom-left side of any Aztec rectangle can be covered with 180-trominoes if it has one defect.∎
does not have a 180-cover.
4.2 Efficient Tilings
In this section we identify a sufficient condition for a region to have an efficient algorithm that decides the existence of a 180-cover.
If a region does not contain any of the forbidden polyominoes of Fig.34 as a subregion, then there exists a polynomial-time algorithm that decides if has a 180-cover.
For the remaining of this section we present a proof of Theorem 4.3. Remember that, with no loss of generality, we only consider right-oriented trominoes. Given a region we construct a graph , which we call the region graph of , as follows. For each cell that is not a defect there is a vertex . There is an edge for each pair of adjacent vertices and for each pair and . Note that this reduction is one-to-one. We present an example in Fig.37.
From the region graph we construct a new graph which we call an intersection graph and is constructed as follows. For each triangle in there is a vertex and there is an edge between vertices and if the corresponding triangles share a vertex in ; for example, the intersection graph for Fig.37 is a triangle, because all triangles in the region graph share at least one vertex.
For any region with a fixed number of defects, the maximum number of 180-trominoes that fit in equals the size of a maximum independent set in .
Let be the maximum number of tiles that fit in and let be a maximum independent set in the intersection graph . We claim that .
Each triangle in the region graph corresponds to a position where a 180-tile can fit. If is the maximum number tiles that can fit in , then there exists triangles in , denoted , that do not share any common vertex. Each triangle in corresponds to a vertex in and since none of the triangles in share a common vertex, defines an independent set in and .
To prove that suppose by contradiction that is not a maximum independent set of , that is, . Since is an independent set in , there are triangles in that do not share a common vertex. Thus, we can fit 180-trominos in , which is a contradiction because .∎
The idea for a proof of Theorem 4.3 is to construct a polynomial time algorithm that decides the existence of a 180-cover by deciding if a maximum independent set in equals the number of cells of divided by 3, which agrees with the number of trominoes covering . Deciding the existence of a maximum independent set of a given size is a well-known NP-complete problem, nevertheless, it is known from the works of Minty , Sbihi  and Nakamura and Tamura  that for claw-free graphs111A graph is claw-free if it does not have (a claw) as an induced subgraph. finding independent sets can be done in polynomial time. Hence, if is claw-free, then we can use a polynomial time algorithm for finding independent sets to decide the existence of a 180-cover. If has a claw, however, each claw will give one of the forbidden polyominoes.
In Lemma 5 below we show that is polynomial time reducible to deciding independent sets, which allow us to construct algorithms for using known algorithms for deciding independent sets. Then in Lemma 6 we show that if has a claw, then that claw corresponds to a forbidden polyomino in the region .
There is a many-one polynomial-time reduction from to the problem of deciding existence of an independent set of a given size.
First the reduction constructs the region graph and the intersection graph . If the size of the largest independent set equals the number of cells of divided by 3, then output “yes” because has a 180-cover; otherwise output “no” because does not have a 180-cover.
Suppose has a 180-cover. If is the number of cells in , then the number of tiles in the 180-cover is . By Lemma 4, the largest independent set in equals .
Now suppose does not have a 180-cover. If is the number of cells in , then is not equal the maximum number of tiles that can fit in . Thus, by Lemma 4, it holds that is not equal the size of the largest independent set in .∎
If has a claw, then has at least one forbidden polyomino.
For any claw in there is a vertex of degree 3 and three vertices of degree 1, and each vertex in corresponds to a triangle in the region graph . We refer to the triangle that corresponds to the degree 3 vertex as the central triangle and each degree 1 triangles is called an adjacent triangle. Thus, to obtain all forbidden polyominoes, we look at all posible ways to connect (by the vertices) each adjacent triangle to the central triangle in such a way that each adjacent triangle only connects to the central triangle in a single vertex and it is not connected to any other adjacent triangle; otherwise, if an adjacent triangle connects with two vertices of the central triangle or any two adjacent vertices connects with one another, then the induced graph does not corresponds to a claw. By exhaustively enumerating all possibilities, we can extract all polyominoes that correspond to claws in . Then we partition this set of polyominoes in five equivalent classes, where two polyominoes are in the same class if and only if one can be obtained from the other by a rotation, a reflection or shear transformation (App.0.A).∎
5 Concluding Remarks and Open Problems
In this work we studied the computational hardness of tiling arbitrary regions with L-trominoes. We showed restrictions to the problem that keeps it computationally intractable and identified concrete instances where an efficient tiling exists. In particular we showed that tiling an Aztec rectangle (and hence, Aztec diamond) with defects is still a hard problem, but in the presence of 0 or 1 defects, a tiling is decidable in polynomial time. Furthermore, even if we restrict the problem of tiling an arbitrary region with rotations of L-trominoes it remains intractable. We showed, however, that if the region contains a so-called “forbidden polyomino” as a subregion, then the tiling problem is decidable in polynomial time.
We conclude this paper with some open problems that we consider challenging and that we believe will fuel future research in the subject.
Hardness of tiling the Aztec rectangle with a given number of defects. In Section 3 we saw that an Aztec rectangle with 0 or 1 defects can be covered with L-trominoes in polynomial time, whereas in general the problem is NP-complete when the Aztec rectangle has an unknown number of defects; with , for every , an Aztec rectangle cannot be covered because the number of cells is not divisible by 3. It is open if there exists a polynomial time algorithm for deciding a tiling for an Aztec rectangle with a given number of defects.
Characterization of tilings with I-trominoes and L-trominoes. In Fig.32 of Section 4 we saw that any gadget of Horiyama et al.  can be covered with I-trominoes if and only if the same gadget, after partitioning each cell into four new cells, can be covered with L-trominoes. In general, if is any region and is where each cell is partitioned into four cells, we have that if can be covered with I-trominoes, then can be covered with L-trominoes. We do not know, however, if the other way of this implication holds.
Tiling of orthogonally-convex regions. In this work we showed several instances where a tiling can be found in polynomial time. In general, it is open if an orthogonally-convex region with no defects can be covered in polynomial time or if it is NP-complete to decide if a tiling exists.
-  Chin, P., Grimaldi, R., Heubach, S.: Tiling with L’s and squares. Journal of Integer Sequences 10(07.2.8) (2007)
-  Conway, J.H., Lagarias, J.C.: Tiling with polyominoes and combinatorial group theory. Journal of Combinatorial Theory, Series A 53(2), 183–208 (1990)
-  Demaine, E.D., Demaine, M.L.: Jigsaw puzzles, edge matching, and polyomino packing: Connections and complexity. Graphs and Combinatorics 23(1), 195–208 (2007)
-  Elkies, N., Kuperberg, G., Larsen, M., Propp, J.: Alternating-sign matrices and domino tilings. I. Journal of Algebraic Combinatorics 1(2), 111–132 (1992)
-  Horiyama, T., Ito, T., Nakatsuka, K., Suzuki, A., Uehara, R.: Complexity of tiling a polygon with trominoes or bars. Discrete & Computational Geometry 58(3), 686–704 (2017)
-  Mills, W.H., Robbins, D.P., Rumsey, H.: Alternating sign matrices and descending plane partitions. Journal of Combinatorial Theory. Series A 34(3), 340–359 (1983)
-  Minty, G.J.: On maximal independent sets of vertices in claw-free graphs. Journal of Combinatorial Theory. Series B 28(3), 284–304 (1980)
-  Moore, C., Robson, J.M.: Hard tiling problems with simple tiles. Discrete & Computational Geometry 26(4), 573–590 (2001)
-  Nakamura, D., Tamura, A.: A revision of Minty’s algorithm for finding a maximum weighted stable set of a claw-free graph. Journal of the Operations Research Society of Japan 44(2), 194–204 (2001)
-  Saikia, M.P.: Enumeration of domino tilings of an aztec rectangle with boundary defects. Advances in Applied Mathematics 89, 41–66 (2017)
-  Sbihi, N.: Algorithme de recherche d’un stable de cardinalité maximum dans un graphe sans étoile. Discrete Mathematics 29(1), 53–76 (1980)
Appendix 0.A Forbidden Polyominoes
Appendix 0.B Efficient Tiling of the Aztec Rectangle
A tromino cover for can be found in time .
Given , the following procedure called finds a tiling for .
If , then return “there is no tiling”.
If are multiples of 3, then
fill the borders of using the pattern of Fig.20.
If is a multiple of 3, then
fill the borders of using the pattern of Fig.25.