数字凸性检验的有效算法
Efficient Algorithms to Test Digital Convexity
摘要:
一个集合$S \subset \mathbb{Z}^d$是数字凸的,如果$conv(S) \cap \mathbb{Z}^d = S$,其中$conv(S)$表示$S$的凸包。本文研究了判定给定的$n$格点集$S$是否为数字凸的算法问题。虽然凸包计算需要$Ω(n \log n)$时间,即使是维度$d = 2$,我们提供了一个算法来测试数字凸性的$S\subset \mathbb{Z}^2$在$O(n + h \log r)$时间,其中$h$是边缘的凸包和$r$是直径的$S$的数量。这个主要结果是通过证明如果$S$是数字凸的,那么著名的quickhull算法在线性时间内计算$S$的凸包而得到的。在固定维$d$中,我们提出了第一个多项式算法来检验数字凸性,以及一个更简单实用的算法,其运行时间在$n$中对于某些输入可能不是多项式。
英文摘要:
A set $S \subset \mathbb{Z}^d$ is digital convex if $conv(S) \cap \mathbb{Z}^d = S$, where $conv(S)$ denotes the convex hull of $S$. In this paper, we consider the algorithmic problem of testing whether a given set $S$ of $n$ lattice points is digital convex. Although convex hull computation requires $Ω(n \log n)$ time even for dimension $d = 2$, we provide an algorithm for testing the digital convexity of $S\subset \mathbb{Z}^2$ in $O(n + h \log r)$ time, where $h$ is the number of edges of the convex hull and $r$ is the diameter of $S$. This main result is obtained by proving that if $S$ is digital convex, then the well-known quickhull algorithm computes the convex hull of $S$ in linear time. In fixed dimension $d$, we present the first polynomial algorithm to test digital convexity, as well as a simpler and more practical algorithm whose running time may not be polynomial in $n$ for certain inputs.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。