Efficient Exact Algorithms for Minimum Covering of Orthogonal Polygons with Squares
Abstract
Let be an orthogonal polygon of vertices, without holes. The Orthogonal Polygon Covering with Squares (OPCS) problem takes as input such an orthogonal polygon with integral vertex coordinates, and asks to find the minimum number of axis-parallel squares whose union is itself. [Aupperle et. al, 1988] provide an -time algorithm for OPCS, where is the number of integral lattice points lying in . In their paper, designing algorithms for OPCS with a running time polynomial in , was stated as an open question; can be arbitrarily larger than . Output sensitive algorithms were known due to [Bar-Yehuda and Ben-Chanoch, 1994], but these fail to address the open question, as the output can be arbitrarily larger than . We address this open question by designing a polynomial-time exact algorithm for OPCS with a worst-case running time of . We also consider the following structural parameterized version of the problem. Let a knob be a polygon edge whose both endpoints are convex polygon vertices. Given an input orthogonal polygon without holes that has vertices and at most knobs, we design an algorithm for OPCS with a worst-case running time . This algorithm is more efficient than the former, whenever . The problem of Orthogonal Polygon with Holes Covering with Squares (OPCSH) is also studied by [Aupperle et. al, 1988], where the input polygon could have holes. They claim a proof that OPCSH is NP-complete even when the input is the lattice points inside the polygon. We think there is an error in their proof, where an incorrect reduction from Planar 3-CNF is shown. We provide a correct reduction with a novel construction of one of the gadgets, and show how this leads to a correct proof of NP-completeness of OPCSH.
Cite
@article{arxiv.2407.02658,
title = {Efficient Exact Algorithms for Minimum Covering of Orthogonal Polygons with Squares},
author = {Anubhav Dhar and Subham Ghosh and Sudeshna Kolay},
journal= {arXiv preprint arXiv:2407.02658},
year = {2024}
}