A Rodada de Teste do Google Hash Code 2015 ( declaração do problema ) perguntou sobre o seguinte problema:
- entrada: uma grade com alguns quadrados marcados, um limiar T ∈ N , uma área máxima A ∈ N
- produção: a maior área possível total de um conjunto de rectângulos disjuntos com coordenadas de número inteiro em de modo que cada rectângulo inclui, pelo menos, t quadrados marcados e cada rectângulo tem área de, no máximo, um .
Na terminologia do Google, a grade é uma pizza, os quadrados marcados são presunto e os retângulos separados são fatias.
Podemos reformular claramente esse problema para um problema de decisão adicionando uma entrada adicional e deixe a resposta ser "existe um conjunto de retângulos disjuntos que satisfazem as condições cuja área total é de pelo menos n quadrados".
Minha pergunta: embora o problema do Google tenha solicitado aos candidatos que encontrassem uma solução "o melhor possível" para o problema de computação em uma instância específica, acho que é provável que o problema geral (em sua formulação de decisão) seja NP-completo. No entanto, não consigo encontrar uma redução para mostrar a dureza NP. (A associação ao NP é imediata.) Como provar que esse problema é difícil ao NP?
X
..X.
.X..
..X.
....
aaAa
bBcc
bbCc
bbcc
XXX
.X.
...
Não se pode fazer melhor do que cobrir apenas três quadrados:
AAA
.X.
...
ou
XBX
.B.
.b.
(lembre-se de que os retângulos na partição não podem se sobrepor).
Com outras pessoas analisando essa questão, tentamos reduções no empacotamento de caixas, cobrindo problemas, ciclos 3-SAT e Hamiltoniano, e não conseguimos fazer com que uma funcionasse.