Polyomino Packing: Theory & Algorithms
- Polyomino packing involves strategic placement of polyominoes, finite unions of unit squares joined edge-to-edge, to satisfy various geometric constraints.
- Key techniques include boundary-word representation, constraint programming, and considering both finite-board and infinite-plane scenarios.
- Polyomino structures, such as exact tilings, maximum coverage, and online competitive packing, have diverse applications in fields needing optimized spatial configurations.
- ]
- follow_up_questions
Polyomino packing is the study of placing polyominoes—finite unions of unit grid cells—inside a region or across the plane subject to non-overlap, containment, coverage, or optimization constraints. Depending on the model, copies may be translated, rotated, or reflected; the objective may be exact tiling, maximum-cardinality or maximum-area packing, minimum-cardinality covering, maximality under further placement, or online competitive performance. The subject includes highly structured plane-tiling problems, finite-board constraint models, compactly represented orthogonal containers, local reconfiguration, and extremal covering problems.
1. Definitions and problem variants
A polyomino is a finite union of unit squares joined edge-to-edge. In the boundary-word model, a simply connected polyomino is represented by a circular word over , recording unit upward, downward, leftward, and rightward boundary steps. If the boundary has unit edges, the polyomino is an -omino in the terminology of “An Optimal Algorithm for Tiling the Plane with a Translated Polyomino” (Winslow, 2015). Polyominoes may also be represented explicitly by their cells, by boundary cells, or compactly by polygon corners with integer coordinates encoded in binary (Aamand et al., 2020).
A packing is a collection of pairwise interior-disjoint copies contained in a container. Boundary contact is generally permitted. A tiling is a packing whose union equals the container or, for plane tilings, the whole plane. Thus tiling imposes both non-overlap and exact coverage:
A finite packing may instead leave cells uncovered. In an exact-cover formulation, a binary variable represents a placement and the cell constraints are
for exact tiling, or
for packing.
The allowed transformations define distinct problem classes. A fixed packing permits translations only. A free packing permits translations and rotations by multiples of , but not reflections, in the clumsy-packing model (Miller et al., 2022). Other models permit rotations and reflections, as in the Patchwork constraint model, which uses up to eight orientations after removing equivalent transformations of symmetric pieces (Lagerkvist, 2020). Plane tiling by translated copies is more restrictive: rotations and reflections are forbidden, and every copy has the same orientation (Winslow, 2015).
Important objective classes include:
- Maximum packing: maximize the number of pieces or occupied cells.
- Exact tiling: cover the entire target without overlap or gaps.
- Maximal packing: no additional allowed copy can be inserted.
- Clumsy packing: minimize the number of pieces among maximal packings.
- Covering: cover the target while allowing overlap, usually with as few pieces as possible.
- Online packing: place objects irrevocably as they arrive without knowledge of future objects.
These objectives are not interchangeable. A maximal packing need not have maximum area, a covering may permit overlap, and a tiling is a perfect packing rather than merely a maximal one.
2. Plane tilings by a single polyomino
The most strongly characterized setting uses one simply connected polyomino and translated copies to tile the entire plane. A plane tiling is an infinite set of copies such that every cell belongs to exactly one copy. A regular, or isohedral, translated tiling has copy origins of the form
0
so the translation vectors form a rank-two lattice.
For this model, the Beauquier–Nivat criterion gives a complete boundary characterization. If 1 is the circular boundary word, then the polyomino tiles the plane by translations if and only if
2
where 3 is the direction complement
4
Such a factorization is called a BN factorization. The factors encode the matching boundary contacts between a central tile and neighboring translated copies. The equivalences are
5
The translation-only theory therefore has an exceptional reduction: existence of any plane tiling implies existence of a regular one. A BN factorization may contain factors of length zero, but no BN factorization has more than two zero-length factors (Winslow, 2015).
The same result can be expressed geometrically through local contacts. If three copies occur clockwise around a common point, their neighboring boundary factors generate translation vectors
6
which surround the central copy and generate the regular tiling.
The linear-time algorithm of “An Optimal Algorithm for Tiling the Plane with a Translated Polyomino” (Winslow, 2015) takes the boundary length 7 as input and has two outputs: whether the polyomino tiles the plane by translations and all corresponding regular tilings represented by BN factorizations. It first computes all admissible factors, then enumerates BN factorizations.
An admissible factor is a maximal matched boundary factor whose material immediately outside the two occurrences does not backtrack. Every factor in a BN factorization is admissible. There are at most 8 candidate centers, consisting of one-letter and two-letter centers. Longest-common-extension preprocessing on doubled circular words, including 9 and 0, allows each center to be processed in constant time after linear preprocessing.
For a fixed admissible factor 1, the algorithm writes
2
and searches admissible prefix and suffix factors 3 and 4 satisfying
5
A Galil–Seiferas-style extremal lemma implies that valid choices form intervals in length-sorted lists. Two monotone “two-finger” scans therefore avoid testing all pairs of candidates. Duplicate cyclic factorizations are removed by a canonical reporting rule.
The total running time is
6
which is optimal in the boundary-word model. The number of regular tilings is 7, and this bound is asymptotically tight. The family
8
has
9
regular tilings, yielding a 0 worst-case bound on the number of regular tilings.
3. Isohedral tilings with rotations and reflections
Isohedral tiling generalizes translation-only tiling by allowing congruent copies related through symmetries of the entire tiling. A monohedral tiling has congruent tiles; it is isohedral when the symmetry group acts transitively on the tiles. The copies may involve translations, half-turns, quarter-turns, reflections, and combinations of half-turns and reflections. For polyominoes, rotations by 1 and 2 are excluded by the relevant boundary-angle restrictions (Langerman et al., 2015).
“A Quasilinear-Time Algorithm for Tiling the Plane Isohedrally with a Polyomino” (Langerman et al., 2015) decides whether a polyomino with 3 boundary edges admits an isohedral plane tiling in
4
time. The result improves the 5 algorithm of Keating and Vince and generalizes the optimal 6 translation-only algorithms.
The algorithm uses the Heesch–Kienzle classification and tests seven polyomino-compatible boundary forms, associated with isohedral types IH 7:
- Translation:
8
- Half-turn:
9
where 0 are palindromes.
- Quarter-turn:
1
where 2 is a palindrome and 3 are 4-dromes.
- Type-1 reflection:
5
- Type-2 reflection:
6
- Type-1 half-turn-reflection:
7
where 8 are palindromes.
- Type-2 half-turn-reflection:
9
where 0 are palindromes and 1.
The translation case is solvable in 2 time. The half-turn case requires 3; the quarter-turn and type-2 reflection cases require 4; and type-1 reflection, type-1 half-turn-reflection, and type-2 half-turn-reflection require 5. The half-turn case therefore determines the overall bound.
Its main machinery includes prefix and suffix palindrome factorizations, primitive repeated blocks, longest-common-extension queries, the Fine–Wilf theorem, palindrome pumping, and extremal-double-palindrome lemmas. Prefix-palindrome factorizations contain only 6 compressed repeated blocks, permitting batch processing of candidates.
The theorem concerns isohedral tilings, not arbitrary plane tilings. The existence of a general algorithm for deciding whether an arbitrary polyomino tiles the plane remains open. The paper also introduces 7-isohedral tilings, in which the tiles split into 8 symmetry orbits; these are not characterized by a single boundary factorization, and efficient recognition remains open (Langerman et al., 2015).
4. Finite-board packing and constraint programming
Finite-board packing differs structurally from plane tiling because the container is bounded, future pieces may be unknown, and exact coverage may not be required. The Patchwork model provides a constraint-programming formulation for incremental packing on a 9 board with a selectable subset of 33 polyomino patches (Lagerkvist, 2020).
Each patch may be translated and rotated, and the implementation permits reflections, producing up to eight transformations. A patch may remain unused. For each patch 0, binary variables 1 encode its occupied cells in row-major order:
2
The board variables encode the patch occupying each cell, empty, or an auxiliary end state. A dummy column fixed to zero separates rows and prevents a regular-language expression from wrapping from one row into the next.
Legal transformed placements are represented by finite automata and imposed through a global regular constraint. Explicit transformation variables 3 identify the selected orientation, while usage variables control whether the patch is placed. A fully reified regular constraint represents either a genuine placement or the unused case, allowing propagation to force 4 when no legal placement remains.
The model also introduces row and column usage variables:
5
The total area satisfies
6
and board non-overlap is enforced by
7
The model separates placement policies from placement evaluations. Policies generate legal alternatives, while evaluations select among them. Policies include Bottom-Left, BL/LB, Pareto Bottom-Left, In Order, Size, AFC, Activity, and CHB. The All policy enumerates every legal placement.
The principal evaluation is propagation guided global regret (PGGR). Given a candidate placement, the model clones the current state, imposes the placement, propagates, and measures global domain loss:
8
The selected placement minimizes this quantity. PGGR treats propagation-induced loss as a negative signal: a placement is preferred when it removes fewer future placement possibilities. It differs from impact-based search because it performs current one-step look-ahead rather than relying on historical propagation statistics.
In experiments using 1000 random patch orders, the strongest reported packing result was obtained by All + Every + Regret, with mean area 9, mean streak 0, mean placement time 1 milliseconds, and mean alternatives 2. In Order + Some + First was much faster, with mean placement time 3 milliseconds and mean area 4. All + ReverseRegret obtained mean area 5 and mean streak 6. The results indicate a pronounced quality–time tradeoff: broader alternative generation improves PGGR’s choices but substantially increases propagation cost.
The constraint model is exact, but the policies and evaluations are heuristic. They do not guarantee maximum eventual area or a feasible completion sequence. The All policy provides complete enumeration of current legal placements; PGGR only chooses among the generated alternatives.
5. Polynomial-time special cases and compact containers
The complexity of packing depends strongly on the piece, container representation, and objective. “Tiling with Squares and Packing Dominos in Polynomial Time” (Aamand et al., 2020) considers a polyomino container represented compactly by its polygon corners, with integer coordinates encoded in binary. If the container has 7 corners, its area and perimeter may be exponentially larger than 8, so algorithms polynomial in area are only pseudo-polynomial.
For fixed 9, tiling the container with 0 squares can be decided in
1
time. A valid tiling, if it exists, is unique: at a convex corner of the container, at most one 2 square can cover the corner. The algorithm uses a vertical sweep line and maintains interior-disjoint intervals in each cross-section. Each interval stores a residue in 3 indicating the phase of the square grid. Neighboring intervals must satisfy a residue invariant, and every surviving interval must have length divisible by 4 when the sweep advances. Balanced search trees support the interval updates.
Domino packing has a different structure. For a container 5, construct the cell-adjacency graph 6, whose vertices are cells and whose edges join side-adjacent cells. A domino corresponds to an edge, so
7
Although 8 may have exponentially many vertices under binary corner encoding, the paper constructs a reduced planar bipartite graph 9 with 0 vertices and edges while preserving the matching deficiency.
The reduction includes:
- extracting a consistent-parity region;
- carving channels to remove holes;
- removing a deep interior 1 that can be completely tiled in some maximum packing;
- identifying long rectangular pipes;
- contracting the central paths of those pipes;
- computing a maximum matching in 2.
The resulting running time is
3
The optimum equals 4, where 5 is a maximum matching of 6, 7, and 8. Domino tilability is decided by testing
9
This result contrasts with maximum packing of 00 squares, which is NP-hard, even though tiling by fixed-size squares is solvable in 01 time. The difference arises from the forced-corner structure of exact square tilings versus the matching structure of domino packing.
6. Maximal, clumsy, and covering variants
A maximal packing is a valid non-overlapping arrangement to which no further congruent copy can be added. The clumsy packing number minimizes the number of pieces among maximal packings:
02
This objective deliberately favors sparse, hole-producing arrangements rather than maximum coverage. “Clumsy Packing of Polyominoes in Finite Space” (Miller et al., 2022) studies square 03 boards, usually with 04, for rectangles, 05-, 06-, and plus-polyominoes.
For fixed-orientation rectangles 07 with 08,
09
For straight pieces, the fixed and free clumsy numbers equal the board side length:
10
For symmetric 11-polyominoes,
12
For arbitrary 13,
14
For fixed 15-polyominoes,
16
For symmetric free 17-polyominoes,
18
while in general
19
For plus polyominoes,
20
The proofs use anchor counting, separated-strip constructions, boundary trapping, rotational blocking, and parity analysis. Many general free cases remain unresolved, including the exact free rectangular value and the parameter ranges determining whether free 21- and 22-polyominoes have clumsy numbers 23, 24, 25, or 26.
A distinct extremal problem concerns covering rectangles by monotonous polyominoes. A monotonous polyomino consists of the unit cells met by the graph of a monotone continuous function 27 satisfying
28
Overlap is allowed, so this is a covering problem rather than a packing or tiling problem. The least number of monotonous polyominoes covering an 29 rectangle is
30
If a covering uses 31 increasing and 32 decreasing tiles, the maximum width coverable at height 33 is
34
when 35. The proof uses full-domain extension, uncrossing of increasing tiles, endpoint ordering, forced crossings between increasing and decreasing tiles, and recursive staircase constructions. The crossing argument exploits overlap and therefore does not transfer directly to non-overlapping packing.
7. Reconfiguration, online packing, and complexity boundaries
Packing and tiling can also be studied through local reconfiguration. A 36-omino tiling of a grid is a partition into connected 37-cell sets. Two tilings are adjacent when they differ by repartitioning the union of exactly two tiles. A tiling is locked if it is an isolated vertex of this metagraph while at least one other tiling exists (Tucker-Foltz, 2023).
For dominoes, the metagraph of rectangular-grid tilings is connected, so no nondegenerate locked domino tiling exists. For 38-ominoes, locked tilings occur on 39 grids and on arbitrarily large grids through rigid block constructions. Locked 40-omino tilings exist on square grids of dimensions
41
for every positive integer 42. On periodic square grids, locked 43-omino tilings exist for arbitrarily large 44; the construction gives
45
on a torus with side length 46. These configurations are obstructions to two-tile recombination and are relevant to ReCom Markov chains for redistricting.
Online packing creates another sharp boundary. “Online Packing of Orthogonal Polygons” (Gerlach et al., 23 Mar 2026) studies continuous orthogonal polygons under translations into unit-square bins. Orthogonal 47-gons correspond geometrically to L-shapes, while orthogonally convex orthogonal 48-gons include Z-shapes. The results are not theorems about discrete polyominoes, but they indicate how small increases in shape complexity can change online packability.
For general L-shapes, every online algorithm has asymptotic competitive ratio
49
for minimizing the number of unit bins. Constant-competitive algorithms exist when all L-shapes are small or all are symmetric. For L-shapes, the paper also gives an 50 algorithm for perimeter packing and an 51 algorithm for bounding-box area minimization.
For orthogonally convex orthogonal 52-gons, no online algorithm has asymptotic competitive ratio better than 53. The trivial strategy of assigning each object its own bin is therefore optimal. Degenerate zero-thickness L-skeletons admit an absolute competitive ratio of 54, whereas Z-skeletons have an 55 lower bound.
These continuous results do not automatically transfer to polyominoes. A discrete adaptation would need scaling to integer coordinates, preservation of strict separation inequalities, consistent treatment of boundary contact, and a positive minimum thickness. Nevertheless, they demonstrate that constant boundary complexity does not guarantee constant-competitive online packing.
Across the different models, the main complexity boundaries are determined by structural restrictions:
- Single translated tile in the plane: BN factorizations yield an optimal 56 algorithm.
- Isohedral plane tiling: seven boundary symmetry types yield an 57 algorithm.
- Compact orthogonal containers with squares or dominoes: specialized sweep-line and matching methods give polynomial-time algorithms.
- Finite-board incremental packing: regular constraints provide exact legality, while placement selection remains heuristic.
- Maximal and clumsy packing: boundary effects dominate and many general cases remain open.
- Covering with monotone polyominoes: an exact formula is available because monotonicity enables uncrossing and endpoint counting.
- Local reconfiguration: locked tilings demonstrate that exact coverage does not imply connectivity under two-tile moves.
- Online packing: even orthogonal shapes with few sides can exhibit sublinear or maximal competitive lower bounds.
Polyomino packing is therefore not a single complexity class or canonical optimization problem. Its behavior depends on whether the target is finite or infinite, whether coverage must be exact, whether copies are congruent under translations or general symmetries, whether the input is explicit or compact, whether the objective is maximum, minimum, or maximal, and whether placement is offline or online. The most successful algorithms exploit additional structure—boundary words, lattice symmetry, parity, matching, monotonicity, regular languages, or propagation—while the absence of such structure leads to unresolved, NP-hard, or adversarially inapproximable variants.