用矩形块覆盖的NP硬度(Google哈希代码2015年测试回合)


11

Google Hash Code 2015测试回合(问题说明)询问了以下问题:

  • 输入:具有一些标记正方形的网格,阈值,最大面积Ť ÑÑMTNAN
  • 输出:一组整数(以为单位)的不相交矩形的最大可能总面积,以使每个矩形至少包含标记的正方形,每个矩形最多具有面积。Ť MTA

用Google的术语来说,网格是比萨饼,标记的正方形是火腿,不相交的矩形是切片。

通过添加一个额外的输入我们可以清楚地将这个问题改写为决策问题,并将答案设为“是否存在满足总面积至少为正方形的条件的一组不相交的矩形”。 ÑnNn

我的问题是:虽然Google问题要求应聘者为特定情况下的计算问题找到“尽可能好的”解决方案,但我认为一般问题(在其决策措词中)很可能是NP完全的。但是,我找不到显示NP硬度的减少量。(NP成员身份是即时的。)如何证明此问题对NP不利?

下面是一些示例,以帮助可视化问题。考虑 x网格,带有标记的正方形,和,以图形方式表示以指示标记的正方形:4 { 0 1 2 3 } × { 0 1 2 3 } 1 1 0 2 2 2 44{0,1,2,3}×{0,1,2,3}(1,1)(0,2)(2,2)X

..X.
.X..
..X.
....

设置(矩形最多正方形)和(每个矩形至少一个标记的正方形),最佳解决方案(覆盖整个网格)是采用以下矩形:6 T = 1A=66T=1

aaAa
bBcc
bbCc
bbcc

在以下网格上,且:T = 2A=3T=2

XXX
.X.
...

没有比只覆盖三个正方形更好的了:

AAA
.X.
...

要么

XBX
.B.
.b.

(请记住分区中的矩形不能重叠)。

在其他人看着这个问题的情况下,我们尝试了减少装箱量,减少问题,3-SAT和哈密顿量的方法,但我们没有设法使它起作用。

Answers:


10

这是从MONOTONE CUBIC PLANAR 1-3 SAT减少的草图:

定义[1-3 SAT问题]:
输入: 3-CNF公式,其中每个子句都包含三个文字:。问题:是否存在令人满意的赋值,以便每个子句包含一个真正的文字。Ç Ĵ Ç Ĵ = Ĵ 1Ĵ 2Ĵ 3φ Ç Ĵφ=C1C2...CmCjCj=(j,1j,2j,3)
φCj

即使子句中的所有文字都是正数(MONOTONE),问题仍然存在于NP完全问题上,即使图形构建的带有变量的连接子句是平面的(PLANAR)并且每个变量都恰好包含在3个子句中(CUBIC)(C。Moore和JM Robson,《简单瓷砖的平铺问题》,Discrete Comput。Geom。26(2001),573-590。)。

我们使用,图中的火腿用蓝色框表示(转基因火腿?),比萨饼用橙色框表示。T=3,A=6

想法是使用带有正负信号的火腿轨迹。轨道是用交替放置的1块和2块火腿交替制成的,这样火腿可以被一片面积为的比萨饼完全覆盖; 轨道的片段用或交替标记,如果在正片段上剪切切片,轨道将携带一个正信号:+ A+

在此处输入图片说明

每个变量都与3个SAT子句精确连接,由三个火腿轨迹(正段)的三个相邻端点表示,这样有两种截然不同的方式将其剪切,一个将“生成”正信号在所有3条轨道上(代表分配),另一个为负信号()。请注意,我们还可以生成正负混合信号,但是在这种情况下,至少有一个火腿没有被发现x i = T R U E x i = F A L S Exixi=TRUExi=FALSE

在此处输入图片说明

具有3个文字的1-3 SAT公式中的每个子句都简单地由单个火腿表示,具有三个不同火腿轨迹的三个传入正段; 通过构造携带正信号的三个轨迹中只有一个可以“覆盖”火腿条。L i 1L i 2L i 3Cj大号一世1个大号一世2大号一世3

在此处输入图片说明

最后,我们可以构建shift和turn小工具,以根据基础平面图传输信号并调整端点:

在此处输入图片说明

假设结果图包含 hams。通过构造,每片比萨饼必须恰好包含3火腿,并且在所有情况下,每片比萨饼都可以放大到区域。H一种

如果可以满足原始的1-3 SAT公式,则可以通过构造将的披萨切成小块(总面积为),并且不会发现火腿。A H / 3H/3一种H/3

在相反的方向上,如果我们可以切块披萨(总面积),那么就不会发现火腿,并且变量小工具和子句上的信号是一致的:子句上的火腿已被覆盖通过一个正片来自一个正变量,每个变量产生3个正信号或3个负信号(无混合信号);因此削减会导致有效的1-3 SAT分配。A H / 3H/3一种H/3

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.