Articulo de referencia

Esfera delimitadora

Algunos ejemplos del círculo delimitador más pequeño , el caso de la esfera delimitadora en 2 dimensiones. En matemáticas , dado un conjunto no vacío de objetos de extensión fin...

Algunos ejemplos del círculo delimitador más pequeño , el caso de la esfera delimitadora en 2 dimensiones.

En matemáticas , dado un conjunto no vacío de objetos de extensión finita end{\displaystyle d}espacio -dimensional , por ejemplo un conjunto de puntos, una esfera delimitadora , una esfera envolvente o una bola envolvente para ese conjunto es und{\displaystyle d}Esfera sólida de -dimensiones que contiene todos estos objetos.

Utilizada en gráficos por computadora y geometría computacional , una esfera delimitadora es un tipo especial de volumen delimitador . Existen varios algoritmos rápidos y sencillos para la construcción de esferas delimitadoras, con un alto valor práctico en aplicaciones de gráficos por computadora en tiempo real. [ 1 ]

En estadística e investigación operativa , los objetos suelen ser puntos, y generalmente la esfera de interés es la esfera delimitadora mínima , es decir, la esfera con el radio mínimo entre todas las esferas delimitadoras. Se puede demostrar que dicha esfera es única: si existen dos, los objetos en cuestión se encuentran dentro de su intersección. Sin embargo, la intersección de dos esferas no coincidentes de igual radio está contenida en una esfera de menor radio.

El problema de calcular el centro de una esfera delimitadora mínima también se conoce como el " problema del centro euclidiano 1 sin ponderación ".

Aplicaciones

Agrupamiento

Dichas esferas son útiles para la agrupación , donde se clasifican juntos grupos de puntos de datos similares.

En el análisis estadístico, la dispersión de los puntos de datos dentro de una esfera puede atribuirse a errores de medición o a procesos naturales (generalmente térmicos), en cuyo caso el grupo representa una perturbación de un punto ideal. En ciertas 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 operativa, la agrupación de valores en un punto ideal también puede utilizarse para reducir el número de entradas y obtener valores aproximados para problemas NP-difíciles en un tiempo razonable. El punto elegido no suele ser el centro de la esfera, ya que este puede verse afectado por valores atípicos, sino que se calcula una posición promedio, como un punto de mínimos cuadrados, para representar el grupo.

Algoritmos

Existen algoritmos exactos y aproximados para resolver el problema de la esfera delimitadora.

Programación lineal

Nimrod Megiddo estudió extensamente el problema del centro único 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 la dimensiónd{\displaystyle d}Se tiene en cuenta la complejidad del tiempo de ejecución.O(2O(d2)norte){\displaystyle O(2^{O(d^{2})}n)}, [ 3 ] [ 4 ] lo cual es 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 esO((d+1)(d+1)¡ norte){\displaystyle O((d+1)(d+1)!\ n)}, que nuevamente se reduce aO(norte){\displaystyle O(n)}para cualquier dimensión fijad{\displaystyle d}El artículo proporciona resultados experimentales que demuestran su practicidad en dimensiones superiores. [ 5 ] Un algoritmo determinista más reciente de Timothy Chan se ejecuta enO(d(12+o(1))dnorte){\displaystyle O(d^{\left({\frac {1}{2}}+o(1)\right)d}n)}, reduciendo nuevamente aO(norte){\displaystyle O(n)}tiempo con dimensión fija, con una dependencia menor, pero aún exponencial, de la dimensión. [ 4 ]

La biblioteca de algoritmos de geometría computacional de código abierto (CGAL) contiene una implementación del algoritmo de Welzl. [ 6 ]

Programación de conos de segundo orden

La esfera más pequeña que encierra un conjunto finito de puntos también se puede calcular utilizando optimización convexa , específicamente programación de cono de segundo orden (SOCP). [ 7 ] Este enfoque formula el problema como la minimización del radio de una esfera sujeta a restricciones de segundo orden (cuadráticas) que requieren que cada punto se encuentre dentro o sobre la esfera. Explícitamente, el problema de optimización es:

minimizar: r
sujeto a: || x ic ||₂ ≤ r , para todo i

donde el centro c y el radio r son las variables de optimización, y x i son los puntos de entrada. [ 7 ]

