For a set $\mathcal{D}$ of disks in the plane, its disk graph $G(\mathcal{D})$ is the graph with vertex set $\mathcal{D}$, where two vertices are adjacent if and only if the corresponding disks intersect. Given a set $\mathcal{D}$ of $n$ weighted disks, computing a maximum independent set of $G(\mathcal{D})$ is NP-hard. In this paper, we present an $O(n^3\log n)$-time algorithm for this problem in a special setting in which the disks are in convex position, meaning that every disk appears on the convex hull of $\mathcal{D}$. This setting has been studied previously for disks of equal radius, for which an $O(n^{37/11})$-time algorithm was known. Our algorithm also works in the weighted case where disks have weights and the goal is to compute a maximum-weight independent set. As an application of our result, we obtain an $O(n^3\log^2 n)$-time algorithm for the dispersion problem on a set of $n$ disks in convex position: given an integer $k$, compute a subset of $k$ disks that maximizes the minimum pairwise distance among all disks in the subset.
翻译:对于平面上一组圆盘 $\mathcal{D}$,其圆盘图 $G(\mathcal{D})$ 是一个以 $\mathcal{D}$ 为顶点集的图,当且仅当两个对应圆盘相交时,对应顶点之间存在边。给定一组 $n$ 个带权圆盘 $\mathcal{D}$,计算 $G(\mathcal{D})$ 的最大独立集是 NP 难问题。本文针对圆盘处于凸位置(即每个圆盘均出现在 $\mathcal{D}$ 的凸包上)这一特殊情形,提出了一种 $O(n^3\log n)$ 时间复杂度的算法。该情形此前仅在等半径圆盘中得到研究,已知算法的时间复杂度为 $O(n^{37/11})$。本文算法同样适用于带权情形,其中圆盘具有权重,目标为计算最大权重独立集。作为本结果的应用,我们针对凸位置中 $n$ 个圆盘的分散问题,给出了一种 $O(n^3\log^2 n)$ 时间复杂度的算法:给定整数 $k$,计算一个包含 $k$ 个圆盘的子集,使得该子集中所有圆盘之间的最小成对距离最大化。