Está en la página 1de 4

Suscríbete a DeepL Pro para poder editar este documento.

Entra en www.DeepL.com/pro para más información.

4.1. El algoritmo del árbol NB

El NB-Tree proporciona un medio simple y compacto para indexar puntos de datos de alta
dimensión. Utilizamos una eficiente estructura de datos 1D, el B+-Tree, para indexar los puntos
ordenados por su norma euclidiana (Norm+ B+-Tree=NB-Tree). Para lograr flexibilidad utilizamos la
reducción de dimensiones: los puntos multidimensionales son mapeados a una línea recta 1D
computando su Norma Euclidiana. El segundo paso es clasificarlos por norma euclidiana, usando
un B+-Árbol. De esta manera, todas las operaciones se realizan en el B+-Árbol. Como esta es la
estructura 1D más eficiente, el Árbol-NB hereda su buen rendimiento, específicamente para
consultas puntuales. 4.1.1. Creando un NB-Tree Para crear un NB-Tree, comenzamos computando
la norma euclidiana de cada punto N-dimensional del conjunto de datos, usando la fórmula

donde : La norma resultante y el punto N-dimensional se insertan en un B+-Árbol, usando la


norma como clave. Después de la inserción de todos los puntos obtenemos un conjunto de puntos
N-dimensionales ordenados por su valor de norma. La Fig. 6 muestra un ejemplo de la reducción
de dimensiones para los puntos 2D, mientras que la Fig. 7 presenta el seudocódigo para
implementar el algoritmo de inserción.

4.1.2. Buscando en

El proceso de búsqueda en el NB-Tree comenzó computando la norma del punto de consulta.


Luego realizamos una búsqueda en el Árbol 1D B+. Los siguientes pasos de búsqueda dependerán
del tipo de consulta. Las estructuras de indexación actuales suelen admitir tres tipos de consultas.
La primera es la consulta de punto, que comprueba si un punto específico pertenece o no a la base
de datos. El segundo tipo de consulta, Range Query, devuelve los puntos dentro de un rango
específico de valores. En nuestro caso ese rango será especificado por una hiperbola. Finalmente,
la consulta KNN (K vecinos más cercanos) devuelve los K vecinos más cercanos del punto de
consulta. Esta es la consulta más utilizada en la recuperación basada en el contenido y es la que
describimos con más detalle en este documento, porque es utilizada intensamente por nuestro
componente de correspondencia.

Comenzamos la búsqueda de KNN haciendo una consulta de la bola (bola pequeña en la Fig. 8).
Después de esta consulta de la bola, comprobamos si tenemos suficientes puntos dentro de la
bola para satisfacer la consulta. Si no es así, comenzamos un proceso iterativo, en el que el
tamaño de la bola aumenta gradualmente hasta que obtenemos todos los puntos especificados
por la consulta. La Fig. 8 ilustra la búsqueda de KNN (en 2D), mientras que la Fig. 9 presenta el
seudo-código del algoritmo KNN.

Para mejorar el rendimiento de nuestro algoritmo, asumimos que los vecinos más cercanos no
estarán más lejos que una distancia dada del punto de consulta (bola más grande en la Fig. 8). De
esta manera almacenamos menos resultados intermedios, acelerando el proceso de búsqueda. La
distancia utilizada para podar los resultados intermedios depende del número de puntos de la
estructura y crece logarítmicamente con la dimensión de los puntos de datos.

4.2. Evaluación del desempeño

Mientras que nuestro enfoque parece producir tiempos conmensurables a otras estructuras
probadas, tuvimos dificultades para compararlo con otros enfoques, a saber, el Árbol del CI. De
hecho, las implementaciones disponibles no proporcionaron los resultados correctos y por lo tanto
es difícil comparar los tiempos de ejecución que parecen ser conmensurables. Se disponía de
implementaciones de otros enfoques populares, pero algunas de ellas se estrellaron en conjuntos
de datos de tamaño significativo, lo que impidió la comparación. Elegimos la Técnica del Árbol y la
Pirámide como punto de referencia porque hay implementaciones fiables y estables, que
proporcionan resultados correctos y se escalan a los tamaños de los datos de prueba previstos.

En esta sección, describimos la evaluación experimental realizada para comparar nuestro Árbol NB
con el Árbol SRT y la Técnica de la Pirámide. Realizamos un conjunto de experimentos para
analizar los tiempos de creación y de consulta en función de la dimensión y el tamaño del conjunto
de datos. Todos los experimentos se realizaron en un PC Pentium II a 233 MHz con Linux 2.4.8, con
384 MB de RAM y 15 GB de disco. Evaluamos las tres estructuras utilizando conjuntos de datos de
puntos de datos distribuidos uniformemente generados al azar de tamaño fijo (100.000) y
dimensión variable (10, 20, 30, 40, 60, 80 y 100). También creamos conjuntos de datos de
dimensión fija (20) y de tamaño variable (250.000, 500.000, 750.000 y 1.000.000). Además,
generamos aleatoriamente un conjunto de 100 consultas para cada dimensión, que luego
utilizamos para evaluar el rendimiento de la búsqueda de cada enfoque. Seleccionamos que el
número de vecinos más cercanos a buscar fuera siempre 10. Sin embargo, estos conjuntos de
datos, al ser generados a partir de coordenadas uniformemente distribuidas, no parecen ser
exactamente representativos de los datos del "problema real". Planeamos realizar otra evaluación
experimental tan pronto como tengamos acceso a los conjuntos de datos reales. Sin embargo,
podemos considerar que la distribución uniforme de los puntos es un caso peor que los datos
reales, porque los ''datos reales'' tienden a concentrarse en grupos, por lo que se requieren bolas
más pequeñas para capturar a los vecinos más cercanos.