Esta formulación define un problema de optimización convexa que puede resolverse eficientemente utilizando métodos modernos de punto interior y solucionadores SOCP. Si bien este enfoque proporciona una formulación matemática exacta, la solución se calcula típicamente con alta precisión numérica en lugar de precisión de máquina exacta. Por lo tanto, ofrece una alternativa práctica a los algoritmos geométricos, especialmente en dimensiones superiores o al integrarse con otros métodos basados ​​en optimización. [ 7 ]

Esta formulación convexa se analiza en fuentes como el libro de optimización convexa de Boyd y Vandenberghe, y cuenta con amplio soporte en software de optimización convexa como CVX, CVXPY y MOSEK . [ 7 ]

La esfera delimitadora de Ritter

En 1990, Jack Ritter propuso un algoritmo sencillo para encontrar una esfera delimitadora no mínima. [ 8 ] Se utiliza ampliamente en diversas aplicaciones por su simplicidad. El algoritmo funciona de la siguiente manera:

  1. Elige un puntoincógnita{\displaystyle x}dePAG{\displaystyle P}buscar un puntoy{\displaystyle y}enPAG{\displaystyle P}, que tiene la mayor distancia deincógnita{\displaystyle x};
  2. Buscar un puntoz{\displaystyle z}enPAG{\displaystyle P}, que tiene la mayor distancia dey{\displaystyle y}. Prepara una bola inicialB{\displaystyle B}, con su centro como punto medio dey{\displaystyle y}yz{\displaystyle z}, el radio como la mitad de la distancia entrey{\displaystyle y}yz{\displaystyle z};
  3. Si todos los puntos enPAG{\displaystyle P}están dentro de la pelotaB{\displaystyle B}, entonces obtenemos una esfera delimitadora. De lo contrario, seapag{\displaystyle p}ser un punto fuera de la pelota, construye una nueva pelota que cubre ambos puntospag{\displaystyle p}y la bola anterior. Repita este paso hasta que se hayan cubierto todos los puntos.

El algoritmo de Ritter se ejecuta en tiempoO(norted){\displaystyle O(nd)}en entradas que consisten ennorte{\displaystyle n}puntos end{\displaystyle d}espacio de -dimensiones, lo que lo hace muy eficiente. Sin embargo, solo proporciona un resultado aproximado que suele ser entre un 5 % y un 20 % mayor que el óptimo. [ 8 ]

Aproximación basada en conjuntos básicos

Bădoiu et al. presentaron un1+ε{\displaystyle 1+\varepsilon }aproximación al problema de la esfera delimitadora, [ 9 ] donde una1+ε{\displaystyle 1+\varepsilon }La aproximación significa que la esfera construida tiene un radio como máximo(1+ε)r{\displaystyle (1+\varepsilon)r}, dónder{\displaystyle r}es el radio más pequeño posible de una esfera delimitadora.

Un coreset es un subconjunto pequeño, que1+ε{\displaystyle 1+\varepsilon }La expansión de la solución en el subconjunto constituye una esfera delimitadora del conjunto completo. El conjunto central se construye incrementalmente añadiendo el punto más alejado al conjunto en cada iteración.

Kumar et al. mejoraron este algoritmo de aproximación [ 10 ] para que se ejecute en tiempoO(nortedϵ+1ϵ4.5registro1ϵ){\displaystyle O({\frac {nd}{\epsilon }}+{\frac {1}{\epsilon ^{4.5}}}\log {\frac {1}{\epsilon }})}.

El solucionador exacto de Fischer

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. [ 11 ] El algoritmo es puramente combinatorio e implementa un esquema de pivoteo 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 reduce gradualmente hasta que no se puede reducir 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 importante aceleración. 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 presenta problemas de estabilidad numérica en sus operaciones de punto flotante. [ 11 ] Una implementación en C++ del algoritmo está disponible como proyecto de código abierto. [ 12 ]

Puntos extremos de la esfera óptima

Larsson (2008) propuso el método de "esfera óptima de puntos extremos" con velocidad controlable para la aproximación de precisión para resolver el problema de la esfera delimitadora. Este método funciona tomando un conjunto des{\displaystyle s}vectores de dirección y proyectar todos los puntos sobre cada vector ens{\displaystyle s};s{\displaystyle s}sirve como una variable de compromiso velocidad-precisión. Se aplica un solucionador exacto a la2s{\displaystyle 2s}puntos extremos de estas proyecciones. El algoritmo luego itera sobre los puntos restantes, si los hay, expandiendo la esfera si es necesario. Para grandesnorte{\displaystyle n}Este método es órdenes de magnitud más rápido que los métodos exactos, a la vez que proporciona resultados comparables. Tiene un tiempo de caso máximo deO(snorte){\displaystyle O(sn)}. [ 1 ]

