Papers
Topics
Authors
Recent
Search
2000 character limit reached

Polyomino Packing: Theory & Algorithms

Updated 21 September 2026
  • 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 {u,d,l,r}\{u,d,l,r\}, recording unit upward, downward, leftward, and rightward boundary steps. If the boundary has nn unit edges, the polyomino is an nn-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:

every cell is covered exactly once.\text{every cell is covered exactly once}.

A finite packing may instead leave cells uncovered. In an exact-cover formulation, a binary variable xpx_p represents a placement pp and the cell constraints are

∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=1

for exact tiling, or

∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 1

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 90∘90^\circ, 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 T\mathscr T of copies such that every cell belongs to exactly one copy. A regular, or isohedral, translated tiling has copy origins of the form

nn0

so the translation vectors form a rank-two lattice.

For this model, the Beauquier–Nivat criterion gives a complete boundary characterization. If nn1 is the circular boundary word, then the polyomino tiles the plane by translations if and only if

nn2

where nn3 is the direction complement

nn4

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

nn5

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

nn6

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 nn7 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 nn8 candidate centers, consisting of one-letter and two-letter centers. Longest-common-extension preprocessing on doubled circular words, including nn9 and nn0, allows each center to be processed in constant time after linear preprocessing.

For a fixed admissible factor nn1, the algorithm writes

nn2

and searches admissible prefix and suffix factors nn3 and nn4 satisfying

nn5

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

nn6

which is optimal in the boundary-word model. The number of regular tilings is nn7, and this bound is asymptotically tight. The family

nn8

has

nn9

regular tilings, yielding a every cell is covered exactly once.\text{every cell is covered exactly once}.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 every cell is covered exactly once.\text{every cell is covered exactly once}.1 and every cell is covered exactly once.\text{every cell is covered exactly once}.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 every cell is covered exactly once.\text{every cell is covered exactly once}.3 boundary edges admits an isohedral plane tiling in

every cell is covered exactly once.\text{every cell is covered exactly once}.4

time. The result improves the every cell is covered exactly once.\text{every cell is covered exactly once}.5 algorithm of Keating and Vince and generalizes the optimal every cell is covered exactly once.\text{every cell is covered exactly once}.6 translation-only algorithms.

The algorithm uses the Heesch–Kienzle classification and tests seven polyomino-compatible boundary forms, associated with isohedral types IH every cell is covered exactly once.\text{every cell is covered exactly once}.7:

  1. Translation:

every cell is covered exactly once.\text{every cell is covered exactly once}.8

  1. Half-turn:

every cell is covered exactly once.\text{every cell is covered exactly once}.9

where xpx_p0 are palindromes.

  1. Quarter-turn:

xpx_p1

where xpx_p2 is a palindrome and xpx_p3 are xpx_p4-dromes.

  1. Type-1 reflection:

xpx_p5

  1. Type-2 reflection:

xpx_p6

  1. Type-1 half-turn-reflection:

xpx_p7

where xpx_p8 are palindromes.

  1. Type-2 half-turn-reflection:

xpx_p9

where pp0 are palindromes and pp1.

The translation case is solvable in pp2 time. The half-turn case requires pp3; the quarter-turn and type-2 reflection cases require pp4; and type-1 reflection, type-1 half-turn-reflection, and type-2 half-turn-reflection require pp5. 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 pp6 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 pp7-isohedral tilings, in which the tiles split into pp8 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 pp9 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 ∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=10, binary variables ∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=11 encode its occupied cells in row-major order:

∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=12

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 ∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=13 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 ∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=14 when no legal placement remains.

The model also introduces row and column usage variables:

∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=15

The total area satisfies

∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=16

and board non-overlap is enforced by

∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=17

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:

∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=18

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 ∑placements covering cell cxp=1\sum_{\text{placements covering cell }c} x_p=19, mean streak ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 10, mean placement time ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 11 milliseconds, and mean alternatives ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 12. In Order + Some + First was much faster, with mean placement time ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 13 milliseconds and mean area ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 14. All + ReverseRegret obtained mean area ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 15 and mean streak ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 16. 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 ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 17 corners, its area and perimeter may be exponentially larger than ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 18, so algorithms polynomial in area are only pseudo-polynomial.

