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.
Quickhull es un algoritmo para calcular la envoltura convexa de un conjunto de puntos en el plano que presenta un buen desempeño en la práctica, pero tiene una complejidad deficiente en entradas adversariales. Este artículo demuestra que la estabilidad numérica de Quickhull presenta la misma característica.
El problema central abordado en esta investigación es el análisis de la estabilidad numérica del algoritmo Quickhull. Aunque Quickhull presenta un desempeño excelente en la práctica, con tiempo de ejecución típicamente O(|P| log |CH(P)|), su complejidad en el peor caso es O(|P|²).
Necesidades de Aplicación Práctica: El cálculo de la envoltura convexa es un problema fundamental en geometría computacional, ampliamente aplicado en gráficos por computadora, robótica y otros campos
Problemas de Precisión Numérica: En cálculos reales, debido a las limitaciones de precisión de números de punto flotante y errores de medición, no es posible obtener soluciones exactas, siendo necesario analizar la estabilidad numérica del algoritmo
Vacío Teórico: Aunque el análisis de estabilidad numérica es un campo maduro en matemáticas, aún no se ha aplicado sistemáticamente al algoritmo Quickhull
Definición de Métricas de Error: Se define una métrica de inexactitud para el problema de envoltura convexa y se realiza un análisis de perturbación correspondiente
Cotas de Error Teóricas: Se demuestra que el algoritmo Quickhull tiene una cota de error hacia adelante de O(|P|²ε), donde ε es la precisión de máquina
Análisis Probabilístico: Se proporciona un argumento probabilístico que sugiere que en la práctica la cota de error probablemente crece en proporción a log(|CH(P)|)ε
Mejoras de Algoritmo: Se proponen dos variantes de Quickhull que reducen la cota de error en el peor caso a O(√|P| log(|P|)ε) u O((log |P|)²ε)
Entrada: Un conjunto finito de puntos P ⊆ ℝ²
Salida: Los vértices de la envoltura convexa listados en orden horario (o antihorario)
Objetivo: Analizar la estabilidad numérica del algoritmo, es decir, la cota de error entre la solución calculada y la solución verdadera
Mediante la construcción de un conjunto de puntos perturbado P̃, se asegura que:
Los puntos clasificados incorrectamente se desplazan apropiadamente
Se mantiene la cota dM(P̃,P) ≤ F|P|
Se aprovecha el buen condicionamiento del problema de envoltura convexa para propagar errores
Este artículo proporciona el primer análisis teórico sistemático de la estabilidad numérica del algoritmo Quickhull, logrando un buen equilibrio entre rigor teórico y valor práctico. Aunque algunas conclusiones dependen de suposiciones probabilísticas, el marco de análisis general tiene un valor académico e importancia práctica significativos.