En matemáticas , dado un conjunto no vacío de objetos de extensión finita en un espacio de dimensión 1 , por ejemplo un conjunto de puntos, una esfera delimitadora , una esfera envolvente o una bola envolvente , ese conjunto es una esfera sólida de dimensión 1 que contiene todos estos objetos.
Una esfera delimitadora, que se utiliza en gráficos por ordenador y geometría computacional , es un tipo especial de volumen delimitador . Existen varios algoritmos de construcción de esferas delimitadoras rápidos y simples con un alto valor práctico en aplicaciones de gráficos por ordenador en tiempo real. [1]
En estadística e investigación de operaciones , los objetos son típicamente puntos y, generalmente, la esfera de interés es la esfera mínima delimitadora , es decir, la esfera con el radio mínimo entre todas las esferas delimitadoras. Se puede demostrar que dicha esfera es única: si hay dos, entonces los objetos en cuestión se encuentran dentro de su intersección. Pero una intersección de dos esferas no coincidentes de igual radio está contenida en una esfera de radio menor.
El problema de calcular el centro de una esfera delimitante mínima también se conoce como " problema euclidiano de 1 centro no ponderado ".
Estas esferas son útiles en la agrupación , donde grupos de puntos de datos similares se clasifican juntos.
En el análisis estadístico, la dispersión de los puntos de datos dentro de una esfera puede atribuirse a un error de medición o a procesos naturales (normalmente térmicos), en cuyo caso el grupo representa una perturbación de un punto ideal. En algunas circunstancias, este punto ideal puede utilizarse como sustituto de los puntos del grupo, lo que resulta ventajoso para reducir el tiempo de cálculo.
En la investigación de operaciones, la agrupación de valores en un punto ideal también se puede utilizar para reducir el número de entradas con el fin de obtener valores aproximados para problemas NP-hard en un tiempo razonable. El punto elegido no suele ser el centro de la esfera, ya que este puede verse sesgado por valores atípicos, sino que se calcula algún tipo de ubicación promedio, como un punto de mínimos cuadrados, para representar la agrupación.
Existen algoritmos exactos y aproximados para la solución del problema de la esfera delimitadora.
Nimrod Megiddo estudió extensamente el problema de 1 centro y publicó sobre él al menos cinco veces en la década de 1980. [2] En 1983, propuso un algoritmo de " poda y búsqueda " que encuentra la esfera delimitadora óptima y se ejecuta en tiempo lineal si la dimensión se fija como una constante. Cuando se tiene en cuenta la dimensión, la complejidad del tiempo de ejecución es , [3] [4] lo que resulta poco práctico para aplicaciones de alta dimensión.
En 1991, Emo Welzl propuso un algoritmo aleatorio mucho más simple, generalizando un algoritmo de programación lineal aleatorio de Raimund Seidel . El tiempo de ejecución esperado del algoritmo de Welzl es , que nuevamente se reduce a para cualquier dimensión fija . El artículo proporciona resultados experimentales que demuestran su viabilidad en dimensiones superiores. [5] Un algoritmo determinista más reciente de Timothy Chan también se ejecuta en el tiempo, con una dependencia menor (pero aún exponencial) de la dimensión. [4]
La biblioteca de algoritmos de geometría computacional (CGAL) de código abierto contiene una implementación del algoritmo de Welzl. [6]
En 1990, Jack Ritter propuso un algoritmo simple para encontrar una esfera delimitadora no mínima. [7] Se utiliza ampliamente en diversas aplicaciones por su simplicidad. El algoritmo funciona de esta manera:
El algoritmo de Ritter se ejecuta en el tiempo con entradas que consisten en puntos en un espacio de dimensiones 1 y 2, lo que lo hace muy eficiente. Sin embargo, sólo da un resultado aproximado que suele ser entre un 5% y un 20% mayor que el óptimo. [7]
Bădoiu et al. presentaron una aproximación al problema de la esfera delimitadora, [8] donde una aproximación significa que la esfera construida tiene un radio como máximo , donde es el radio más pequeño posible de una esfera delimitadora.
Un conjunto central es un subconjunto pequeño, en el que una expansión de la solución del subconjunto es una esfera delimitadora del conjunto completo. El conjunto central se construye de forma incremental añadiendo el punto más alejado del conjunto en cada iteración.
Kumar et al. mejoraron este algoritmo de aproximación [9] para que se ejecute en el tiempo .
Fischer et al. (2003) propusieron un solucionador exacto, aunque el algoritmo no tiene un tiempo de ejecución polinomial en el peor de los casos. [10] El algoritmo es puramente combinatorio e implementa un esquema de pivote similar al método simplex para programación lineal , utilizado anteriormente en algunas heurísticas. Comienza con una esfera grande que cubre todos los puntos y la encoge gradualmente hasta que no se puede encoger más. El algoritmo presenta reglas de terminación correctas en casos de degeneraciones, pasadas por alto por autores anteriores; y un manejo eficiente de soluciones parciales, lo que produce una aceleración importante. Los autores verificaron que el algoritmo es eficiente en la práctica en dimensiones bajas y moderadamente bajas (hasta 10.000) y afirman que no exhibe problemas de estabilidad numérica en sus operaciones de punto flotante. [10] Una implementación en C++ del algoritmo está disponible como un proyecto de código abierto. [11]
Larsson (2008) propuso el método de "esfera óptima de puntos extremos" con una aproximación de velocidad a precisión controlable para resolver el problema de la esfera delimitadora. Este método funciona tomando un conjunto de vectores de dirección y proyectando todos los puntos sobre cada vector en ; sirve como una variable de compromiso entre velocidad y precisión. Se aplica un solucionador exacto a los puntos extremos de estas proyecciones. Luego, el algoritmo itera sobre los puntos restantes, si los hay, y hace crecer la esfera si es necesario. Para grandes, este método es órdenes de magnitud más rápido que los métodos exactos, a la vez que brinda resultados comparables. Tiene un tiempo de peor caso de . [1]