Stellen Sie sich ein Problem vor, bei dem Sie ein 2D-Raster (z. B. ein Schachbrett) erhalten, in dem bestimmte Quadrate belegt sind, und Sie müssen die Mindestanzahl nicht überlappender Rechtecke beliebiger Größe wxh mit w = 1 oder h = 1 (dh "Quadrat" angeben Segmente ") so, dass alle nicht besetzten Quadrate bedeckt sind und jedes Rechteck nur unbesetzte Quadrate bedeckt.
Zum Beispiel für das Raster
..###
.....
..###
.#...
Die Lösung wäre 4, da Sie alle nicht besetzten Quadrate (mit '.' bezeichnet) mit 4 solchen Rechtecken wie folgt abdecken können:
12###
12333
12###
1#444
Ich habe versucht, einen Polynomalgorithmus zu entwickeln oder zu beweisen, dass dieses Problem NP-schwer ist, aber ohne Erfolg. Kann mir jemand helfen, zu beweisen / zu widerlegen, dass dieses Problem in P liegt, oder mich auf verwandte Arbeiten / Probleme hinweisen?
Antworten:
Ok, Sie haben also ein Polygon mit ganzzahligen, achsparallelen Seiten und möglicherweise mit Löchern (die Form, die Sie abdecken möchten) und möchten es in so wenige 1 × a- oder b × 1- Rechtecke wie möglich unterteilen. Zuerst dachte ich, Sie wollten die minimale Partition in Rechtecke beliebiger Formen, die eine bekannte Polynomzeitlösung aufweist, die eine Reduktion auf maximale unabhängige Mengen in zweigeteilten Graphen beinhaltet. Aber ich denke, dieses ist auch polynomisch, durch eine andere Reduktion auf das gleiche Problem.P. 1 × a b × 1
quelle