Problema del par de puntos más cercano

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Pareja más cercana de puntos mostrados en rojo

El par más cercano problema de puntos o problema pareja más cercano es un problema de la geometría computacional: dado puntos en el espacio métrico, encontrar un par de puntos con la distancia más pequeña entre ellos. El problema de par más cercano para puntos en el plano Euclidean fue uno de los primeros problemas geométricos que fueron tratados en los orígenes del estudio sistemático de la complejidad computacional de los algoritmos geométricos.

Los límites del tiempo

Los algoritmos aleatorios que resuelven el problema en tiempo lineal son conocidos, en espacios euclidianos cuya dimensión se trata como una constante para los fines del análisis asintotico. Esto es significativamente más rápido que el tiempo (expresado aquí en gran notación O) que sería obtenido por un algoritmo ingenuo de encontrar distancias entre todos los pares de puntos y seleccionar el más pequeño.

También es posible resolver el problema sin aleatorización, en modelos de máquina de acceso aleatorio de computación con memoria ilimitada que permiten el uso de la función del suelo, en línea cercana tiempo. En modelos aún más restringidos de computación, como el árbol de decisión algebraica, el problema se puede resolver en el algo más lento tiempo límite, y esto es óptimo para este modelo, por una reducción del problema de la singularidad del elemento. Tanto algoritmos de línea de barrido como algoritmos de división y conquista con este tiempo más lento se enseñan comúnmente como ejemplos de estas técnicas de diseño del algoritmo.

algoritmos aleatorizados a tiempo lineal

Un algoritmo aleatorizado de tiempo esperado lineal de Rabin (1976), modificado ligeramente por Richard Lipton para facilitar su análisis, procede como sigue, en un conjunto de entrada consistente en puntos en un -dimensional Espacio euclidiano:

  1. Seleccione pares de puntos uniformemente al azar, con reemplazo, y dejar ser la distancia mínima de los pares seleccionados.
  2. Redondear los puntos de entrada a una rejilla cuadrada de puntos cuyo tamaño (la separación entre puntos de rejilla adyacentes) es , y utilizar una tabla de hash para reunir pares de puntos de entrada que rondan al mismo punto de rejilla.
  3. Para cada punto de entrada, computar la distancia a todas las entradas que redondeen al mismo punto de rejilla o a otro punto de rejilla dentro del barrio de Moore puntos de rejilla circundantes.
  4. Devuelve las distancias más pequeñas calculadas a lo largo de este proceso.

El algoritmo siempre determinará correctamente el par más cercano, porque mapea cualquier par más cerca que la distancia al mismo punto de rejilla o a puntos de rejilla adyacentes. El muestreo uniforme de pares en el primer paso del algoritmo (en comparación con un método diferente de Rabin para muestrear un número similar de pares) simplifica la prueba de que el número esperado de distancias computadas por el algoritmo es lineal.

En cambio, un algoritmo diferente Khuller & Matias (1995) pasa por dos fases: un proceso de filtrado iterado aleatorio que aproxima la distancia más cercana a una relación de aproximación de , junto con un paso final que convierte esta distancia aproximada en la distancia exacta más cercana. El proceso de filtrado repite los siguientes pasos, hasta se vacía:

  1. Elige un punto uniformemente al azar .
  2. Computar las distancias desde a todos los demás puntos y dejar ser el mínimo de tal distancia.
  3. Redondear los puntos de entrada a una cuadrícula cuadrada de tamaño , y eliminar de todos los puntos cuyo barrio de Moore no tiene otros puntos.

La distancia aproximada encontrada por este proceso de filtrado es el valor final de , computado en el paso anterior se vuelve vacío. Cada paso elimina todos los puntos cuyo vecino más cercano está a distancia o mayor, al menos la mitad de los puntos en espera, de los cuales sigue que el tiempo total esperado para el filtrado es lineal. Una vez un valor aproximado es conocido, se puede utilizar para los pasos finales del algoritmo de Rabin; en estos pasos cada punto de rejilla tiene un número constante de entradas redondeadas a él, así que de nuevo el tiempo es lineal.