For fixed ∑placements covering cell cxp≤1\sum_{\text{placements covering cell }c} x_p\leq 19, tiling the container with 90∘90^\circ0 squares can be decided in

90∘90^\circ1

time. A valid tiling, if it exists, is unique: at a convex corner of the container, at most one 90∘90^\circ2 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 90∘90^\circ3 indicating the phase of the square grid. Neighboring intervals must satisfy a residue invariant, and every surviving interval must have length divisible by 90∘90^\circ4 when the sweep advances. Balanced search trees support the interval updates.

Domino packing has a different structure. For a container 90∘90^\circ5, construct the cell-adjacency graph 90∘90^\circ6, whose vertices are cells and whose edges join side-adjacent cells. A domino corresponds to an edge, so

90∘90^\circ7

Although 90∘90^\circ8 may have exponentially many vertices under binary corner encoding, the paper constructs a reduced planar bipartite graph 90∘90^\circ9 with T\mathscr T0 vertices and edges while preserving the matching deficiency.

The reduction includes:

  1. extracting a consistent-parity region;
  2. carving channels to remove holes;
  3. removing a deep interior T\mathscr T1 that can be completely tiled in some maximum packing;
  4. identifying long rectangular pipes;
  5. contracting the central paths of those pipes;
  6. computing a maximum matching in T\mathscr T2.

The resulting running time is

T\mathscr T3

The optimum equals T\mathscr T4, where T\mathscr T5 is a maximum matching of T\mathscr T6, T\mathscr T7, and T\mathscr T8. Domino tilability is decided by testing

T\mathscr T9

This result contrasts with maximum packing of nn00 squares, which is NP-hard, even though tiling by fixed-size squares is solvable in nn01 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:

nn02

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 nn03 boards, usually with nn04, for rectangles, nn05-, nn06-, and plus-polyominoes.

For fixed-orientation rectangles nn07 with nn08,

nn09

For straight pieces, the fixed and free clumsy numbers equal the board side length:

nn10

For symmetric nn11-polyominoes,

nn12

For arbitrary nn13,

nn14

For fixed nn15-polyominoes,

nn16

For symmetric free nn17-polyominoes,

nn18

while in general

nn19

For plus polyominoes,

nn20

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 nn21- and nn22-polyominoes have clumsy numbers nn23, nn24, nn25, or nn26.

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 nn27 satisfying

nn28

Overlap is allowed, so this is a covering problem rather than a packing or tiling problem. The least number of monotonous polyominoes covering an nn29 rectangle is

nn30

If a covering uses nn31 increasing and nn32 decreasing tiles, the maximum width coverable at height nn33 is

nn34

when nn35. 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 nn36-omino tiling of a grid is a partition into connected nn37-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 nn38-ominoes, locked tilings occur on nn39 grids and on arbitrarily large grids through rigid block constructions. Locked nn40-omino tilings exist on square grids of dimensions

nn41

for every positive integer nn42. On periodic square grids, locked nn43-omino tilings exist for arbitrarily large nn44; the construction gives

nn45

on a torus with side length nn46. 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 nn47-gons correspond geometrically to L-shapes, while orthogonally convex orthogonal nn48-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

nn49

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 nn50 algorithm for perimeter packing and an nn51 algorithm for bounding-box area minimization.

For orthogonally convex orthogonal nn52-gons, no online algorithm has asymptotic competitive ratio better than nn53. The trivial strategy of assigning each object its own bin is therefore optimal. Degenerate zero-thickness L-skeletons admit an absolute competitive ratio of nn54, whereas Z-skeletons have an nn55 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 nn56 algorithm.
  • Isohedral plane tiling: seven boundary symmetry types yield an nn57 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.

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Polyomino Packing.