Quickhull is an algorithm for computing the convex hull of points in a plane that performs well in practice, but has poor complexity on adversarial input. In this paper we show the same holds for the numerical stability of Quickhull.
论文ID : 2510.09431标题 : Quickhull is Usually Forward Stable作者 : Thomas Koopman, Sven-Bodo Scholz分类 : cs.CG (Computational Geometry)发表时间 : October 13, 2025论文链接 : https://arxiv.org/abs/2510.09431 Quickhull是一个用于计算平面点集凸包的算法,在实践中表现良好,但在对抗性输入上具有较差的复杂度。本文证明了Quickhull的数值稳定性也具有相同的特性。
本研究解决的核心问题是Quickhull算法的数值稳定性分析。虽然Quickhull在实践中表现优异,通常运行时间为O(|P| log |CH(P)|),但其最坏情况复杂度为O(|P|²)。
实际应用需求 :凸包计算是计算几何中的基础问题,广泛应用于计算机图形学、机器人学等领域数值精度问题 :在实际计算中,由于浮点数精度限制和测量误差,无法获得精确解,需要分析算法的数值稳定性理论空白 :虽然数值稳定性分析在数学中是成熟领域,但尚未应用于Quickhull算法已有的数值稳定性工作主要针对Graham Scan算法的变体 Fortune算法具有O(|P|ε)的前向误差界,但在实践中改进有限 缺乏对Quickhull这一实用算法的数值稳定性分析 误差度量定义 :为凸包问题定义了不准确性度量,并进行了相应的扰动分析理论误差界 :证明了Quickhull算法具有O(|P|²ε)的前向误差界,其中ε为机器精度概率分析 :提供了概率论证,表明在实践中误差界更可能按log(|CH(P)|)ε的比例增长算法改进 :提出了两种Quickhull变体,将最坏情况误差界降低到O(√|P| log(|P|)ε)或O((log |P|)²ε)输入 :平面上的有限点集P ⊆ ℝ²
输出 :按顺时针(或逆时针)顺序列出的凸包顶点
目标 :分析算法的数值稳定性,即计算解与真实解之间的误差界
算法基于两个几何观察:
如果p, q在凸包上,则距离直线pq最远的点r也在凸包上 三角形△prq内的任何点都不在凸包上 方向测试 :
orient(p, u, q) = (px - ux)·(qy - uy) - (py - uy)·(qx - ux)
距离比较 :为避免数值消除问题,将不等式重写为:
(qy - py)(ux - u'x) < (qx - px)(uy - u'y)
使用标准化Hausdorff距离:
其中M是输入点坐标的最大绝对值,使误差度量与单位无关。
扰动分析框架 :证明了凸包问题是良条件的,即dM(CH(P), CH(P̃)) ≤ dM(P, P̃)浮点运算误差分析 :
右转测试的误差界:距离pq不超过γ6M的点可能被错误分类 距离测试的误差界:错误比较的误差不超过γ6M 递归误差累积 :通过归纳法分析递归过程中误差的传播论文主要采用理论分析方法,辅以Monte Carlo模拟验证假设。
点集规模 :|P|从256到2²⁰参数k :从1到10(控制点间距离差异)采样次数 :300个样本,重复10次实验误差单位 :使用γ6作为误差单位测试了三种寻找最远点的算法:
Algorithm 4.2 :简单线性搜索,误差界O(nε)Algorithm 4.3 :分块搜索,误差界O((m + n/m)ε)Algorithm 4.4 :递归搜索,误差界O(log(n)ε)定理1 :Quickhull的前向误差界为2DF|P|,其中D是递归深度,F|P|是引理3的误差界。
具体误差界:
最坏情况 :O(|P|²ε)(当D = O(|P|)且使用简单搜索时)平衡情况 :O(√|P| log |P|ε)(使用分块搜索)最优情况 :O((log |P|)²ε)(使用递归搜索)假设1验证 :在随机排列下,Algorithm 4.2给出EF|P| ∈ O(ε)
实验结果显示:
EF|P| 在参数k和|P|上表现为常数 支持了随机情况下误差不会累积的假设 实际误差界约为O(log(|CH(P)|)ε) 条件依赖性 :最坏情况误差界只在对抗性输入下出现实用性分析 :当递归深度合理时(D ∈ O(log |P|)),误差界显著改善并行化优势 :并行实现自然对应Algorithm 4.3,实际上改善了误差界Graham Scan变体 :Fortune算法的前向误差界为O(|P|ε)Jaromczyk等人的算法 :后向稳定,误差界O(|P|ε)本文Quickhull :在合理假设下达到O(log(|CH(P)|)ε)Fortune (1989) :首次分析Graham Scan的数值稳定性Jaromczyk & Wasilkowski (1994) :提出后向稳定的凸包算法Li & Milenkovic (1990) :强凸包构造方法本文 :首次系统分析Quickhull的数值稳定性理论贡献 :建立了Quickhull算法的完整数值稳定性分析框架实用价值 :在合理输入下,Quickhull具有良好的数值稳定性算法改进 :提供了减少误差累积的具体方法假设依赖 :实际误差界依赖于随机排列假设(假设1)实现复杂性 :最优误差界的算法实现较为复杂后向稳定性缺失 :与Graham Scan变体不同,Quickhull不保证后向稳定假设1的严格证明 :需要更深入的理论分析三维扩展 :将分析扩展到三维凸包问题混合算法 :结合强凸包构造方法提高鲁棒性理论严谨性 :提供了完整的误差分析框架,从基础几何测试到整体算法实用导向 :不仅给出最坏情况分析,更关注实际应用中的性能方法创新 :引入标准化Hausdorff距离作为误差度量 巧妙避免了浮点运算中的数值消除问题 提供了多种算法变体以适应不同需求 分析深度 :从单个几何测试到递归算法的完整误差传播分析实验验证有限 :主要依赖理论分析,实际数据集上的验证不足假设依赖性 :关键的实用误差界依赖于未严格证明的随机假设比较不够全面 :与其他凸包算法的数值稳定性比较可以更深入学术价值 :填补了Quickhull数值稳定性分析的理论空白实用意义 :为实际应用中选择合适的凸包算法提供了理论依据方法论贡献 :提供的分析框架可扩展到其他几何算法高精度要求 :需要控制数值误差的几何计算应用大规模数据 :点集规模较大但凸包顶点相对较少的场景并行计算 :需要并行化实现的凸包计算任务引理1(右转测试) :如果rt(p,u,q)和r̂t(p,u,q)结果不一致,则d(u,pq) ≤ γ6M
引理2(距离测试) :如果f̂rt(p,q,u,u')错误,则0 ≤ d(u',pq) - d(u,pq) ≤ γ6M
引理3(归约算法) :三种算法的渐近误差界分别为O(nε)、O((m+n/m)ε)、O(log(n)ε)
通过构造扰动点集P̃,使得:
错误分类的点被适当移动 保持dM(P̃,P) ≤ F|P|的界 利用凸包问题的良条件性传播误差 本论文为Quickhull算法的数值稳定性提供了首个系统性的理论分析,在理论严谨性和实用价值之间取得了良好平衡。虽然某些结论依赖于概率假设,但整体分析框架具有重要的学术价值和实用意义。