Il Round di prova di Google Hash Code 2015 ( dichiarazione del problema ) ha chiesto il seguente problema:
- input: una griglia con alcuni quadrati contrassegnati, una soglia , un'area massimaT ∈ N A ∈ N
- uscita: la più estesa possibile di una serie di rettangoli disgiunti con coordinate intere in tale che ciascun rettangolo include almeno caselle marcate e ogni rettangolo ha superficie al massimo .T A
Nella terminologia di Google, la griglia è una pizza, i quadrati contrassegnati sono prosciutto e i rettangoli disgiunti sono fette.
Possiamo chiaramente riformulare questo problema a un problema decisionale aggiungendo un ulteriore input e lasciare che la risposta sia "c'è un insieme di rettangoli disgiunti che soddisfano le condizioni la cui area totale è almeno quadrati". n
La mia domanda: mentre il problema di Google ha chiesto ai candidati di trovare una soluzione "il più buona possibile" per il problema di calcolo in una specifica istanza, penso che sia probabile che il problema generale (nella sua formulazione delle decisioni) sia NP-completo. Tuttavia, non riesco a trovare una riduzione per mostrare la durezza NP. (L'appartenenza a NP è immediata.) Come dimostrare che questo problema è NP-difficile?
Seguono alcuni esempi per aiutare a visualizzare il problema. Considera la griglia per , con i quadrati contrassegnati , e , rappresentato graficamente con per indicare i quadrati contrassegnati:4 { 0 , 1 , 2 , 3 } × { 0 , 1 , 2 , 3 } ( 1 , 1 ) ( 0 , 2 ) ( 2 , 2 )X
..X.
.X..
..X.
....
Impostare (rettangoli di massimo quadrati) e (almeno un quadrato contrassegnato per rettangolo), una soluzione ottimale (che copre l'intera griglia) è quella di prendere i seguenti rettangoli:6 T = 1
aaAa
bBcc
bbCc
bbcc
Sulla griglia seguente, con e :T = 2
XXX
.X.
...
Non si può fare di meglio che coprire solo tre quadrati:
AAA
.X.
...
o
XBX
.B.
.b.
(ricorda che i rettangoli nella partizione non possono sovrapporsi).
Con altre persone che hanno esaminato questa domanda, abbiamo provato a ridurre l'imballaggio del bidone, coprendo i problemi, i cicli 3-SAT e Hamiltoniani e non siamo riusciti a farlo funzionare.