Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. Tiling with Squares and Packing Dominos in Polynomial Time

Tiling with Squares and Packing Dominos in Polynomial Time

Thumbnail Image
Download
Name

3597932.pdf

Size

740.05 KB

Format

Adobe PDF

Checksum (MD5)

026fa1b970deedb7a9b758a978bbacee

Download all files submitted through automated deposit
3597932.zip (420.3 KB)
Author(s)
Aamand, Anders
•
Abrahamsen, Mikkel
•
Ahle, Thomas
•
Rasmussen, Peter
Journal
ACM Transactions on Algorithms
Publisher
ACM
Citation
Aamand, Anders, Abrahamsen, Mikkel, Ahle, Thomas and Rasmussen, Peter. "Tiling with Squares and Packing Dominos in Polynomial Time." ACM Transactions on Algorithms.
Version
Final published version
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.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution
https://creativecommons.org/licenses/by/4.0/
Persistent DSpace Link
https://hdl.handle.net/1721.1/150836
DOI of Published Version
https://doi.org/10.1145/3597932
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.