next up previous contents
Next: Ejemplo Up: Encontrando todos los vecinos Previous: Encontrando todos los vecinos   Índice General

Desarrollo del algoritmo

Introducimos una técnica que acelera el proceso para encontrar los $K$ vecinos más cercanos de todos los elementos de una base de datos, la idea es indexar este conjunto de puntos con un algoritmo de pivotes como el FQTrie conservando las ventajas del FQA y mejorando algunas de ellas, además la complejidad de este algoritmo es lineal en su construcción, posteriormente usar está para encontrar los $K$ vecinos más cercanos de cada punto.

La idea principal del algoritmo es, realizar una consulta de rango con un radio $r$, para cada elemento, es decir, se hacen $n$ consultas de rango con radio r, es importante enfatizar que para cada punto se utilizan los mismos pivotes usados para generar el índice.

La estructura auxiliar (cola de prioridad) usada para el desarrollo del algoritmo consiste en mantener para cada punto al menos los $K$ elementos más cercanos durante el proceso, manteniendo un radio máximo, el cual corresponde al elemento más alejado y es precisamente el que esta en el tope de la cola de prioridad. Como primer paso la cola de prioridad es inicializada usando los pivotes (puesto que estos puntos conocen todas las distancias a los demás puntos, véase la figura [*]) y cada una de las colas de prioridad para los puntos que no son pivotes son rellenadas con los $K$ pivotes más cercanos véase esto en la figura [*], con esto se asegura que los $K$ vecinos más cercanos estén dentro del radio inicial, el cual está acotado por los pivotes, véase la figura [*]

A continuación se presentan de manera detallada las ideas mencionadas anteriormente.

Es importante enfatizar que, debido a las características del algoritmo, este puede ser detenido en cualquier momento y se tendría una muy buena aproximación de todos los $K$ vecinos más cercanos, puesto que se mantienen siempre al menos $K$ elementos más cercanos durante el desarrollo del algoritmo.


next up previous contents
Next: Ejemplo Up: Encontrando todos los vecinos Previous: Encontrando todos los vecinos   Índice General
Karina Mariela Figueroa Mora 2001-07-02