将矩形打包成凸多边形,但不旋转


23

我对将(2维)矩形的相同副本包装到凸(2维)多边形而不重叠的问题感兴趣。在我的问题中,您不允许旋转矩形,并且可以假定它们与轴平行。仅给出了矩形的尺寸和多边形的顶点,并询问了可以将多少个相同的矩形副本包装到多边形中。如果您允许旋转矩形,我相信这个问题是NP难题的。但是,如果不能知道该怎么办?如果凸多边形仅仅是一个三角形怎么办?如果问题确实是NP难题,是否有已知的近似算法?

到目前为止的摘要(2011年3月21日)。彼得·索尔(Peter Shor)观察到,我们可以将此问题视为凸多边形中的一个打包单位正方形,而如果对要打包的正方形/矩形的个数施加多项式界,则该问题就在NP中。Sariel Har-Peled指出了针对同一多项式有界情况的PTAS。但是,通常,打包的平方数在输入的大小上可能是指数的,该输入仅由可能的简短整数对列表组成。以下问题似乎尚未解决。

NP中的完整无界版本吗?有无限制版本的PTAS吗?P或NPC是多项式有界情况吗?我个人最喜欢的,如果仅将单位正方形包装成三角形,是否会更容易解决问题?


用1x3矩形打包是NP完整的(带有旋转),并且我想如果我们不允许旋转,则变得很容易。您找到每行(或每一列)的最大矩形数,并将其相加以获得打包矩形的总最大数。
Mohammad Al-Turkistany

我不确定将尺寸固定为1x3(或其他任何尺寸)对我的问题有很大帮助吗?凸多边形不一定具有平行于轴的任何边,并且您仍然需要确定放置矩形的位置。您可以先将它们放置在y轴上的最低位置,然后将其作为合理的试探法左对齐,但是您可以很轻松地构造不是最佳的示例。
拉斐尔

9
您可以应用仿射变换使所有矩形成为。因此,问题等同于包装正方形。1个×1个
彼得·索尔

1
@turkistany:您能给我参考一下显示1x3矩形的NP完整性吗?还是容易观察?
冈本

3
通过基于Peter Shor的观察进行搜索,出现了maven.smith.edu/~orourke/TOPP/P56.html,这很有趣。但是,它似乎专注于一般的简单多边形(即它们可以是凹面的)。
拉斐尔

Answers:


12

这个问题可以改写为拾取点的最大数量的凸多边形内部,使得每对他们的是在距离(下至少公制)1彼此(只是想的平方的中心) 。这又与使用常规欧几里得距离的同一问题有关。反过来,这与网格划分有关,在网格划分中,有兴趣将多边形划分为行为良好的区域(即,您可以获取中心的Voronoi图[请参见质心Voronoi镶嵌])。大号1个

无论如何,逼近是很容易的。你随机滑动sidelength的栅格Ô 1 / ε 。将多边形剪切到网格中,并使用蛮力解决多边形与网格的每个相交内部的问题。与运行时间的算法ø 中号* Ñ ö 小号È ε 应该很容易跟随,其中中号是点(即,矩形)的数量,和Ñ ö 小号È ε 1个-ϵØ1个/ϵØ中号ñØ一世sËϵ中号ñØ一世sËϵ是一些仅取决于可怕功能。ϵ


谢谢。我是否正确地认为,即使在矩形/正方形数量上有多项式约束的情况下,仍然不清楚问题是否出在P上?
拉斐尔

1
这是我2美分的猜测/推测...如果它在P中,将令人惊讶-您将需要显示最优解的一些额外属性。但是,我的猜测是无法获得NP硬度的正式证明-问题太多了。费德(Feder)和格林(Greene)表明,k中心聚类是NP难于在一定因子内近似的。我认为/推测,如果多边形有孔,则可以用他们的证明来证明上述问题是NP-Hard ...
Sariel Har-Peled

2

这两篇论文解决了您的问题:

EG Birgin和RD Lobato,“ 各向同性凸区域内相同矩形的正交堆积 ”,计算机与工业工程59,第595-602页,2010年。 