Véase también

Referencias

  1. 1 2 Larsson, Thomas (2008), "Esferas delimitadoras rápidas y de ajuste preciso" , SIGRAD 2008: Conferencia anual SIGRAD, Tema especial: Interacción, 27-28 de noviembre de 2008, Estocolmo, Suecia , Actas electrónicas de la conferencia de Linköping, vol.  34, Linköping, Suecia: Universidad de Linköping
  2. "Currículum y publicaciones de Nimrod Megiddo" .
  3. Megiddo, Nimrod (1988). "Programación lineal en tiempo lineal cuando la dimensión es fija" . Journal of the ACM . 33 (1): 114– 147. doi : 10.1145/2422.322418 . S2CID 12686747 . 
  4. 1 2 Chan, Timothy (2018). "Algoritmos deterministas mejorados para programación lineal en dimensiones bajas". ACM Transactions on Algorithms . 14 (3) Artículo 30: 1– 10. doi : 10.1145/3155312 . S2CID 9345339 . 
  5. Welzl, Emo (1991), "Discos envolventes más pequeños (bolas y elipsoides)", en Maurer, Hermann (ed.), Nuevos resultados y nuevas tendencias en informática: Graz, Austria, 20-21 de junio de 1991, Actas , Lecture Notes in Computer Science, vol. 555, Berlín, Alemania: Springer, pp. 359-370 , doi : 10.1007/BFb0038202 , ISBN   3-540-54869-6, MR 1254721 
  6. CGAL 4.3 - Volúmenes delimitadores - Min_sphere_of_spheres_d , recuperado el 30-03-2014.
  7. 1 2 3 4 Boyd, Stephen; Vandenberghe, Lieven (2004). Optimización convexa . Cambridge University Press. ISBN 978-0-521-83378-3.
  8. 1 2 Ritter, Jack (1990), "Una esfera delimitadora eficiente", en Glassner, Andrew S. (ed.), Graphics Gems , San Diego, CA, EE. UU.: Academic Press Professional, Inc., págs. 301–303 , ISBN  0-12-286166-3
  9. Bādoiu, Mihai; Har-Peled, Sariel ; Indyk, Piotr (2002), "Agrupamiento aproximado mediante conjuntos centrales" (PDF) , Actas del Trigésimo Cuarto Simposio Anual de la ACM sobre Teoría de la Computación , Nueva York, NY, EE. UU.: ACM, págs. 250–257 , CiteSeerX 10.1.1.4.9395 , doi : 10.1145/509907.509947 , ISBN   1-58113-495-9, MR 2121149 , S2CID 5409535  
  10. Kumar, Piyush; Mitchell, Joseph SB ; Yıldırım, E. Alper (2003), "Cálculo de conjuntos centrales e hiperesferas envolventes más pequeñas aproximadas en altas dimensiones", en Ladner, Richard E. (ed.), Actas del Quinto Taller sobre Ingeniería y Experimentos de Algoritmos, Baltimore, MD, EE. UU., 11 de enero de 2003 , Filadelfia, PA, EE. UU.: SIAM, págs . 45–55 
  11. 1 2 Fischer, Kaspar; Gärtner, Bernd; Kutz, Martin (2003), "Cálculo rápido de la bola envolvente más pequeña en altas dimensiones" (PDF) , en Battista, Giuseppe Di; Zwick, Uri (eds.), Algoritmos: ESA 2003, 11.º Simposio Europeo Anual, Budapest, Hungría, 16-19 de septiembre de 2003, Actas (PDF) , Lecture Notes in Computer Science, vol. 2832, Springer, Berlín, pp. 630–641 , doi : 10.1007/978-3-540-39658-1_57 , ISBN   978-3-540-20064-2
  12. proyecto de código abierto miniball
  • Problema del círculo más pequeño que encierra un conjunto de puntos: describe varios algoritmos para encerrar un conjunto de puntos, incluido el algoritmo de tiempo lineal de Megiddo.