Google Hash Code 2015测试回合(问题说明)询问了以下问题:
- 输入:具有一些标记正方形的网格,阈值,最大面积Ť ∈ Ñ甲∈ Ñ
- 输出:一组整数(以为单位)的不相交矩形的最大可能总面积,以使每个矩形至少包含标记的正方形,每个矩形最多具有面积。Ť 一
用Google的术语来说,网格是比萨饼,标记的正方形是火腿,不相交的矩形是切片。
通过添加一个额外的输入我们可以清楚地将这个问题改写为决策问题,并将答案设为“是否存在满足总面积至少为正方形的条件的一组不相交的矩形”。 Ñ
我的问题是:虽然Google问题要求应聘者为特定情况下的计算问题找到“尽可能好的”解决方案,但我认为一般问题(在其决策措词中)很可能是NP完全的。但是,我找不到显示NP硬度的减少量。(NP成员身份是即时的。)如何证明此问题对NP不利?
下面是一些示例,以帮助可视化问题。考虑 x网格,带有标记的正方形,和,以图形方式表示以指示标记的正方形:4 { 0 ,1 ,2 ,3 } × { 0 ,1 ,2 ,3 } (1 ,1 )(0 ,2 )(2 ,2 )X
..X.
.X..
..X.
....
设置(矩形最多正方形)和(每个矩形至少一个标记的正方形),最佳解决方案(覆盖整个网格)是采用以下矩形:6 T = 1
aaAa
bBcc
bbCc
bbcc
在以下网格上,且:T = 2
XXX
.X.
...
没有比只覆盖三个正方形更好的了:
AAA
.X.
...
要么
XBX
.B.
.b.
(请记住分区中的矩形不能重叠)。
在其他人看着这个问题的情况下,我们尝试了减少装箱量,减少问题,3-SAT和哈密顿量的方法,但我们没有设法使它起作用。