Tiling with Squares and Packing Dominos in Polynomial Time
Abstract
A polyomino is a polygonal region with axis parallel edges and corners of integral coordinates, which may have holes. In this paper, we consider planar tiling and packing problems with polyomino pieces and a polyomino container . We give two polynomial time algorithms, one for deciding if can be tiled with squares for any fixed which can be part of the input (that is, deciding if is the union of a set of non-overlapping squares) and one for packing with a maximum number of non-overlapping and axis-parallel dominos, allowing rotations by . As packing is more general than tiling, the latter algorithm can also be used to decide if can be tiled by dominos. These are classical problems with important applications in VLSI design, and the related problem of finding a maximum packing of squares is known to be NP-Hard [J. Algorithms 1990]. For our three problems there are known pseudo-polynomial time algorithms, that is, algorithms with running times polynomial in the area of . However, the standard, compact way to represent a polygon is by listing the coordinates of the corners in binary. We use this representation, and thus present the first polynomial time algorithms for the problems. Concretely, we give a simple algorithm for tiling with squares, and a more involved algorithm for packing and tiling with dominos, where is the number of corners of .
Cite
@article{arxiv.2011.10983,
title = {Tiling with Squares and Packing Dominos in Polynomial Time},
author = {Anders Aamand and Mikkel Abrahamsen and Thomas D. Ahle and Peter M. R. Rasmussen},
journal= {arXiv preprint arXiv:2011.10983},
year = {2021}
}
Comments
Compared to the first version, running times for domino packing have been improved and a simpler algorithm has been described