Problema dinámico de pago más cercano

La versión dinámica del problema del par más cercano se enuncia de la siguiente manera:

  • Dado un conjunto dinámico de objetos, encontrar algoritmos y estructuras de datos para la recalculación eficiente del par más cercano de objetos cada vez que se insertan o eliminan los objetos.

Si la caja de fijación para todos los puntos es conocida por adelantado y la función de suelo de tiempo constante está disponible, entonces la espera - Se sugirió que la estructura de datos espaciales apoyaba el tiempo previsto inserciones y eliminaciones y tiempo de consulta constante. Cuando se modifique para el modelo de árbol de decisión algebraico, las inserciones y eliminaciones requerirían Tiempo esperado. La complejidad del algoritmo de par más dinámico citado anteriormente es exponencial en la dimensión , y por lo tanto tal algoritmo se hace menos adecuado para problemas de alta dimensión.

Un algoritmo para el problema de pago más dinámico en dimensional space was developed by Sergey Bespamyatnikh in 1998. Se pueden insertar y eliminar puntos en tiempo por punto (en el peor caso).

Véase también

  • GIS
  • Búsqueda más cercana

Notas

  1. ^ Shamos, Michael Ian; Hoey, Dan (1975). "Problemas de punto cerrado". 16o Simposio Anual sobre Fundaciones de Ciencias de la Computación, Berkeley, California, USA, 13-15 de octubre, 1975. IEEE Computer Society. pp. 151 –162. doi:10.1109/SFCS.1975.8.
  2. ^ Rabin, M. (1976). " algoritmos probabilísticos". Algoritmos y complejidad: Resultados recientes y nuevas direcciones. Prensa Académica. pp. 21 –39. As cited by Khuller " Matias (1995).
  3. ^ a b Khuller, Samir; Matias, Yossi (1995). "Un simple algoritmo aleatorizado de sieve para el problema más cercano". Información y comunicación. 118 1): 34–37. doi:10.1006/inco.1995.1049MR 1329236. S2CID 206566076.
  4. ^ a b Lipton, Richard (24 de septiembre de 2011). "Rabin Flips a Coin". La carta perdida de Gödel y P=NP.
  5. ^ Fortuna, Steve; Hopcroft, John (1979). "Una nota sobre el algoritmo de vecinos más cercano de Rabin". Cartas de procesamiento de información. 8 1): 20-23. doi:10.1016/0020-0190(79)90085-1. hdl:1813/7460MR 0515507.
  6. ^ Clarkson, Kenneth L. (1983). "Los algoritmos rápidos para el problema de todos los vecinos más cercanos". 24o Simposio Anual sobre Fundaciones de Ciencias Informáticas, Tucson, Arizona, USA, 7-9 noviembre 1983. IEEE Computer Society. pp. 226 –232. doi:10.1109/SFCS.1983.16. ISBN 0-8186-0508-1.
  7. ^ Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001) [1990]. "33.4: Encontrar el par más cercano de puntos". Introducción a los algoritmos (2a edición). MIT Prensa y McGraw-Hill. pp. 957 –961. ISBN 0-262-03293-7.
  8. ^ Kleinberg, Jon M.; Tardos, Éva (2006). "5.4 Encontrar el par más cercano de puntos". Algorithm Design. Addison-Wesley. pp. 225 –231. ISBN 978-0-321-37291-8.
  9. ^ Golin, Mordecai; Raman, Rajeev; Schwarz, Christian; Smid, Michiel (1998). "Estructuras de datos optimizadas para el problema dinámico más cercano" (PDF). SIAM Journal on Computing. 27 4): 1036 –1072. doi:10.1137/S0097539794277718. MR 1622005. S2CID 1242364.
  10. ^ Bespamyatnikh, S. N. (1998). "Un algoritmo óptimo para el mantenimiento más cercano". Discreta " Computacional " Geometría. 19 2): 175–195. doi:10.1007/PL00009340MR 1600047.
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save