具有对数性能保证的最小凸覆盖近似算法
1. 引言与问题定义
最小凸覆盖问题是指用最少数量(可能重叠)的凸多边形覆盖给定多边形 $T$,且这些凸多边形需位于 $T$ 内。该问题属于经典艺术画廊问题家族,已知对于有洞和无洞的输入多边形,它都是 NP 难问题。
以往对困难艺术画廊问题近似算法的研究,很少能得到好的算法或下界。本文提出了首个非平凡的最小凸覆盖近似算法,该算法适用于有洞和无洞的多边形。算法依赖于连续的原始问题版本和特定离散版本之间的紧密关系,在离散版本中,所有相关点被限制在一种称为准网格的网格上,准网格是连接输入多边形任意两个顶点的所有直线的交点集合。
在受限最小凸覆盖问题中,覆盖输入多边形的凸多边形的顶点只能位于准网格上。研究证明,受限最小凸覆盖问题的最优解所需的凸多边形数量最多是最小凸覆盖问题最优解的三倍。为找到受限最小凸覆盖问题的最优解,采用贪心策略:逐个计算解中的凸多边形,选择下一个凸多边形时,使其覆盖在更细准网格上定义的、尚未被先前选择的凸多边形覆盖的三角形数量最多。通过动态规划算法来寻找这样的最大凸多边形。
将覆盖三角形的问题解释为一般最小集合覆盖问题的特殊情况,从而将最小集合覆盖问题的对数近似质量转化到最小凸覆盖问题上。此外,还证明了最小凸覆盖问题是 APX 难的,即存在一个常数 $\delta > 0$,使得任何多项式时间算法都无法达到 $1 + \delta$ 的近似比。
2. 从连续到离散
考虑有洞和无洞的简单输入多边形,多边形 $T$ 以平面上的顶点有序列表形式给出。若 $T$ 有洞,每个洞也以顶点有序列表形式给出。用 $V_T$ 表示给定多边形 $T$ 的顶点集(包括洞的顶点,若有