A continuación presentamos los resultados de nuestra evaluación experimental de los datos


uniformes, organizados por tiempos de creación y búsqueda de KNN.

4.2.1. Creación
La mayoría de los trabajos publicados tienden a ignorar los tiempos de inserción. Esto se debe a
que los escenarios convencionales se centran en grandes bases de datos estáticas que se
consultan con mucha más frecuencia que se actualizan. Sin embargo, hay muchas aplicaciones que
requieren una actualización frecuente de los conjuntos de datos. Para éstas, los tiempos de
inserción bajos son un factor importante de utilidad.

Hemos comparado los tiempos de creación con los del Árbol SR y de la Técnica de la Pirámide. La
Fig. 10 muestra el tiempo empleado en crear cada estructura cuando la dimensión de los datos
cambia. Como podemos ver, el NBTree supera en gran medida al SR-Tree y a la Técnica de las
Pirámides. Mientras que la Técnica de la Pirámide tarda 6 s en insertar 100.000 puntos de la
dimensión 10, el NB-Tree tarda 24 s y el SR-Tree 23 min. Si ahora consideramos dimensiones más
altas, como la 80, la diferencia aumenta aún más con la Técnica de la Pirámide que tarda 31 s, el
Árbol del NB que tarda 2 min. y el Árbol SR que tarda 40 min.

En la Fig. 11, podemos ver el tiempo para la misma acción, ahora con el cambio de tamaño del
conjunto de datos. Aunque todas las estructuras presentan un crecimiento lineal con el tamaño
del conjunto de datos, los tiempos de creación de la TERRA crecen más rápido que los de las otras
estructuras. Mientras que la Técnica de Pirámide no requiere más de 2 min para crear un árbol con
un millón de puntos de datos, el Árbol del NB requiere 15 min y el Árbol-SR tarda alrededor de 6 h.
De esta observación se desprende claramente que el Árbol del NB y la Técnica de Pirámide son
más adecuados para grandes conjuntos de datos que el Árbol-SR.

En resumen, y mirando las Figs. 10 y 11, podemos decir que la Técnica de la Pirámide y el Árbol NB
tienen tiempos de creación muy similares mientras que superan ampliamente al Árbol SR.

No pudimos crear el árbol SR para el conjunto de datos de la dimensión 100, en nuestro sistema,
debido a las necesidades de memoria. Por lo tanto, en los siguientes gráficos de rendimiento no
mostramos los valores de la dimensión 100 correspondientes al SR-Tree.

4.2.2. Búsqueda KNN

Las consultas del vecino más cercano son útiles cuando queremos ver el punto del conjunto de
datos que más se aproxima a la consulta.

La Fig. 12 muestra el rendimiento de las búsquedas del vecino más cercano cuando la dimensión
aumenta. Podemos ver que el NB-Tree supera a la Técnica de la Pirámide y al SR-Tree para
cualquier dimensión del conjunto de datos. Nuestro enfoque calcula los 10 vecinos más cercanos
en menos de 1 s para dimensiones de hasta 40 y menos de 2 s para dimensiones de hasta 100.
Además, podemos observar que el Árbol NB parece presentar un comportamiento asintótico con
la dimensión mientras que el Árbol SR parece exhibir al menos un crecimiento cuadrático.

Como podemos ver en la Fig. 13, nuestro enfoque también supera tanto a la Técnica de la
Pirámide como al Árbol-SR para un tamaño de conjunto de datos variable. El Árbol NB exhibe un
crecimiento lineal con el tamaño del conjunto de datos, mientras que las otras estructuras crecen
más rápido cuando el tamaño del conjunto de datos aumenta
En resumen, el Árbol NB presenta un buen equilibrio entre los tiempos de creación y de búsqueda,
superando claramente algunas de las mejores estructuras de indexación disponibles, para datos
distribuidos uniformemente. Se puede argumentar que representan un caso peor que, digamos,
los datos (hiper)distribuidos normalmente, en el sentido de que necesitamos utilizar bolas más
grandes para garantizar estadísticamente que capturamos suficientes puntos para satisfacer la
consulta inicial del KNN.

5. 5. Conclusiones y trabajo futuro

Hemos presentado un enfoque de indexación multidimensional adecuado para la recuperación


basada en el contenido de gráficos y dibujos estructurados. El enfoque se centra en la refundición
del problema general de coincidencia de gráficos como un ejemplo de coincidencia de gráficos.
Para ello, indexamos los dibujos utilizando un gráfico de topología que describe las relaciones de
adyacencia y contención de los bloques de dibujo. Luego transformamos estos gráficos en
vectores descriptivos de manera similar al hash para evitar la necesidad de realizar costosos
cálculos de isomorfismo de gráficos en grandes bases de datos, utilizando un método estable.
Finalmente, una búsqueda KNN sobre grandes bases de datos proporciona los medios para
recuperar eficientemente los sub-dibujos que coinciden con una consulta dada en términos de su
topología. Para optimizar esta etapa, hemos desarrollado un método rápido pero simple para
indexar grandes bases de datos que es flexible y se escala mejor que otros métodos conocidos.
Mediante un procedimiento de filtrado adecuado, confiamos en que seremos capaces de tamizar
unas pocas muestras significativas de grandes bases de datos de documentos gráficos
estructurados utilizando únicamente información gráfica. Aunque queda trabajo por hacer en las
etapas iniciales, de la tubería de consulta y clasificación, confiamos en la capacidad de extender
este enfoque a otras clases de datos gráficos, como las superficies, que no sean dibujos vectoriales
estructurados.

También podría gustarte