In der Testrunde zum Google Hash Code 2015 ( Problemstellung ) wurde nach folgendem Problem gefragt:
- Eingabe: ein Gitter mit einigen markierten Quadraten, eine Schwelle T ∈ N , eine maximale Fläche A ∈ N.
- Ausgabe: Die größtmögliche Gesamtfläche eines Satzes disjunkter Rechtecke mit ganzzahligen Koordinaten in so dass jedes Rechteck mindestens T markierte Quadrate enthält und jedes Rechteck höchstens A Fläche hat .
In der Terminologie von Google ist das Raster eine Pizza, die markierten Quadrate sind Schinken und die disjunkten Rechtecke sind Scheiben.
Wir können dieses Problem eindeutig in ein Entscheidungsproblem umformulieren, indem wir eine zusätzliche Eingabe hinzufügen und die Antwort lauten: " Gibt es eine Menge disjunkter Rechtecke, die die Bedingungen erfüllen, deren Gesamtfläche mindestens n Quadrate beträgt ?".
Meine Frage: Während das Google-Problem die Kandidaten gebeten hat, eine Lösung zu finden, die "so gut wie möglich" für das Berechnungsproblem in einer bestimmten Instanz ist, halte ich es für wahrscheinlich, dass das allgemeine Problem (in seiner Entscheidungsformulierung) NP-vollständig ist. Ich kann jedoch keine Reduktion finden, um die NP-Härte zu zeigen. (Die NP-Mitgliedschaft erfolgt sofort.) Wie kann man beweisen, dass dieses Problem NP-schwer ist?
Es folgen einige Beispiele, um das Problem zu veranschaulichen. Betrachten wir das von 4 grid { 0 , 1 , 2 , 3 } × { 0 , 1 , 2 , 3 } , mit markierten Plätzen , ( 0 , 2 ) und ( 2 , 2 ) , graphisch dargestellt mit um markierte Quadrate anzuzeigen:X
..X.
.X..
..X.
....
Setzen Sie (Rechtecke mit höchstens 6 Quadraten) und T = 1 (mindestens ein markiertes Quadrat pro Rechteck). Eine optimale Lösung (die das gesamte Raster abdeckt) besteht darin, die folgenden Rechtecke zu verwenden:
aaAa
bBcc
bbCc
bbcc
Im folgenden Raster mit und T = 2 :
XXX
.X.
...
Man kann es nicht besser machen, als nur drei Quadrate abzudecken:
AAA
.X.
...
oder
XBX
.B.
.b.
(Denken Sie daran, dass sich Rechtecke in der Partition nicht überlappen können.)
Mit anderen Leuten, die sich mit dieser Frage befassten, versuchten wir, die Verpackung von Behältern zu reduzieren, um Probleme, 3-SAT- und Hamilton-Zyklen abzudecken, und es gelang uns nicht, einen zum Laufen zu bringen.