当前位置: X-MOL 学术arXiv.cs.CG › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Tiling with Squares and Packing Dominos in Polynomial Time
arXiv - CS - Computational Geometry Pub Date : 2020-11-22 , DOI: arxiv-2011.10983
Anders Aamand, Mikkel Abrahamsen, Thomas D. Ahle, Peter M. R. Rasmussen

We consider planar tiling and packing problems with polyomino pieces and a polyomino container $P$. A polyomino is a polygonal region with axis parallel edges and corners of integral coordinates, which may have holes. We give two polynomial time algorithms, one for deciding if $P$ can be tiled with $2\times 2$ squares (that is, deciding if $P$ is the union of a set of non-overlapping copies of the $2\times 2$ square) and one for packing $P$ with a maximum number of non-overlapping and axis-parallel $2\times 1$ dominos, allowing rotations of $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 three problems there are known pseudo-polynomial time algorithms, that is, algorithms with running times polynomial in the \emph{area} 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)$ algorithm for tiling with squares, and a more involved $O(n^4)$ algorithm for packing and tiling with dominos.

中文翻译:

在多项式时间内进行正方形平铺和打包Domino

我们考虑了多米诺骨牌和一个多米诺骨牌容器$ P $的平面平铺和包装问题。多米诺骨牌是一个多边形区域,其轴平行的边沿和拐角处的整数坐标中可能有孔。我们给出两种多项式时间算法,一种用于确定$ P $是否可以与$ 2 \乘以2 $平方平铺(即,确定$ P $是否是$ 2 \ times 2的一组非重叠副本的并集。 $平方)和一个用于包装$ P $的容器,最大数量不重叠且与轴平行的$ 2 \乘以1 $多米诺骨牌,允许旋转$ 90 ^ \ circ $。由于打包比平铺更为笼统,因此后者的算法也可以用来确定$ P $是否可以按$ 2乘以1 $多米诺骨牌进行平铺。这些是VLSI设计中重要应用的经典问题,而找到最大包装$ 2×2 $平方的相关问题被称为NP-Hard [J.〜Algorithms 1990]。对于我们的三个问题,有已知的伪多项式时间算法,即在$ P $的\ emph {area}中具有运行时间多项式的算法。但是,表示多边形的标准紧凑方法是通过以二进制形式列出角的坐标。我们使用这种表示法,从而提出了解决问题的第一个多项式时间算法。具体来说,我们给出了一个简单的$ O(n \ log n)$算法用于正方形平铺,以及一种涉及度更高的$ O(n ^ 4)$算法用于打包和平铺多米诺骨牌。表示多边形的一种简便方法是通过以二进制形式列出角的坐标。我们使用这种表示法,从而提出了解决问题的第一个多项式时间算法。具体来说,我们给出了一个简单的$ O(n \ log n)$算法用于正方形平铺,以及一种涉及度更高的$ O(n ^ 4)$算法用于打包和平铺多米诺骨牌。表示多边形的一种简便方法是通过以二进制形式列出角的坐标。我们使用这种表示法,从而提出了解决问题的第一个多项式时间算法。具体来说,我们给出了一个简单的$ O(n \ log n)$算法用于正方形平铺,以及一种涉及度更高的$ O(n ^ 4)$算法用于打包和平铺多米诺骨牌。
更新日期:2020-11-25
down
wechat
bug