dc.contributor.author | Aamand, Anders | |
dc.contributor.author | Abrahamsen, Mikkel | |
dc.contributor.author | Ahle, Thomas | |
dc.contributor.author | Rasmussen, Peter | |
dc.date.accessioned | 2023-06-01T19:59:43Z | |
dc.date.available | 2023-06-01T19:59:43Z | |
dc.identifier.issn | 1549-6325 | |
dc.identifier.uri | https://hdl.handle.net/1721.1/150836 | |
dc.description.abstract | In this paper, we consider planar tiling and packing problems with polyomino pieces and a polyomino container $P$. We give polynomial-time algorithms for deciding if $P$ can be tiled with $k\times k$ squares for any fixed $k$ (that is, deciding if $P$ is the union of a set of non-overlapping $k\times k$ squares) and for packing $P$ with a maximum number of non-overlapping and axis-parallel $2\times 1$ dominos, allowing rotations by $90^\circ$. As packing is more general than tiling, the latter algorithm can also be used to decide if $P$ can be tiled by $2\times 1$ dominos. These are classical problems with important applications in VLSI design, and the related problem of finding a maximum packing of $2\times 2$ squares is known to be NP-hard [J. Algorithms 1990]. For our problems there are known pseudo-polynomial-time algorithms, that is, algorithms with running times polynomial in the area or perimeter of $P$. 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 $O(n\log n)$-time algorithm for tiling with squares, where $n$ is the number of corners of $P$. We then give a more involved algorithm that reduces the problem of packing/tiling with dominos to finding a maximum/perfect matching in a graph with $O(n^3)$ vertices. This leads to algorithms with running times $O(n^3 \frac{\log^3 n}{\log^2\log n})$ and $O(n^3 \frac{\log^2 n}{\log\log n})$, respectively. | en_US |
dc.publisher | ACM | en_US |
dc.relation.isversionof | http://dx.doi.org/10.1145/3597932 | en_US |
dc.rights | Creative Commons Attribution | en_US |
dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | en_US |
dc.source | Association for Computing Machinery | en_US |
dc.title | Tiling with Squares and Packing Dominos in Polynomial Time | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Aamand, Anders, Abrahamsen, Mikkel, Ahle, Thomas and Rasmussen, Peter. "Tiling with Squares and Packing Dominos in Polynomial Time." ACM Transactions on Algorithms. | |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | |
dc.relation.journal | ACM Transactions on Algorithms | en_US |
dc.identifier.mitlicense | PUBLISHER_CC | |
dc.eprint.version | Final published version | en_US |
dc.type.uri | http://purl.org/eprint/type/JournalArticle | en_US |
eprint.status | http://purl.org/eprint/status/PeerReviewed | en_US |
dc.date.updated | 2023-06-01T07:45:10Z | |
dc.language.rfc3066 | en | |
dc.rights.holder | The author(s) | |
dspace.date.submission | 2023-06-01T07:45:11Z | |
mit.license | PUBLISHER_CC | |
mit.metadata.status | Authority Work and Publication Information Needed | en_US |