La ronde de test Google Hash Code 2015 ( énoncé du problème ) a posé une question sur le problème suivant:
- entrée: une grille avec quelques carrés marqués, un seuil , une aire maximaleT ∈ N A ∈ N
- sortie: la plus grande surface totale possible d'un ensemble de rectangles disjoints avec des coordonnées entières dans de telle sorte que chaque rectangle comprend au moins carrés marqués et chaque rectangle a une aire au plus .T A
Dans la terminologie de Google, la grille est une pizza, les carrés marqués sont du jambon et les rectangles disjoints sont des tranches.
On peut clairement reformuler ce problème en problème de décision en ajoutant une entrée supplémentaire et laisser la réponse être "existe-t-il un ensemble de rectangles disjoints satisfaisant les conditions dont l'aire totale est au moins carrés". n
Ma question: alors que le problème de Google demandait aux candidats de trouver une solution "aussi bonne que possible" pour le problème de calcul sur une instance spécifique, je pense qu'il est probable que le problème général (dans sa formulation de décision) soit NP-complet. Cependant, je ne trouve pas de réduction pour montrer la dureté NP. (L'adhésion à NP est immédiate.) Comment prouver que ce problème est difficile à NP?
Voici quelques exemples pour vous aider à visualiser le problème. Considérez la grille par , avec des carrés marqués , et , représenté graphiquement par pour indiquer les carrés marqués:4 { 0 , 1 , 2 , 3 } × { 0 , 1 , 2 , 3 } ( 1 , 1 ) ( 0 , 2 ) ( 2 , 2 )X
..X.
.X..
..X.
....
Ensemble (rectangles d'au plus carrés) et (au moins un carré marqué par rectangle), une solution optimale (qui couvre toute la grille) est de prendre les rectangles suivants:6 T = 1
aaAa
bBcc
bbCc
bbcc
Sur la grille suivante, avec et :T = 2
XXX
.X.
...
On ne peut faire mieux que de ne couvrir que trois carrés:
AAA
.X.
...
ou
XBX
.B.
.b.
(rappelez-vous que les rectangles de la partition ne peuvent pas se chevaucher).
Avec d'autres personnes qui se sont penchées sur cette question, nous avons essayé de réduire les emballages de bacs, de couvrir les problèmes, les cycles 3-SAT et hamiltoniens, et nous n'avons pas réussi à en faire fonctionner un.