EG Birgin,JMMartínez,FH Nishihara和DP Ronconi,“ 通过非线性优化对任意凸区域内的矩形项目进行正交包装 ”,计算机与运筹学33,第3535-3548页,2006年。

 


这些论文着眼于解决实际问题。据我所知,问题是询问该问题是否已知为NP难题。
安德拉斯·萨拉蒙

3
显示它在NP中相当容易。假设我给您一个最佳包装图,告诉您哪些正方形正在接触多边形的哪些边,哪些正方形在其他正方形的上方/下方/左侧/右侧。是否可以找到以这种方式打包的一组正方形的坐标是一个线性程序,因此您可以验证这是一个可行打包的图。
Peter Shor

4
如果多边形的所有顶点都是整数(或有理数),则线性程序的标准结果表明,您只需要多项式的额外精度即可,并且线性程序可以在多项式时间内精确求解。抱歉,如果您已经知道这一点,但是我不能从上面的评论中看出来-即使您知道,有些人也不会。
Peter Shor

2
谢谢。我确实知道一次,但是很高兴被提醒。看来您在多边形中可以装满指数级的正方形,所以我不确定您是否可以负担得起全部列出的正方形。也许可以采取一些措施来解决这个问题?
拉斐尔

3
@Rafael:我假设(没有理由)您对平方数有一个多项式界。如果允许使用指数大小的多边形,事情将变得更加棘手。
Peter Shor

1

彼得·索尔(Peter Shor)观察到,通过重新缩放比例,此问题变成了将单位正方形包装成凸多边形。

编辑:此答案的其余部分不适用,因为它放弃了明确规定的要求,即要包装的形状均具有相同的尺寸。


正交包装问题的特殊情况的相关问题NP-硬性提到了一篇论文,其中包含第一个问题所需的结果:

  • 将正方形打包成正方形,约瑟夫·扬特。Leung,Tommy W. Tam,CS Wong,Gilbert H. Young和Francis YL Chin,《并行与分布式计算杂志》10 271–275。(链接

从本文:

我们通过减少3分问题来证明平方堆积问题是完全NP完全的。

因此,即使对于要打包的矩形容器相似的特殊情况,问题也很难解决。(与本文的作者不同,我并不完全相信问题出在NP,因为可能必须以很高的精度指定位置,这可能导致验证不再是输入大小的多项式。 )


5
从图中看,从图中可以看出,要包装的正方形的大小并不均等。
彼得·索尔

1
@Peter:没错,本文并不暗示有关拉斐尔的问题。
安德拉斯·萨拉蒙(AndrásSalamon)

0

也许您可能会对本文感兴趣:

在FOCS 92中,由Kenyon&Kenyon制作的矩形矩形平铺


谢谢。但是,如果我理解正确,则平铺会完全覆盖多边形。就我而言,这几乎是不可能的(考虑在任意方向上的任意三角形),这似乎使我的优化问题从根本上有所不同。
拉斐尔

的确,这是不一样的问题,我的错。
Sylvain Peyronnet 2011年

0

如果要打包到的多边形不一定是凸的,那么我认为问题就变成了NP难题。这是一个非常粗略的证明。减少是由于某些Planar-3-SAT型问题。对于每个变量,您可以放置​​1.1 x 1的位置,这取决于在该区域中放置一个正方形的位置,将确定变量是否为true或false。同样,如果您向左/向右离开.1区域,那么您可以在里面再移动两个其他正方形,也可以在它们后面移动另外两个正方形,最终在其他地方再提供一个.1可用空间,这些空间现在一起影响四个正方形,依此类推。在获得与各个文字的数量一样多的副本之后,请将这些管连接到各个子句组件,然后再次使用一些类似的小工具来确保三个传入管中至少有一个必须有.1额外的空间。


1
这听起来很合理。请注意,拉斐尔(Raphaël)在注释maven.smith.edu/~orourke/TOPP/P56.html中提供了一个链接,该链接指向实际缩小的论文。
安德拉斯·萨拉蒙

哦,我没有注意到,谢谢。
domotorp 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.